- HTML 100%
| content | ||
| templates | ||
| .envrc | ||
| .gitignore | ||
| config.toml | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| netlify.toml | ||
| README.md | ||
| screenshot.png | ||
| theme.toml | ||
Zola ʕ•ᴥ•ʔ Bear Blog
🧸 A Zola-theme based on Bear Blog.
Free, no-nonsense, super-fast blogging.
Demo
For a current & working demo of this theme, please check out https://zola-bearblog.netlify.app/ 🎯.
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:
(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
Menu
Create an array in extra with a key of main_menu. url is passed to get_url
[[extra.main_menu]]
name = "Home"
url = "/"
[[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.
