{"id":15084362,"url":"https://github.com/phothinmg/hono-blog","last_synced_at":"2026-01-25T11:31:35.582Z","repository":{"id":251521329,"uuid":"836478902","full_name":"phothinmg/hono-blog","owner":"phothinmg","description":"Hono Blog Template","archived":false,"fork":false,"pushed_at":"2024-08-19T23:32:21.000Z","size":2134,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-21T05:11:38.228Z","etag":null,"topics":["blog","deno","honojs"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/phothinmg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-01T00:06:53.000Z","updated_at":"2024-08-19T23:32:25.000Z","dependencies_parsed_at":"2024-09-25T07:00:48.437Z","dependency_job_id":"be15076e-f36e-4f07-88c1-39b1a21898e8","html_url":"https://github.com/phothinmg/hono-blog","commit_stats":{"total_commits":58,"total_committers":2,"mean_commits":29.0,"dds":0.03448275862068961,"last_synced_commit":"801e813bef01959c65c2a79a1b9694f6996e6d74"},"previous_names":["phothinmg/hono-blog"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/phothinmg/hono-blog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phothinmg%2Fhono-blog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phothinmg%2Fhono-blog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phothinmg%2Fhono-blog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phothinmg%2Fhono-blog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phothinmg","download_url":"https://codeload.github.com/phothinmg/hono-blog/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phothinmg%2Fhono-blog/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28752668,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T10:25:12.305Z","status":"ssl_error","status_checked_at":"2026-01-25T10:25:11.933Z","response_time":113,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["blog","deno","honojs"],"created_at":"2024-09-25T07:00:39.915Z","updated_at":"2026-01-25T11:31:35.567Z","avatar_url":"https://github.com/phothinmg.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hono Blog\n\nThe simple blog with Hono Js and Deno runtime.\n\n### 1. About\n\nSimple blog template with Hono Js and Deno.\n\n### 2. Getting Started\n\n```bash\ndeno run -r --allow-read --allow-write https://deno.land/x/honoblog/init.ts directory_for_blog\n```\n\n**Example**\n\n```bash\ndeno run -r --allow-read --allow-write https://deno.land/x/honoblog/init.ts my_blog\n```\n\n### 3. `deno.json`\n\n```json\n{\n  \"$schema\": \"https://img.phothin.dev/deno.schema.json\",\n  \"tasks\": {\n    \"start\": \"deno serve -A mod.ts\"\n  },\n  \"imports\": {\n    \"hono\": \"jsr:@hono/hono\",\n    \"hono-blog\": \"jsr:@ptm/hono-blog\"\n  },\n  \"compilerOptions\": {\n    \"jsx\": \"precompile\",\n    \"jsxImportSource\": \"hono/jsx\"\n  }\n}\n```\n\nMore info at @hono/hono at https://jsr.io/@hono/hono and @ptm/hono-blog at\nhttps://jsr.io/@ptm/hono-blog\n\n### 4. Configuration\n\n`mod.ts`\n\n```ts\nimport { blog } from \"@ptm/hono-blog\";\n\nconst app = blog({\n  /*options*/\n});\n\nexport default app;\n```\n\n#### 4.1.Configuration Options\n\n- siteName?: Name of Blog\n- siteUrl?: The URL of blog, after deployed\n- baseDir?: The directory that contain all of source file of blog. must be\n  like - \"app\" , not \"./app\", default \"app\".\n- ignore?: Files or Directories want to ignore.\n- meta:\n  - author?: The name of the blog author\n  - description?: A short and accurate summary of the content of the page.\n  - generator?: The identifier of the software that generated the page, if true\n    generator name will \"Hono\".\n  - keywords?: The array of keywords.\n  - favicon?:\n  - ogTitle?: The title of the object as it should appear within the graph.\n  - ogType?: The type of the object.\n  - ogImage?: An image URL which should represent the object within the graph.\n  - ogUrl?: The canonical URL of your object that will be used as its permanent\n    ID in the graph.\n- socialLinks:\n  - facebook?:\n  - github?:\n  - twitter?:\n  - discord?:\n  - linkedin?:\n  - mastodon?:\n\n**_See all configuration options at\nhttps://jsr.io/@ptm/hono-blog/doc/~/HonoBlogOptions_**\n\n### 5. Markdown\n\nHono blog used `mm-mark` that is base on\n[Showdown.js](https://github.com/showdownjs/showdown) for Deno runtime.\n\nDemo :: http://demo.showdownjs.com/\n\n#### 5.1. Document's types\n\nTypes of the markdown files in the `baseDir`.Its also for routes of markdown.\n\n- `index` : Index page (Home Page) of blog.\n\n- `post` : Posts of the blog.\n\n- `page` : Pages of the blog.\n\n**Example**\n\n```yaml\n---\ntype: \"index\"\n---\n```\n\n#### 5.2. Routes\n\n- `\"/\"` : Home page - markdown type `index`\n\n- `\"/posts\"` : All posts - generated by hono-blog.\n\n- `\"/posts/title-of-post\"` : markdown type `post`\n\n- `\"/pages/title-of-page\"` : markdown type `page`\n\n#### 5.3. Images\n\nImages file must be located at `baseDir`. Just only image name required.\n\n```md\n![logo](logo.png)\n```\n\nImage Dimensions\n\n```\n![foo](foo.jpg =100x80)     simple, assumes units are in px\n![bar](bar.jpg =100x*)      sets the height to \"auto\"\n![baz](baz.jpg =80%x5em)  Image with width of 80% and height of 5em\n```\n\nRoute\n\n- `\"/name-of-image\"`\n\n- `\"/posts/name-of-image\"`\n\n- `\"pages/name-of-image\"`\n\n#### 5.3. Front Matter (YAML)\n\n`index`\n\n```yaml\n---\ntype: \"index\"\ntitle: \"Home\"\n---\n```\n\n`page`\n\n```yaml\n---\ntype: \"page\"\ntitle: \"About\"\ndescription: \"About Me\"\n---\n```\n\n`post`\n\n```yaml\n---\ntype: \"post\"\ntitle: \"Hello world\"\nauthor: \"PTM\"\ndate: 2024-08-04\ndescription: \"Hello World from hono-blog\"\ntags:\n  - Hono\n  - Deno\n  - Blog\nogurl:\nogtype:\nogtitle:\ncover_photo:\n---\n```\n\n### 6. Deploy\n\nEasy deploy on [Deno Deploy](https://deno.com/deploy)\n\n## Acknowledgement\n\n1. [Deno](https://deno.com/) - Open-source JavaScript runtime for the modern\n   web.\n\n2. [Hono](https://hono.dev/) - Ultrafast web framework for the Edges.\n\n3. [Showdown](https://github.com/showdownjs/showdown) - A Markdown to HTML\n   bidirectional converter written in Javascript!\n\n4. [js-yaml](https://github.com/nodeca/js-yaml) - YAML 1.2 parser / writer for\n   JavaScript.\n\n5. [glob](https://github.com/isaacs/node-glob#readme) - The most correct and\n   second fastest glob implementation in JavaScript.\n\n6. [Classless.css](https://classless.de/) - Less classes. Less overhead.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphothinmg%2Fhono-blog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphothinmg%2Fhono-blog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphothinmg%2Fhono-blog/lists"}