- Category
- Developer Tools
- Rank
- No. 1843Tools index
Previous survey · No. 1850 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- denoland
- GitHub
- 483 stars
- Latest release
- 0.7.0
- Date
About
Minimal boilerplate blogging engine for Deno. Write Markdown, ship a blog in one file.
What it does
Deno Blog turns Markdown posts with front matter into a served website. It loads posts into memory, renders an index and article pages, serves nearby static assets, exposes an Atom feed, and reloads browsers when content changes during development.
Why it's ranked here
This is a focused choice for developers who want a small, code-configured publication. The built-in feed, canonical metadata, tags, redirects, static asset handling, theming, and tested request behavior cover the practical core without introducing a larger content platform.
What's good
Posts support custom paths, authors, summaries, tags, social images, reading time, math, and controlled iframe or HTML handling. Configuration also covers custom headers, footers, sections, CSS, date formatting, favicons, middleware, host settings, and light or dark presentation.
Tradeoffs
The engine depends on Deno and several remotely imported packages. Running it requires explicit network, read, and environment permissions, while initialization also needs write access. Content stays file-based and memory-loaded, so the repository shows no editorial interface, database workflow, or managed publishing controls.
How to use it well
Use it for a developer-owned blog where Markdown lives beside code and deployment targets Deno Deploy or a self-hosted Deno process. It suits publications needing direct template and middleware control. Choose another system when nontechnical editors need browser-based authoring or approval workflows.
Technical notes+
README.md documents URL import and initialization surfaces. init.ts scaffolds main.tsx, deno.jsonc, and a starter Markdown post, with dev and serve tasks granting Deno permissions. blog.tsx uses configureBlog to walk the posts directory, pooledMap with concurrency 25 to parse files, a module-level POSTS map for storage, Deno.watchFs plus WebSockets for development reloads, createBlogHandler for middleware composition and trailing-slash redirects, and serveDir for assets. components.tsx renders GFM through @deno/gfm and supports UnoCSS-backed templates. types.d.ts defines the settings, state, middleware, context, and post contracts. blog_test.ts exercises pages, canonical links, redirects, assets, Atom output, themes, tags, Unicode paths, and plaintext responses. .github/workflows/ci.yml runs formatting, linting, and tests.
Observed
- License
- MIT License
- Primary language
- TypeScript and TSX for Deno
- Packaging
- URL-imported Deno library with remotely pinned dependencies
- Interfaces
- Library entry point, project initializer CLI, and HTTP server
- Platform support
- Deno runtime, with documented Deno Deploy and self-hosting workflows
- Testing
- Repository includes request-level tests and CI checks for formatting, linting, and tests
Read from README.md, deps.ts, init.ts, blog.tsx, types.d.ts, blog_test.ts, components.tsx, LICENSE, deno.jsonc, .vscode/settings.json, .github/workflows/ci.yml.
What it can do
Convert Markdown files to blog posts
Markdown files → HTML blog posts
Generate a complete blog website
Single configuration file and Markdown content → Deployable blog website
Parse Markdown frontmatter
Markdown files with YAML frontmatter → Structured blog post metadata
Create blog post listings
Collection of Markdown blog posts → Index page with post summaries
Deploy blog to web server
Blog configuration and content files → Live blog website
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
