The Gistblog GitHub Action is part of an opinionated setup that lets you use GitHub Gists as a blogging engine. I strongly urge you to read this first. You can also checkout this blogpost for more info about Gistblog.
This action expects three things in order: a GitHub Personal Access Token with "gist" scope, either the "create" or "update" command, and a space delimited list of blog post (markdown) files to process. Create a secret within the repo you're using named GISTS_TOKEN and store the value of the aforementioned personal access token. The secret can be securely accessed as shown in the below examples.
- description: A valid GitHub Personal Access Token with "gist" scope.
- required: true
- description: The operation to perform either "create" or "update".
- required: true
- description: A space delimited list of files to process.
- required: true
None.
As per the opinionated setup guide, the best way to consume this action is by including it in a workflow that will find the appropriate files to manage as blog posts and feed them into this action for handling the Gists. The full Gistblog workflow is:
name: Gistblog on: push: branches: - main jobs: gistblog: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: dorny/paths-filter@v2 id: blog with: list-files: shell filters: | create_blog: - added: 'blog/*.md' update_blog: - modified: 'blog/*.md' - if: steps.blog.outputs.create_blog == 'true' uses: seajoshc/gistblog-action@v1 with: gists-token: ${{ secrets.GISTS_TOKEN }} operation: create blog-files: "${{ steps.blog.outputs.create_blog_files }}" - if: steps.blog.outputs.update_blog == 'true' uses: seajoshc/gistblog-action@v1 with: gists-token: ${{ secrets.GISTS_TOKEN }} operation: update blog-files: "${{ steps.blog.outputs.update_blog_files }}"But the most basic usage examples would be:
uses: seajoshc/gistblog-action@v1 with: gists-token: ${{ secrets.GISTS_TOKEN }} operation: create blog-files: "blog/filename.md"uses: seajoshc/gistblog-action@v1 with: gists-token: ${{ secrets.GISTS_TOKEN }} operation: update blog-files: "blog/filename.md blog/otherfile.md"