Kobold

Kobold is a static site generator with a friendly CLI. Very much a work in progress.

Quick start

Create a workspace for your website sources:

$ kobold init hello_kobold

This creates the hello_kobold directory and initializes it as a git repository with the directory structure that Kobold requires:

hello_kobold/ ├── assets/ ├── content/ │   └── index.md ├── styles/ └── templates/ └── default.html

Only content is required, all other directories can be empty or can be omitted from your project.

If you have used any other static site generator, you can probably guess how Kobold works based on this directory structure.

The index.md file is the main page of the website, and starts with the following contents:

```

title: Home

layout: default

Hello kobold!

```

You can already generate the output website:

$ kobold build hello_kobold

That command creates a site sub-directory in the hello_kobold directory with the generated website. You can visit the website with your favourite web browser:

$ firefox hello_kobold/site/index.html

Notable features

Why?

I wanted a personal website and I wanted to practice my Rust.

Related work

Kobold was written from scratch, but it has many similarities to the more mature Cobalt. The biggest differences are probably that Kobold is more opinionated about the structure of the site sources and the usage of Tera instead of Liquid as a templating engine.

I also appreciate Hugo's focus on speed and its no-nonsense workflow, and shortcodes make a lot of sense so Kobold's templates try to replicate some of that usefulness.

I would likely be using one of these two tools if I hadn't wanted to try and build my own.

Not a static site generator per se, but a honorable mention goes to Sylvain Kerkour's Building a static site generator in 100 lines of Rust which was a great resource to get me started.

Contributing

Contributions in the form of issues and pull requests are welcome.