varunsridharan / action-hashnode-blog

Fetch & Display Your Hashnode blog posts.
https://github.com/marketplace/actions/hashnode-blog
MIT License
34 stars 9 forks source link
actions blog github github-action github-action-nodejs github-actions hashnode hashnode-blog pinned-gist

Hashnode Blogs - Github Action

~ Fetch & Display Your Latest Blog Posts From Hashnode ~

βš™οΈ Configuration

Option Description Default
TYPE Set this to GIST if you want to display latest posts in a pinned gists REPOSITORY
FILE Provide file location or provide GIST ID if TYPE set to GIST README.md
USERNAME Your Hashnode Username -
BLOG_URL Your blog url. you can leave it empty to auto generate. but if you are facing any issue with auto generated link. make sure to provide your blog url here. -
STYLE Options : list, list-ordered, blog, blog-right, blog-left, blog-alternate, blog-grid list
COUNT No of latest posts to display 6

Please check the Demo Repository to preview all possible Styles


πŸš€ Usage

πŸ’Ύ In Repository File

1. Add The Below Content To Your README.md / Any file you want to showcase

## My Latest Blog Posts πŸ‘‡
<!-- HASHNODE_BLOG:START -->
<!-- HASHNODE_BLOG:END -->

2. Configure The Worklfow

name: "πŸ“š Blog Updater"

on:
  workflow_dispatch:
  schedule:
    - cron: '0 0 * * *' # Runs Every Day

jobs:
  update_blogs:
    name: "Update Blogs"
    runs-on: ubuntu-latest
    steps:
      - name: "πŸ“₯  Fetching Repository Contents"
        uses: actions/checkout@main

      - name: "πŸ“š  Hashnode Updater"
        uses: "varunsridharan/action-hashnode-blog@main"
        with:
          USERNAME: 'your-username' # Hashnode Username
          BLOG_URL: 'your-blog-url' # Blog URL
          COUNT: 10 # MAX Visisble
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

πŸ“Œ In Pinned Gists

  1. Create a new public GitHub Gist (https://gist.github.com/)
  2. Create a token with the gist scope.
  3. Create a secret πŸ”‘ by going to GitHub repo > Settings > Secrets > New secret with the following:
    1. Name : GIST_TOKEN
    2. Value : The token with the gist scope generated previously.
name: "πŸ“š Blog Updater"

on:
  workflow_dispatch:
  schedule:
    - cron: '0 0 * * *' # Runs Every Day

jobs:
  update_blogs:
    name: "Update Blogs"
    runs-on: ubuntu-latest
    steps:
      - name: "πŸ“š  Hashnode Updater"
        uses: "varunsridharan/action-hashnode-blog@main"
        with:
          USERNAME: 'your-username' # Hashnode Username
          COUNT: 5 # MAX Visisble
          FILE: "88ca4064876a7971a1c61e8e19e42b98" # GIST ID
          TYPE: "gist"
        env:
          GITHUB_TOKEN: ${{ secrets.GIST_TOKEN }} # Personal Access Token With Gists Scope

πŸ“ Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Checkout CHANGELOG.md

🀝 Contributing

If you would like to help, please take a look at the list of issues.

πŸ“œ License & Conduct

πŸ“£ Feedback

πŸ’° Sponsor

I fell in love with open-source in 2013 and there has been no looking back since! You can read more about me here. If you, or your company, use any of my projects or like what I’m doing, kindly consider backing me. I'm in this for the long run.

Connect & Say πŸ‘‹


Built With β™₯ By Varun Sridharan