Create a site with an example pages, posts, and layouts:
# Create site in current directory $ cobalt init # Create site in `myBlog` sub-directory $ cobalt init myBlog
Serve your site at
$ cobalt serve # Include drafts $ cobalt serve --drafts
This provides live reload; it will re-generate your site as you add or change content.
--host argument to listen on a different address (ex. 0.0.0.0/INADDR_ANY);
the default is
-P) to listen on a different TCP port
number (default: 3000).
Add a new page or post to your site:
# Creates page `cats-around-the-world.md` in the current directory $ cobalt new "Cats Around the World" # Creates post `cats-around-the-world.md` in the `posts` directory $ cobalt new "Cats Around the World" --file posts # Creates post `cats.md` in the `posts` directory $ cobalt new "Cats Around the World" --file posts/cats.md
You can modify the template used for
new by editing the files in
Once your post is ready, you can publish it:
$ cobalt publish posts/cats-around-the-world.md
The page will no longer be a "draft" and the
published_date will be set to today.
You can also publish from the
$ cobalt publish drafts/dogs-around-the-world.md
It will move it to
posts folder besides changing "draft" status and
For posts only: by default, the date (
YYYY-MM-DD-) will be prepend to your posts
filename in order to keep them in chronological order. This can be disabled by manually
publish_date_in_filename: false in your configuration.
Once the states of your documents are in a position to be put online − by using
publish on the documents you want to make visible, or manually setting
is_draft: false − it's time to build the website:
$ cobalt build
All the documents not in draft state will be build into a html file ready to be serve by your web server.
Displays site debug information. There are subcommands that output various information,
highlight. Refer to Troubleshooting for
To see all the available commands, run
$ cobalt --help
You can then get help with those commands by running
$ cobalt <command> --help