A collection of all themes that were created by the Lektor community.
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 git@github.com:lektor/lektor-themes.git themes
or
git clone --depth 1 --recursive https://github.com/lektor/lektor-themes.git themes
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
- Create your theme.
- Add a descriptive
README.md
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 getlektor.com.
NOTE: The folder name here is important, as this folder will be picked up and used to generate the a list of themes on getlektor.com.
Each theme needs:
- To be added to the lektor-themes repo;
- A good README.md;
- A good
theme.ini
Additionally, each theme is strongly encouraged to:
- include an
example-site
that is fully functional in-place with justlektor server
.1, - include screenshots in
/images/
, and - 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:
[theme]
description = Simple, minimal theme for Lektor
features = blog
homepage = https://github.com/rlaverde/lektor-theme-nix
lektor_required_version = 3.1
license = MIT
licenselink = https://github.com/rlaverde/lektor-theme-nix/blob/master/LICENSE.md
name = Nix
tags = simple, minimal, unix, terminal, blog
version = 0.1
[author]
homepage = http://rlaverde.github.io/
name = rlaverde
# If porting an existing theme
[original]
author = Matúš Námešný
homepage = https://namesny.com
repo = https://github.com/LordMathis/hugo-theme-nix
Your theme's README file
(which should be written in Markdown and called README.md
)
serves a double purpose.
This is because its content will appear in two places—i.e., it will appear:
- On your theme's details page on getlektor.com; and
- 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 getlektor.com. Therefore, browsers will not be able to display screenshots on the theme site under the given (relative) path.