diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..17953e6 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,67 @@ +name: Release Obsidian Plugin + +on: + push: + tags: + - "v*" + +permissions: + contents: write + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 20 + cache: npm + + - name: Install dependencies + run: npm install + + - name: Build plugin + run: npm run build + + - name: Determine if beta release + id: check_beta + run: | + TAG="${GITHUB_REF#refs/tags/}" + if [[ "$TAG" == *"beta"* ]]; then + echo "is_beta=true" >> "$GITHUB_OUTPUT" + else + echo "is_beta=false" >> "$GITHUB_OUTPUT" + fi + echo "tag=$TAG" >> "$GITHUB_OUTPUT" + + - name: Create GitHub Release (stable) + if: steps.check_beta.outputs.is_beta == 'false' + uses: softprops/action-gh-release@v2 + with: + tag_name: ${{ steps.check_beta.outputs.tag }} + name: ${{ steps.check_beta.outputs.tag }} + draft: false + prerelease: false + files: | + main.js + styles.css + manifest.json + + - name: Create GitHub Release (beta) + if: steps.check_beta.outputs.is_beta == 'true' + uses: softprops/action-gh-release@v2 + with: + tag_name: ${{ steps.check_beta.outputs.tag }} + name: ${{ steps.check_beta.outputs.tag }} + draft: false + prerelease: true + files: | + main.js + styles.css + manifest.json + manifest-beta.json diff --git a/README.md b/README.md index decabdc..2d88c08 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,16 @@ Integrate Microsoft's [Markitdown](https://github.com/microsoft/markitdown) tool 2. Enable the plugin in Obsidian's settings 3. The plugin will guide you through installing the Markitdown Python package +## Beta Testing + +You can get early access to new features by installing beta releases via [BRAT](https://github.com/TfTHacker/obsidian42-brat) (Beta Reviewers Auto-update Tester): + +1. Install the BRAT plugin from the Obsidian Community Plugins browser +2. Enable BRAT in your Obsidian settings +3. In BRAT settings, click **Add Beta Plugin** +4. Enter: `ethanolivertroy/obsidian-markitdown` +5. BRAT will install the latest beta release and keep it updated automatically + ## Requirements - Obsidian v0.15.0 or higher diff --git a/manifest-beta.json b/manifest-beta.json new file mode 100644 index 0000000..26c55c0 --- /dev/null +++ b/manifest-beta.json @@ -0,0 +1,10 @@ +{ + "id": "markitdown", + "name": "Markitdown File Converter", + "version": "2.1.0-beta.1", + "minAppVersion": "0.15.0", + "description": "Convert PDFs, Office documents, images, and other file formats to Markdown using Microsoft's Markitdown tool", + "author": "Ethan Troy", + "authorUrl": "https://github.com/ethanolivertroy", + "isDesktopOnly": true +}