Quickly build static <html> sites and blogs.

Written in Kotlin

Yaml Config

Configure all settings for your site via a single Yaml file.

Static Site

No backend. No databases. Static files only. Simply copy files to server and be done.

Open Source

Kakyll is written in Kotlin. The project is open source. All code is available on GitHub.

Getting Started


~ $ brew install https://raw.githubusercontent.com/kennycason/kakyll/master/script/brew/kakyll.rb
~ $ kakyll new my_site
~ $ cd my_site
~/my_site $ kakyll serve
Building site
Cleaning site
└ Rendering [/Users/kenny/workspace/my_site/index.hbs]
└ Rendering [/Users/kenny/workspace/my_site/tags.hbs]
└ Rendering [/Users/kenny/workspace/my_site/about.hbs]
└ Copying directory [assets]
└ Rendering posts to directory [posts]
    └ 2017-12-24-welcome-to-kakyll.md
└ Rendering tag pages to tags/
Starting server on http://localhost:8080
Watching [/Users/kenny/workspace/my_site] for changes

Yaml Config


title: My Blog Title
email: you@email.com
description: My Blog is about random stuff like lorem ipsum and programming. I hope you enjoy.
base_url: http://kakyll.com # The base url to your blog.
template_engine: handlebars
date_format: MMMM d, yyyy
deploy: rsync -avz ...         # command to execut to deploy contents in _site/*
encoding: UTF-8               # encoding of files, defaults to UTF-8
posts:                                       # configuration for your blog's posts
    directory: posts               # directory where your posts are located
    template: post.hbs        # optional template for posts
tags:                                          # configuration for your blog's tag pages
    template: index.hbs         # optional template for tags
pages:                                       # single pages to render individually
    - index.html
    - about.html
    - tags.html
directories:                             # directories to directly copy over
    - name: assets