_ _ _ _ _
>(')____, >(')____, >(')____, >(')____, >(') ___,
(` =~~/ (` =~~/ (` =~~/ (` =~~/ (` =~~/
jgs~^~^`---'~^~^~^`---'~^~^~^`---'~^~^~^`---'~^~^~^`---'~^~^~
Duckquill
Duckquill is a modern, pretty, and clean (and opinionated) Zola theme that has the purpose of greatly simplifying the process of rolling up your blog. It aims to provide all the needed options for comfortable writing, keeping the balance of it being simple.
Edit a bit of metadata and tweak some of the included graphics and have a blog up in minutes!
- Pretty, yet lightweight. No JavaScript is used (except for comments, heh).
- Colors are tinted with the user-selected primary color for a pleasent look.
- ~90kB in size; take that, 12MB Medium!
- Uses system fonts for blazingly fast loading.
- Mobile friendly, with a proper dark variant.
- Proper favicon for modern browsers and Apple device icons.
- Twitter, Mastodon and other social media meta cards for easy sharing. Try Share Preview to test.
- Mastodon-powered comments; comment using compatible ActivityPub server by replying to a Mastodon post.
Duckquill is made based on needs of my website, if you need some feature/configuration that doesn’t exist feel free to open an issue or better yet, pull request!
Installation
First, download this theme to your themes
directory:
…or add as submodule for easy updating (recommended if you already have git setup on site):
It is highly recommended to switch from the main
branch to the lates release:
To update the submodule, simply switch to a new tag:
Note: Check the changelog for all versions that came after the one you are using, there may be some breaking changes that need manual involvement.
Then, enable it in your config.toml
:
= "duckquill"
Options
Duckquill offers some configuration options to make it fit you better; most options have pretty descriptive comments, so it should be easy to understand what they do.
Localization
Duckquill ships with a localization system based on one used in tabi, it’s very easy to use and quite flexible at the same time.
To add a translation, simply create a file in your site’s i18n
directory called [lang-code].toml
, e.g fr.toml
. The language code should be ISO 639-1 or BCP 47.
Inside that file, copy-paste one of the existing translations from Duckquill and adapt it to your needs. You can also check tabi translation files for reference.
Additionally to translating Duckquill, you can also override the English stings by copy-pasting en.toml
from Duckquill to the i18n
directory of your website and adjusting the values to your liking.
Custom Stylesheets
You can add your own or override existing styles by creating custom stylesheet and adding it in the config.toml
:
[]
= [
"YOUR_STYLE.css"
]
Additional stylesheets; expects it to be in the static
directory. If you are using Sass it will be compiled there anyway.
If for some reason overridden class are not respected, try using !important
. You can import styles from Duckquill using:
You can also load stylesheets per page/section by setting them inside page’s front matter:
[]
= [
"YOUR_STYLE.css",
"ALSO_YOUR_STYLE.css"
]
Primary Color
Duckquill respects chosen primary color everywhere, simply change the primary color in config.toml
:
[]
= "COLOR_CODE"
= "COLOR_CODE"
Favicon
Files named favicon.png
and apple-touch-icon.png
are used as favicon and apple touch icon respectively. For animated favicon you can use APNG with png
file extension.
Test Pages
- Demo page
- Cake Party!
- ActivityPub/Fediverse comments demo
- Code block demo (needs Zola v0.18.0 and higher)
In the Wild
It starts to get long, so click to expand.
- agustinramirodiaz.github.io
- alavi.me
- bano.dev
- blog.pansi21.xyz
- daudix.one (obviously)
- daveparr.info
- digital-horror.com
- enriquekesslerm.com
- gregorni.gitlab.io
- jzbor.de
- licu.dev
- luciengheerbrant.com
- lukoktonos.com
- malloc.garden
- mourelask.xyz
- nbenedek.me
- notaplace.com
- pyter.at
- rbd.gg
- rerere.unlogic.co.uk
- siddharthsabron.in
- skaven.org
- sorcery.nexus
- sorg.codeberg.page
- sungsphinx.codeberg.page
- treeniks.github.io
- vikramxd.github.io
- zorrn.net
- Yours? (feel free to contact me or send a pull request)
In Credits
Assets Sources
All sources for Duckquill’s assets are available here and licensed under CC BY-SA 4.0. The reason for not putting the sources in the same repo as Duckquill itself is simple: I want it to be as small as possible, so that repo cloning is fast and doesn’t make the site significantly heavier; this is also why the demo uses remote images instead of local copies.
Credits
Tools Used
- VSCodium - Free/Libre Open Source Software Binaries of VS Code
- Capitalize - Title capitalization without random websites.
- Django - Tera is quite similar to Liquid at places.
- Even Better TOML - For
config.toml
basically. - Monokai Pro - Awfully pretty theme.
- SCSS IntelliSense - Not sure if it actually works. ¯\_(ツ)_/¯
- Sort CSS - A lifesaver for long CSS properties.
- Firefox developer tools - Best of its kind.
As for the code formatter I use built-in VSCodium one. Prettier is good but I don’t like how it tries to make code fit in a very narrow column, this can be changed of course, but built-in formatter does it’s job so I don’t bother doing so.
Thanks To
- Jakub Steiner for the OS Component Website, which served as a starting point and inspiration.
- Carl Schwan for the Mastodon-powered Comments.
- Jonathan Neal for the normalize.css.
- Modern Font Stacks for the system font stack.
- Everyone who supported me and said good stuff <3