🧸 A Zola-theme based on Bear Blog.
Free, no-nonsense, super-fast blogging.
This theme has multiple demo sites, to provide examples of how to set up deployment
When the user's browser is running »dark mode«, the dark color scheme will be used automatically. The default is the light/white color scheme. Check out the style.html
-file for the implementation.
If you already have a Zola site on your machine, you can simply add this theme via
git submodule add https://codeberg.org/alanpearce/zola-bearblog themes/zola-bearblog
Then, adjust the config.toml
as detailed below.
For more information, read the official setup guide of Zola.
Alternatively, you can quickly deploy a copy of the theme site to Netlify using this button:
(Note that this method makes it harder to keep up-to-date with theme updates, which might be necessary for newer versions of Zola.)
Please check out the included config.toml
Create an array in extra
with a key of main_menu
. url
is passed to get_url
[[extra.main_menu]]
name = "Home"
url = "@/_index.md"
[[extra.main_menu]]
name = "Bear"
url = "@/bear.md"
[[extra.main_menu]]
name = "Zola"
url = "@/zola.md"
[[extra.main_menu]]
name = "Blog"
url = "@/blog/_index.md"
The contents of the index
-page may be changed by editing your content/_index.md
-file.
Add a custom_head.html
-file to your templates/
-directory. In there you may add a <style>
-tag, or you may add a <link>
-tag referencing your own custom.css
(in case you prefer to have a separate .css
-file). Check out the style.html
-file to find out which CSS-styles are applied by default.
Table of contents are not rendered by default. To render them, set extra.table_of_contents.show = true
in config.toml
.
The table of contents is rendered inside a details
element.
If you want the section to be collapsed on page load, set extra.table_of_contents.visible_on_load = false
.
This defaults to true
.
In addition, extra.table_of_contents.max_level
can limit the maximum level of headers to show.
To show only h1
s, set max_level = 1
, to show h1
s and h2
s, set max_level = 2
, and so on.
By default, max_level
is set to 6, so all headers on the page are shown.
Below is an example of how to configure the table of contents in config.toml
.
[extra.table_of_contents]
show = true
max_level = 2
visible_on_load = false
It can also be toggled on page-by-page basis. Add extra.hide_table_of_contents = true
to the page's frontmatter to hide the table of contents for that specific page.
Please use Codeberg issues and Pull Requests.
A special thank you goes out to Herman, for creating the original ʕ•ᴥ•ʔ Bear Blog and Jan Raasch for creating the hugo port of the Bear Blog theme.