Skip to main content


Minimal boilerplate blogging. All you need is one boilerplate JavaScript file that has 2 lines of code:

import blog from "";


Getting started

To initialize your own blog you can run following script:

$ deno run ./directory/for/blog/

This command will setup a blog with a “Hello world” post so you can start writing right away.

Start local server with live reload:

$ deno task dev

To ensure the best development experience, make sure to follow Set up your environment from the Deno Manual.


You can customize your blog as follows:

import blog, { ga, redirects } from "";

  author: "Dino",
  title: "My Blog",
  description: "The blog description.",
  avatar: "avatar.png",
  avatarClass: "rounded-full",
  links: [
    { title: "Email", url: "" },
    { title: "GitHub", url: "" },
    { title: "Twitter", url: "" },
  middlewares: [
      "/foo": "/my_post",
      // you can skip leading slashes too
      "bar": "my_post2",


By default, we render the header and footer with builtin template using the blog settings. You can customize them as follows:

/** @jsx h */

import blog, { h } from "";

  title: "My Blog",
  header: <header>Your custom header</header>,
  footer: <footer>Your custom footer</footer>,

Hosting with Deno Deploy

Self hosting

You can also self-host the blog, in such case run:

$ deno task serve

TODO(bartlomieju): allow specyfing port and hostname?