zerm
my fork of a minimalist and dark theme for Zola.
Largely a port of Radek Kozieł's Terminal Theme for Hugo.
differences from original theme
This theme is largely true to the original by Radek, but there are some mild differences. They are almost all stylistic in nature and are intended to emphasize minimalism even more. Some of them are as follows:
- tags are now included in a post's meta data.
- categories are included in the taxonomy.
- bullet points have slightly more margin and different symbols for nesting.
Some of these might be added later and PR's are always welcomed.
differences from ejmg port
- math typesetting support with KaTeX (now merged in upstream)
- copy URL to clipboard function at the end of the page.
- pagination at the end of the page.
- optional
support us
andfollow me
boxes at the end of the page. - theme switcher for dark/light mode
- elasticlunr js search implemented according to the zola documentation.
- search supports multilanguage thanks to Lunr languages integration.
- duckduckgo search.
- highly optimized cover images for posts and lists.
- 404 template (now in upstream, but here still different)
configuration
Please follow the Zola documentation for how to use a theme.
In config.toml
, you will find all values for customization that are supported
thus far have documentation explaining how they are used. If there is any confusion or something is not working as intended, please open an issue!
colorschemes
You can add a button in the navbar to change the color palette from a dark mode to a light mode with ease. I already wrote a light version for the orange palette. You can see the button switching colors in the gif below.
You can add your custom light colorscheme for any palette you want
like I did with the orange one on the orange.scss
file in sass/colors
:
:root {
--accent: rgb(255,168,106);
--accent-alpha-20: rgba(255, 168, 106, .2);
--accent-alpha-70: rgba(255, 168, 106,.7);
--background: #211f1a;
--color: whitesmoke;
--border-color: rgba(255, 255, 255, .1);
}
[data-theme="light"] {
--accent: rgb(196, 125, 76);
--accent-alpha-20: rgba(196, 125, 76, .2);
--accent-alpha-70: rgba(196, 125, 76, .7);
--background: #e4e3dd;
--color: #110b11;
--border-color: rgba(255, 255, 255, .1);
}
Enable this function with the theme_switcher
parameter in
[extra]
section of configuration file:
# Dark/Light mode switcher
theme_switcher = true
elasticlunr search
Elasticlunr uses JS to search on an indexed version of the website; you have to enable the generation of the index by zola with this parameter:
# /config.toml
# Whether to build a search index to be used later on by a JavaScript library
build_search_index = true
elasticlunr multilang support
Multilanguage supported with those available:
- German
- French
- Spanish
- Italian
- Japanese
- Dutch
- Danish
- Portuguese
- Finnish
- Romanian
- Hungarian
- Russian
- Norwegian
Just select a default_language
accordingly to make it work!
duckduckgo search
If you don't want to make use of javascript on your website or you really like DDG like me, you could set up a DuckDuckGo search form.
math
You can use KaTeX for mathematical typesetting.
Assets are only available if you opt-in on a per-page level through
a single line (math=true
) on the extra section of the page frontmatter.
# index.md
+++
title="this page title"
...
[extra]
math=true
+++
Content
Pages wich doesn't opt-in are not affected in any way, so you doesn't have to worry about any performance hit.
license
MIT. See LICENSE.md
for more details.