diff --git a/action.yml b/action.yml index cc96d10..e17fd25 100644 --- a/action.yml +++ b/action.yml @@ -5,9 +5,21 @@ inputs: description: If drawings should be exported in dark mode required: false default: 'false' + asset-repo: + description: Repository to store svg assets in + required: ture + asset-repo-branch: + description: The branch to store the svg assets in + required: true runs: using: composite steps: + - name: Check out logseq-tenset-theme repo + uses: actions/checkout@v4 + with: + repository: "${{ inputs.asset-repo }}@${{ inputs.asset-repo-branch }}" + path: svg-repo + - run: mkdir -p svg-repo/svg-assets - name: Start containers run: docker-compose -f "${{ github.action_path }}/docker-compose.yml" up -d --build shell: bash @@ -16,8 +28,25 @@ runs: - name: Creating SVG files run: (cd "${{ github.workspace }}" && find . -type f -name '*.excalidraw' -exec bash "${{ github.action_path }}/to_svg.sh" "{}" ${{ inputs.dark-mode == 'true' }} ";") shell: bash + - uses: EndBug/add-and-commit@v9 # You can change this to use a specific version. + with: + # The arguments for the `git add` command (see the paragraph below for more info) + # Default: '.' + add: 'svg-assets' + + # The name of the user that will be displayed as the author of the commit. + # Default: depends on the default_author input + author_name: logseq-publish-excalidraw-to-svg + + # The email of the user that will be displayed as the author of the commit. + # Default: depends on the default_author input + author_email: mail@lu-dev.de + + # The local path to the directory where your repository is located. You should use actions/checkout first to set it up. + # Default: '.' + cwd: 'svg-repo' - name: Replace excalidraw file references - run: find "${{ github.workspace }}" -type f -name '*.md' -exec sed -ri 's|\[\[(.*\.excalidraw)\]\]|![\1](assets/autogen/\1.svg)|g' "{}" ";" + run: find "${{ github.workspace }}" -type f -name '*.md' -exec sed -ri 's|\[\[(.*\.excalidraw)\]\]|![\1](https://raw.githubusercontent.com/${{ inputs.asset-repo }}/${{ inputs.asset-repo-branch }}/svg-assets/\1.svg)|g' "{}" ";" shell: bash - name: Stop containers run: docker-compose -f "${{ github.action_path }}/docker-compose.yml" down diff --git a/to_svg.sh b/to_svg.sh index b8472f5..b0d73de 100755 --- a/to_svg.sh +++ b/to_svg.sh @@ -3,5 +3,5 @@ EXCALIDRAW="$(jq '{"type": .type, "version": .version, "source": .source, "eleme ENCODED="$(echo $EXCALIDRAW | python -c "import sys; import base64; import zlib; print(base64.urlsafe_b64encode(zlib.compress(sys.stdin.read().encode('utf-8'), 9)).decode('ascii'))")" echo ::debug::'$ENCODED' "$ENCODED" docker ps -mkdir -p "assets/autogen/$(dirname $1)" -curl "localhost:8080/excalidraw/svg/$ENCODED" > "assets/autogen/$1.svg" +mkdir -p "svg-repo/svg-assets/$(dirname $1)" +curl "localhost:8080/excalidraw/svg/$ENCODED" > "svg-repo/svg-assets/$1.svg"