Zola ʕ•ᴥ•ʔ Bear Blog

Netlify Status

🧸 A Zola-theme based on Bear Blog.

Free, no-nonsense, super-fast blogging.

Demo

This theme has multiple demo sites, to provide examples of how to set up deployment

Screenshot

Screenshot

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.

Installation

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:

Deploy to Netlify

(Note that this method makes it harder to keep up-to-date with theme updates, which might be necessary for newer versions of Zola.)

Adjust configuration / config.toml

Please check out the included config.toml

Content & structure

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"

Adding / editing content

Index-Page

The contents of the index-page may be changed by editing your content/_index.md-file.

Adding your branding / colors / css

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

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 h1s, set max_level = 1, to show h1s and h2s, 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.

Issues / Feedback / Contributing

Please use Codeberg issues and Pull Requests.

Special Thanks 🎁

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.

License

MIT License © Alan Pearce