name: Logseq Excalidraw to SVG description: Converts excalidraw to svg references inputs: dark-mode: 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 }} ref: "${{ inputs.asset-repo-branch }}" path: svg-repo - run: mkdir -p svg-repo/svg-assets shell: bash - name: Start containers run: docker-compose -f "${{ github.action_path }}/docker-compose.yml" up -d --build shell: bash - run: bash "${{ github.action_path }}/wait_for_kroki.sh" shell: bash - 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](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 shell: bash