Skip to content

varunsridharan/action-hashnode-blog

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

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

  • ⭐ This repository if this project helped you! 😉
  • Create An 🔧 Issue if you need help / found a bug

💰 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.

  • ☕ How about we get to know each other over coffee? Buy me a cup for just $9.99
  • ☕️☕️ How about buying me just 2 cups of coffee each month? You can do that for as little as $9.99
  • 🔰 We love bettering open-source projects. Support 1-hour of open-source maintenance for $24.99 one-time?
  • 🚀 Love open-source tools? Me too! How about supporting one hour of open-source development for just $49.99 one-time ?

Connect & Say 👋


Built With ♥ By Varun Sridharan