.css"
-```
-
\ No newline at end of file
diff --git a/docs/content/themes/neovim-theme/screenshot.png b/docs/content/themes/neovim-theme/screenshot.png
index 7496d39326..17674d61a6 100644
Binary files a/docs/content/themes/neovim-theme/screenshot.png and b/docs/content/themes/neovim-theme/screenshot.png differ
diff --git a/docs/content/themes/project-portfolio/index.md b/docs/content/themes/project-portfolio/index.md
index d7ad697d87..e124b41660 100644
--- a/docs/content/themes/project-portfolio/index.md
+++ b/docs/content/themes/project-portfolio/index.md
@@ -3,17 +3,17 @@
title = "Project Portfolio"
description = "Theme for a project portfolio (based on Tailwind CSS)."
template = "theme.html"
-date = 2025-02-28T20:53:32+01:00
+date = 2025-04-06T10:20:14+02:00
[taxonomies]
theme-tags = []
[extra]
-created = 2025-02-28T20:53:32+01:00
-updated = 2025-02-28T20:53:32+01:00
+created = 2025-04-06T10:20:14+02:00
+updated = 2025-04-06T10:20:14+02:00
repository = "https://github.com/awinterstein/zola-theme-project-portfolio.git"
-homepage = "https://github.com/awinterstein/zola-theme-project-portfolio"
-minimum_version = "0.9.0"
+homepage = "https://codeberg.org/winterstein/zola-theme-project-portfolio"
+minimum_version = "0.19.0"
license = "MIT"
demo = "https://awinterstein.github.io/zola-theme-project-portfolio-example/"
@@ -24,29 +24,203 @@ homepage = "https://www.winterstein.biz"
# Project Portfolio
-A [Zola](https://www.getzola.org/) theme built with [Tailwind CSS](https://tailwindcss.com/) for presenting the project portfolio of a freelancer, for example. The theme is based on the [Blow](https://www.getzola.org/themes/blow/) theme that was created by Thomas Chartron.
+> You can find this theme on [Codeberg](https://codeberg.org/winterstein/zola-theme-project-portfolio) and [Github](https://github.com/awinterstein/zola-theme-project-portfolio).
-Check out the [live demo of the example project](https://awinterstein.github.io/zola-theme-project-portfolio-example/) or a [real-world implementation](https://www.winterstein.biz/) of this template.
+A [Zola](https://www.getzola.org/) theme built with [Tailwind CSS](https://tailwindcss.com/) and [DaisyUI](https://daisyui.com) for presenting the project portfolio of a freelancer, for example. The theme is based on the [Blow](https://www.getzola.org/themes/blow/) theme that was created by Thomas Chartron and on my generic [Daisy](https://codeberg.org/winterstein/zola-theme-daisy) theme. It extends the [Daisy](https://codeberg.org/winterstein/zola-theme-daisy) with specific pages, taxonomies and shortcodes for managing a project portfolio and supports all color schemes of the [Daisy](https://codeberg.org/winterstein/zola-theme-daisy) as well.

+Check out the [live demo of the example project](https://awinterstein.github.io/zola-theme-project-portfolio-example/) or a [real-world implementation](https://www.winterstein.biz/) of this theme.
+
## Features
-- Project types and skills taxonomies
-- Automatically selected dark / light modes (with syntax highlighting depending the mode)
-- Search functionality supporting `Meta` + `K` shortcut
-- Social links (github, gitlab, twitter, linkedin, email)
-- Pagination
-- Multilingual
-- Error 404 page
-- Mobile responsive
-- Favicon
-- Customizable navbar links
-- Customizable footer
+* Responsive design (looks good on desktop and mobile)
+* Automatically selected dark / light modes
+* 37 color schemes included
+* Customizable navbar and footer (with social links)
+* Project types and skills taxonomies
+* Search functionality
+* Multi-language support
+* Pagination
+* Customizable favicon
+* Error 404 page
## Quick Start
-For starting to create a new Zola website using this theme, the easiest approach is to just checkout / fork the [example repository](https://github.com/awinterstein/zola-theme-project-portfolio-example) and adapt it to your needs. That repository already contains a minimal structure and configuration for the Zola-based website and can directly be built and deployed to Github pages.
+For starting to create a new Zola website using this theme, the easiest approach is to just checkout / fork the [example repository](https://codeberg.org/winterstein/zola-theme-project-portfolio-example) and adapt it to your needs. That repository already contains a minimal structure and configuration for the Zola-based website and can directly be built and deployed to [Netlify](https://www.netlify.com/) and Github pages.
+
+## Configuration
+
+The minimal `config.toml` file for using the theme looks like this:
+
+```toml
+base_url = "https://www.example.com"
+
+theme = "project-portfolio"
+
+taxonomies = [
+ {name = "projects", paginate_by = 5, feed = true},
+ {name = "skills", paginate_by = 5, feed = true},
+]
+```
+
+### Color Schemes
+
+Set a light and dark color scheme:
+
+```toml
+daisyui_theme_light = "light"
+daisyui_theme_dark = "dark"
+```
+
+See the `themes` list in the [`theme.toml`](theme.toml) for all possible identifiers. You can also set only a light or a dark color scheme, if you do not want the automatic dark mode switching based on the browser settings of your visitors.
+
+If you want to allow your visitors to change the used color scheme, just set the following variable in the `[extra]` section of your `config.toml`:
+
+```toml
+[extra]
+enable_theme_switching = true
+```
+
+There will be a dropdown in the navbar then, for the visitors to select form the color schemes.
+
+### Languages
+
+To enable support for multiple languages, simply set the default language and add language settings for all your additional languages:
+
+```toml
+default_language = "en"
+
+[languages.de]
+# title and description in the additional language
+title = "Projekt-Portfolio"
+description = "Beispiel- und Demoseite des Projekt-Portfolio-Themas für Zola."
+
+# don't forget to enable features like search or feed
+# generation for the additional language as well
+build_search_index = true
+generate_feeds = true
+
+# also any taxonomies of your default language need to
+# be defined for the additional language as well
+taxonomies = [
+ {name = "projects", paginate_by = 5, feed = true},
+ {name = "skills", paginate_by = 5, feed = true},
+]
+```
+
+Taxonomies should have exactly the same (not translated) name in all languages, for the language switching to work best.
+
+You need to create an i18n file containing the translations for all theme variables for all the languages of your website, if they are not included in the theme. Right now, only [English](i18n/en.toml) and [German](i18n/de.toml) are included. You can create a the directory `i18n` in your website root directory and the language files in there will be picked up by the theme. It would be great, however, I you create a pull-request on the theme repository to add your translations to the theme.
+
+### Search
+
+Integrating a search into your website is as easy as adding the following to your configuration:
+
+```toml
+# enable it globally for the default language
+build_search_index = true
+
+[search]
+# only this format is supported by the theme
+index_format = "elasticlunr_json"
+
+# you need to enable search at all your language sections as well
+[languages.de]
+build_search_index = true
+```
+
+As soon as `build_search_index` is enabled, the search indices are created for all languages that have this variable enabled in their section in the `config.toml` and the search bar is shown in the navbar of the website.
+
+Just be aware, that you need to add a [Lunr Languages](https://github.com/MihaiValentin/lunr-languages) file to your `static` directory, if you ae using other languages than English and German. See the corresponding repository for the [`min` files](https://github.com/MihaiValentin/lunr-languages/tree/master/min). Feel free to add support for your languages to the theme as well, via a pull-request.
+
+### Navbar
+
+Arbitrary links can be added to the footer by defining the following list in the `[extra.navbar]` section:
+
+```toml
+[extra.navbar]
+links = [
+ { url = "projects", i18n_key = "projects" },
+ { url = "skills", i18n_key = "skills" },
+ { url = "blog", i18n_key = "blog" },
+]
+```
+
+The value of the `i18n_key` must be in the `i18n` files for your languages (see [en.toml](i18n/en.toml), for example).
+
+### Footer
+
+All three parts of the footer can be adapted: the links, the social icons, and the copyright notice.
+
+#### Links
+
+Arbitrary links can be added to the footer by defining the following list in the `[extra.footer]` section:
+
+```toml
+[extra.footer]
+links = [
+ { url = "about", i18n_key = "about" },
+ { url = "sitemap.xml", i18n_key = "sitemap", no_translation = true },
+]
+```
+
+The value of the `i18n_key` must be in the `i18n` files for your languages (see [en.toml](i18n/en.toml), for example). If the parameter `no_translation` is set to true, than the URL is not adapted to contain the current language code. This is needed for external links or something like the `sitemap.xml` in the example, that is not translated within your website.
+
+#### Social Icons
+
+The social icons in the footer can be adapted by setting any of the following variables:
+
+```toml
+[extra.social]
+codeberg = ""
+github = ""
+gitlab = ""
+stackoverflow = ""
+mastodon = ""
+linkedin = ""
+instagram = ""
+youtube = ""
+signal = ""
+telegram = ""
+email = ""
+phone = ""
+```
+
+For every non-empty variable, the corresponding icon is shown in the footer.
+
+#### Copyright Notice
+
+The copyright notice in the footer can be set by adding the following variable in the configuration:
+
+```toml
+[extra.footer]
+notice = "This is my copyright notice."
+```
+
+HTML can be used there.
+
+### Syntax Highlighting
+
+The theme makes use of Zola code highlighting feature and supports setting a different color scheme depending on whether a light or dark theme is active. Just enable syntax highlighting the following way:
+
+```toml
+highlight_code = true
+highlight_theme = "css"
+```
+
+### Index Page
+
+A title and text can be added to the index page by creating a file `_index.md` in the `content` directory. Additionally, a slogan and an image an be configured in the `config.toml`:
+
+```toml
+[extra.index]
+slogan = "Slogan text that is shown under the title"
+image = "portrait.png"
+image_alt = "Placeholder text describing the index's image."
+```
+
+You can also created a completely different index page, by overwriting the `index.html` template in the template directory of your site. Just inherit from the `page.html` template of the theme.
## Details on Using the Theme
@@ -55,14 +229,16 @@ The installation of the theme works the same as for other Zola themes. As it is
```bash
cd my-zola-website
git submodule add -b main \
- git@github.com:awinterstein/zola-theme-project-portfolio.git \
+ https://codeberg.org/winterstein/zola-theme-project-portfolio.git \
themes/project-portfolio
```
+Please make sure to add it at the path `themes/project-portfolio` in your Zola directory. The translations and the icons won't work if added to a different directory.
+
In the `config.toml` file it needs to be selected then:
```toml
-theme = "project-portfolio" # The site theme to use.
+theme = "project-portfolio"
```
Create the files `projects.md` and `skills.md` in your `content` directory that are used to show the "Projects" and "Skills" [taxonomies](https://www.getzola.org/documentation/content/taxonomies/). They both need a title and can optionally get a descriptive text that will be shown above the terms of the taxonomy. See the following `projects.md` file as an example:
@@ -84,7 +260,7 @@ lead. Whatever makes most sense for your project portfolio.
It would be shown with the configured title and content like this above the terms:
-
+
The `skills.md` file can be created the same way. The corresponding page will just show the terms of the skills taxonomy instead of the terms of the projects taxonomy then.
@@ -117,110 +293,6 @@ The content of the project description page follows here.
The generated project site would then look like this:
-
-
-## Configuration
-
-The minimal `config.toml` file for using the theme looks like this:
-
-```toml
-base_url = "https://www.example.com"
-
-theme = "project-portfolio"
-
-taxonomies = [
- {name = "projects", paginate_by = 5, feed = true},
- {name = "skills", paginate_by = 5, feed = true},
-]
-
-[translations]
-language_symbol = "🇬🇧"
-home = "Home"
-projects = "Projects"
-skills = "Skills"
-read_more = "Read More"
-skills_technologies = "Skills & Technologies"
-main_skills = "Main Skills"
-other_skills = "Additional Skills"
-words = "words"
-minutes = "minutes"
-```
-
-This would, however, lead to an empty index page. The `config.toml` can be extended by the following configuration parameters for the index page:
-
-```toml
-[extra.index]
-title = "Main Title"
-slogan = "Slogan text that is shown under the title"
-image = "portrait.png"
-image_alt = "Placeholder text describing the index's image."
-
-[extra.social]
-codeberg = "https://codeberg.org/johndoe"
-github = "https://github.com/johndoe"
-gitlab = "https://gitlab.com/johndoe"
-twitter = "https://twitter.com/johndoe"
-mastodon = "https://social.somewhere.com/users/johndoe"
-linkedin = "https://www.linkedin.com/in/john-doe-b1234567/"
-stackoverflow = "https://stackoverflow.com/users/01234567/johndoe"
-telegram = "https://t.me/johndoe"
-email = "john.doe@gmail.com"
-```
-
-## Syntax Highlighting
-
-The theme makes use of Zola code highlighting feature.
-It supports setting a different color scheme depending on the user selected theme (Dark / Light)
-In order to use it you should select the color scheme you want to use for light and dark themes in the list provided [here](https://www.getzola.org/documentation/getting-started/configuration/#syntax-highlighting) and edit your `config.toml` file like this example:
-
-```toml
-highlight_code = true
-highlight_theme = "css"
-highlight_themes_css = [
- { theme = "ayu-dark", filename = "syntax-dark.css" },
- { theme = "ayu-light", filename = "syntax-light.css" },
-]
-```
-
-## Custom Footer Content
-
-To overwrite the default footer (copyright notice), extend the `layout.html` template of the theme as described in the [Zola documentation](https://www.getzola.org/documentation/themes/extending-a-theme/#overriding-a-block) by creating a `layout.html` with the following content in your `templates` directory:
-
-```jinja
-{%/* extends "project-portfolio/templates/layout.html" */%}
-
-{%/* block content_footer */%}
-Here is my own footer with a link.
-{%/* endblock */%}
-```
-
-## Multiple Languages
-
-To enable multilingual support, add the following to the `config.toml` file (adapted to the additional language that you want to support):
-
-```toml
-[languages.de]
-title = "Projekt-Portfolio"
-taxonomies = [
- {name = "projects", paginate_by = 5, feed = true},
- {name = "skills", paginate_by = 5, feed = true},
-]
-
-[languages.de.translations]
-language_symbol = "🇩🇪"
-home = "Home"
-projects = "Projekte"
-skills = "Qualifikationen"
-read_more = "Weiterlesen"
-skills_technologies = "Qualifikationen & Technologien"
-main_skills = "Top-Fähigkeiten"
-other_skills = "Weitere Fähigkeiten"
-
-[extra]
-enable_multilingual = true
-```
-
-For the language switching of the theme to work best, it is recommended not to change the names of the taxonomies and to also keep the filenames for all pages of the site the same in all languages. Right now, the theme only supports websites with up to two languages. The default language and one additional language.
+
-Proceed to add translated markdown files.
\ No newline at end of file
diff --git a/docs/content/themes/project-portfolio/screenshot.png b/docs/content/themes/project-portfolio/screenshot.png
index 8c5a1bc1ba..5f0dc90a32 100644
Binary files a/docs/content/themes/project-portfolio/screenshot.png and b/docs/content/themes/project-portfolio/screenshot.png differ
diff --git a/docs/content/themes/radion/index.md b/docs/content/themes/radion/index.md
index 71783d9fa6..b52e22ff33 100644
--- a/docs/content/themes/radion/index.md
+++ b/docs/content/themes/radion/index.md
@@ -3,14 +3,14 @@
title = "radion"
description = "A sleek, modern blog theme."
template = "theme.html"
-date = 2025-03-02T14:11:58-06:00
+date = 2025-03-31T11:19:50-05:00
[taxonomies]
theme-tags = ['SEO', 'search', 'accessible']
[extra]
-created = 2025-03-02T14:11:58-06:00
-updated = 2025-03-02T14:11:58-06:00
+created = 2025-03-31T11:19:50-05:00
+updated = 2025-03-31T11:19:50-05:00
repository = "https://github.com/micahkepe/radion.git"
homepage = "https://github.com/micahkepe/radion"
minimum_version = "0.19.2"
@@ -158,11 +158,15 @@ author = "John Smith"
### Favicon
-To change the default favicon, create your own favicon folder with the following
-site: [RealFaviconGenerator](https://realfavicongenerator.net/), setting the
-'Favicon path' option to `/icons/favicon/`. Unzip the created folder, then
-create a `static/icons/` directory if it does not already exist, and then place
-the unzipped `favicon/` directory in `static/icons/`.
+To change the default favicon:
+
+1. Create your own favicon folder with the following site: [RealFaviconGenerator](https://realfavicongenerator.net/)
+
+ - Set the 'Favicon path' option to `/icons/favicon/`
+
+2. Unzip the created folder
+3. Create a `static/icons/` directory if it does not already exist
+4. Place the unzipped `favicon/` directory in `static/icons/`.
By default, favicons are enabled, however, if for some reason you would like to
disable favicons, set the following in your `config.toml`:
@@ -202,6 +206,10 @@ Enhanced Codeblocks (Clipboard Support and Language Tags)
codeblock = true
```
+> [!NOTE]
+> Ligatures are disabled by default as defined in the
+> [\_theme.scss](./sass/_theme.scss) file.
+
### LaTex Support
To enable LaTeX support with MathJax, set the following in your `config.toml`:
diff --git a/docs/content/themes/seje2/index.md b/docs/content/themes/seje2/index.md
index 3b88e94023..12480701c8 100644
--- a/docs/content/themes/seje2/index.md
+++ b/docs/content/themes/seje2/index.md
@@ -3,14 +3,14 @@
title = "Seje2"
description = "A beautiful zola theme"
template = "theme.html"
-date = 2024-11-20T15:05:16+08:00
+date = 2025-04-02T10:52:01+08:00
[taxonomies]
theme-tags = []
[extra]
-created = 2024-11-20T15:05:16+08:00
-updated = 2024-11-20T15:05:16+08:00
+created = 2025-04-02T10:52:01+08:00
+updated = 2025-04-02T10:52:01+08:00
repository = "https://github.com/eatradish/seje2.git"
homepage = "https://github.com/eatradish/Seje2"
minimum_version = "0.15.0"
@@ -78,6 +78,13 @@ seje2_menu_links = [
If you put `$BASE_URL` in a url, it will automatically be replaced by the actual
site URL.
+### MathJax Latex Support
+Set a field in `extra` with a bool key of `seje_mathjax`:
+
+```toml
+seje_mathjax = true
+```
+
### License
Set a field in `extra` with a key of `license`:
diff --git a/docs/content/themes/serene/index.md b/docs/content/themes/serene/index.md
index 3383bcebda..a80ebc3edb 100644
--- a/docs/content/themes/serene/index.md
+++ b/docs/content/themes/serene/index.md
@@ -3,14 +3,14 @@
title = "serene"
description = "A spiffy blog theme for zola"
template = "theme.html"
-date = 2025-02-02T23:22:46+08:00
+date = 2025-03-31T08:20:53+08:00
[taxonomies]
theme-tags = []
[extra]
-created = 2025-02-02T23:22:46+08:00
-updated = 2025-02-02T23:22:46+08:00
+created = 2025-03-31T08:20:53+08:00
+updated = 2025-03-31T08:20:53+08:00
repository = "https://github.com/isunjn/serene.git"
homepage = "https://github.com/isunjn/serene"
minimum_version = "0.19.0"
@@ -22,33 +22,15 @@ name = "isunjn"
homepage = "https://github.com/isunjn"
+++
-
+
+ A minimal blog theme for zola, well crafted
+
-
+
+ Demo ·
+ Usage
+
-A spiffy blog theme for [zola](https://www.getzola.org), demo:
-
-## Features
-
-- Well crafted design
-- Customizable homepage layout
-- Projects page & Prose page
-- Dark mode & Customizable colors
-- Image zooming, Table-of-contents, Back-to-top button...
-- Out-of-date alert, Special quote, Featured mark...
-- Callout (note, warning, alert, etc.)
-- Anonymous emoji reactions
-- Comments using [Giscus](https://giscus.app)
-- Mathematical notations using [KaTeX](https://katex.org) or [Typst](https://typst.app)
-- Diagrams and visualizations using [Mermaid](https://github.com/mermaid-js/mermaid)
-
-## Usage
-
-- Check the [USAGE.md](https://github.com/isunjn/serene/blob/latest/USAGE.md) of `latest` branch
-- Also available in Simplified Chinese: [USAGE-zh_CN.md](https://github.com/isunjn/serene/blob/latest/USAGE-zh_CN.md) (简体中文)
-
-## License
-
-[MIT](https://github.com/isunjn/serene/blob/main/LICENSE)
+
\ No newline at end of file
diff --git a/docs/content/themes/serene/screenshot.png b/docs/content/themes/serene/screenshot.png
index 7e2ecfed1c..b824cded12 100644
Binary files a/docs/content/themes/serene/screenshot.png and b/docs/content/themes/serene/screenshot.png differ
diff --git a/docs/content/themes/tabi/index.md b/docs/content/themes/tabi/index.md
index 857734036a..bae2d8b26c 100644
--- a/docs/content/themes/tabi/index.md
+++ b/docs/content/themes/tabi/index.md
@@ -3,14 +3,14 @@
title = "tabi"
description = "tabi is an accessible Zola theme with search, multi-language support, optional JavaScript, a perfect Lighthouse score, and comprehensive documentation. Crafted for personal websites and blogs."
template = "theme.html"
-date = 2025-03-15T10:12:11+01:00
+date = 2025-04-05T22:53:51+02:00
[taxonomies]
theme-tags = []
[extra]
-created = 2025-03-15T10:12:11+01:00
-updated = 2025-03-15T10:12:11+01:00
+created = 2025-04-05T22:53:51+02:00
+updated = 2025-04-05T22:53:51+02:00
repository = "https://github.com/welpo/tabi.git"
homepage = "https://github.com/welpo/tabi"
minimum_version = "0.17.0"
diff --git a/docs/content/themes/zluinav/index.md b/docs/content/themes/zluinav/index.md
index f211949f22..a1f6f82ad1 100644
--- a/docs/content/themes/zluinav/index.md
+++ b/docs/content/themes/zluinav/index.md
@@ -3,14 +3,14 @@
title = "UI Navigation"
description = "A multilingual theme designed for accessibility rather than visual."
template = "theme.html"
-date = 2025-03-07T12:07:40+06:30
+date = 2025-03-18T21:11:06+07:00
[taxonomies]
theme-tags = ['blind', 'multilingual', 'accessible', 'responsive', 'search', 'documentation', 'blog', 'SEO']
[extra]
-created = 2025-03-07T12:07:40+06:30
-updated = 2025-03-07T12:07:40+06:30
+created = 2025-03-18T21:11:06+07:00
+updated = 2025-03-18T21:11:06+07:00
repository = "https://github.com/harrymkt/zluinav"
homepage = "https://github.com/harrymkt/zluinav"
minimum_version = "0.19.2"