A Golang based simple and lightweight Static Site Generator

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.

 Golang Examples

Software Installation

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 PATH.

Windows

Download the latest release, create a directory like C:\Program Files\verless and extract the executable into that directory. Add the directory to Path.

Docker

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

 Getting started

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!

 Documentation

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

 Contributing

Anyone is welcome to contribute to verless. Please refer to our contribution guidelines.