This Golang-based Static Site Generator, called verless (pronounced like serverless) is designed for Markdown-based content with a focus on simplicity and performance. It reads your Markdown files, applies your HTML templates, and renders them as a website.
Features of this Opensource Project
- Flexible theming: Themes define the HTML templates and styles and scripts for your frontend. Initializing a new theme can be done within a single command, and setting it as active requires a single configuration line. Since verless provides pre-defined template variables, themes are interchangeable.
- Rapid development: Like themes, new projects can be created using a single command. Local development requires no third-party web server as verless comes with a built-in web server and rebuilds your project when something changes.
- High performance: Generating a static site typically is a matter of milliseconds. To keep build times short, verless lets you choose and explicitly enable features you need – only generate RSS feeds or overview pages for tags if you want to.
- Focus on simplicity: Global information, page types, plugins and other settings are configured in a central configuration file inside your project. We try to keep things small and simple, and if your project isn’t simple, verless probably isn’t a good fit.
- Example project structure: example/
- Real-world example website: dominikbraun.io
Linux and macOS
Download the latest release for your platform. Extract the downloaded binary into a directory like
/usr/local/bin. Make sure the directory is in
Download the latest release, create a directory like
C:\Program Files\verless and extract the executable into that directory. Add the directory to
Assuming your project directory is
my-blog, the following command builds your website:
$ docker container run -v $(pwd)/my-blog:/project verless/verless
The container will build the project mounted at
/project and you’ll find the website in
my-blog/target. To run another command, just append it to the image name:
$ docker container run verless/verless version
The easiest way to create a new project is to use the verless CLI:
$ verless create project my-blog
This initializes a project called
my-blog inside a new directory, containing a small default site. You can either build the project or serve the static site directly:
$ verless serve -w my-blog
After running the command, you can view your new project under localhost:8080. Building the project works similary and generates a deployable website:
$ verless build my-blog
By default, verless generates the website into
my-blog/target. You are now ready to create your first blog post!
To find out how a verless project is structured, take a look at the example project. For a detailed reference, check out the documentation.
New tutorial: Create a website using verless
Anyone is welcome to contribute to verless. Please refer to our contribution guidelines.