Skip to content


Repository files navigation

Lektor Themes

A collection of all themes that were created by the Lektor community.


Installing all themes

If you would like to install all of the available Lektor themes, simply clone the entire repository from within your project directory with this command:

git clone --depth 1 --recursive themes


git clone --depth 1 --recursive themes

Installing a single theme (*nix instructions)

mkdir themes
cd themes
git clone URL_TO_THEME

or installing into an existing repository (for a Lektor project):

mkdir themes
cd themes
git submodule add URL_TO_THEME

Adding a theme to the list

  • Create your theme.
  • Add a descriptive to the root of the theme;
  • Open up a new Issue with a link to the theme's repository on GitHub.

We encourage theme authors to supply a self-contained Lektor site in /example-site to easily illustrate their theme. Please make the site's content as neutral as possible. We further encourage you to use this example site to produce screenshots (placed in /images) that we can use to add this theme to a showcase on

NOTE: The folder name here is important, as this folder will be picked up and used to generate the a list of themes on

Each theme needs:

  1. To be added to the lektor-themes repo;
  2. A good;
  3. A good theme.ini

Additionally, each theme is strongly encouraged to:

  1. include an example-site that is fully functional in-place with just lektor server.1,
  2. include screenshots in /images/, and
  3. tag version releases with git. This may help when trying to safely upgrade versions of your theme.

[1] Making your example-site fully functional and DRY is a bit tricky, but it can be accomplished with the creation of a single symlink. Go into the example-site's themes dir, and run ln -s ../../../[theme repo dir]/ [theme repo dir]. Note the lack of a trailing /.


This file contains metadata about the theme and its creator. Only theme.ini is accepted, not theme.yaml, theme.json, or theme.toml. The following fields are required:

description = Simple, minimal theme for Lektor
features = blog
homepage =
lektor_required_version = 3.1
license = MIT
licenselink =
name = Nix
tags = simple, minimal, unix, terminal, blog
version = 0.1

homepage =
name = rlaverde

# If porting an existing theme
author = Matúš Námešný
homepage =
repo =

Your theme's README file (which should be written in Markdown and called serves a double purpose. This is because its content will appear in two places—i.e., it will appear:

  1. On your theme's details page on; and
  2. At GitHub (as usual), on your theme's regular main page.

Note: If you add screenshots to the README please make use of absolute file paths instead of relative ones like /images/screenshot.png. Relative paths work great on GitHub but they don't correspond to the directory structure of Therefore, browsers will not be able to display screenshots on the theme site under the given (relative) path.