{"id":46686932,"url":"https://github.com/raunakgurud09/hashnode-publish","last_synced_at":"2026-03-09T02:12:15.834Z","repository":{"id":219606558,"uuid":"749447102","full_name":"raunakgurud09/hashnode-publish","owner":"raunakgurud09","description":"Action to publish blog on hashnode","archived":false,"fork":false,"pushed_at":"2024-01-31T14:01:25.000Z","size":1920,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-24T22:19:41.774Z","etag":null,"topics":["actions","github","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raunakgurud09.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2024-01-28T16:04:57.000Z","updated_at":"2024-03-29T11:59:31.000Z","dependencies_parsed_at":"2024-01-28T17:44:50.227Z","dependency_job_id":"af29a049-89ea-4d55-b602-eb5d73a81ee9","html_url":"https://github.com/raunakgurud09/hashnode-publish","commit_stats":null,"previous_names":["raunakgurud09/hashnode-publish"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/raunakgurud09/hashnode-publish","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raunakgurud09%2Fhashnode-publish","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raunakgurud09%2Fhashnode-publish/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raunakgurud09%2Fhashnode-publish/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raunakgurud09%2Fhashnode-publish/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raunakgurud09","download_url":"https://codeload.github.com/raunakgurud09/hashnode-publish/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raunakgurud09%2Fhashnode-publish/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30280359,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T01:43:35.720Z","status":"online","status_checked_at":"2026-03-09T02:00:08.011Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions","github","typescript"],"created_at":"2026-03-09T02:12:11.309Z","updated_at":"2026-03-09T02:12:15.826Z","avatar_url":"https://github.com/raunakgurud09.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build \u0026 lint](https://github.com/raunakgurud09/hashnode-publish/actions/workflows/test.yml/badge.svg)](https://github.com/raunakgurud09/hashnode-publish/actions/workflows/test.yml)\n[![Build \u0026 lint](https://github.com/raunakgurud09/hashnode-publish/actions/workflows/build.yml/badge.svg)](https://github.com/raunakgurud09/hashnode-publish/actions/workflows/build.yml)\n\n# hashnode-publish\n\nThis enables your workflow to seamlessly publish your Markdown file to Hashnode upon each push event. The only requirement is your authentication key, and the workflow ensures that a blog post is automatically published on push. This mechanism serves as a reliable backup and is designed for user-friendly functionality.\n\n# What's new\n\nPlease refer to the [release page](https://github.com/raunakgurud09/hashnode-publish/releases/latest) for the latest release notes.\n\n# Usage\n\n\u003c!-- start usage --\u003e\n```yaml\n- name: Hashnode publish\n  uses: raunakgurud09/hashnode-publish@v0.0.1\n  with:\n    # The hostUrl of the blog you want to publish on\n    # make sure you have the minimum rights to publish on the hostUrl\n    # Recommended to give the host \n    # Option? - The value is option no default value\n    host: \"\"\n\n    # The path of the blog you want to post  \n    # Any related assets is recommended to be kept inside post/\n    # Required? - The value is required with default value \"Post/**/*.md\"\n    file: \"post/**/*.md\"\n\n    # Get your hashnode key from [hashnode](https://hashnode.com/settings/developer)\n    # Set your key on env in actions as HASHNODE_KEY with value from the hashnode\n    # Required! - The value is required no default value\n    hashnode_key: ${{secret.HASHNODE_KEY}}\n```\n\u003c!-- end usage --\u003e\n\n# Example\n\nOrganize your blog content by placing it in a dedicated folder within your repository, along with any related assets residing in the same folder. Write your blog post and include the following essential metadata:\n\nThis structured metadata ensures your blog post is well-defined and can be seamlessly integrated into your workflow, providing essential information for publication.\n\n`post/blog/example.md`\n\n```yaml\n# Required! - Title of your blog\ntitle: Example article title\n\n# This is a flag with a boolean value\n# Will not publish the blog until it's true\n# Recommended! \npublish: true\n\n# Recommended? - The description of the blog\ndescription: This is a demo blog with minimum content \n\n# Recommended! - Provide the relative imageUrl\ncover_image: ./assets/blog-post-2.jpg\n\n# Required! - Keywords or hashtags related to your blog\ntags:\n  - example\n  - article\n  - blog\n\n# Optional? - Provide if you have published the blog before\noriginalArticleURL: \"https://example.com/blog/example-title-blog\"\n\n# Optional? - Subtitle for the blog\nsubtitle: A simple test article.\n\n\n# Optional? - Default value is true\nenableTableOfContent: true\n\n# Optional? - Default value is true\nisNewsletterActivated: true\n---\n```\n```md\n\n# Heading 1\nInclude miscellaneous text with a [link](https://code.visualstudio.com).\n\n\u003e Note: Please pay attention to the following important information.\n## Serious Title\n\nInsert relevant text throughout!\n\u003c!-- Include a relative image for the blog --\u003e\n\u003c!-- It is advisable to maintain the assets folder in the same directory --\u003e\n![Add some pictures too](./assets/cat.jpg)\n```\n\nCreate a directory named github/workflows in your repository and include a file named publish.yml. Within the publish.yml file, insert the following commands. These commands are designed to facilitate the publication of your blog post on Hashnode.\n\n`.github/workflows/publish.yml`\n\n```yaml\n\nname: \"Publish\"\n\non:\n  push:\n    branches: [\"main\"]\n  pull_request:\n    branches: [ main ]\n\njobs:\n  publish:\n    runs-on: ubuntu-latest\n    steps:\n      # actions/checkout is required for reading the content of your repository\n      - uses: actions/checkout@v4\n\n      # Publish to hashnode action\n      - name: Hashnode publish\n      # Required for ref in outputs\n        id: publish_hashnode\n        # action name and version recommended to use the latest version  https://github.com/marketplace/actions/hashnode-publish\n        uses: raunakgurud09/hashnode-publish@v1.1\n\n        # Options required for \n        with:\n          # The hostUrl of the blog you want to publish on\n          host: \"levelupdevs.hashnode.dev\"\n\n          # Path of the file you want to publish.\n          # Path should be inside the repo and relative path from the root of repo\n          file: \"post/blog/dynamic-routing-static-regeneration.md\"\n\n          # Get hashnode key from the hashnode dashboard https://hashnode.com/settings/developer\n          # Set the key in actions secrets as HASHNODE_KEY\n          hashnode_key: ${{secrets.HASHNODE_KEY}}\n      # Output result on console with summary\n      - name: Get get output\n        run: echo \"${{steps.publish_hashnode.outputs.result_json}} length ${{steps.publish_hashnode.outputs.result_summary}}\"\n```\n\n# Issues\n\nReport any repository related issue on [issues](https://github.com/raunakgurud09/hashnode-publish/issues)\n\n# License\n\nThe scripts and documentation in this project are released under the [MIT License](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraunakgurud09%2Fhashnode-publish","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraunakgurud09%2Fhashnode-publish","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraunakgurud09%2Fhashnode-publish/lists"}