summaryrefslogtreecommitdiffstats
path: root/src/themes/serene/CHANGELOG.md
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-09-11 22:02:29 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-09-11 22:02:29 +0200
commite55841149d9259f26f4d117daba34b5666a52097 (patch)
tree841e8c85615ae3563b6d8a4ea575eb275e0feacd /src/themes/serene/CHANGELOG.md
parenttreefmt.nix: Update to newest nixpkgs changes (diff)
downloadb-peetz.de-e55841149d9259f26f4d117daba34b5666a52097.zip
src/themes/serene: Update to newest version
Diffstat (limited to '')
-rw-r--r--src/themes/serene/CHANGELOG.md165
1 files changed, 165 insertions, 0 deletions
diff --git a/src/themes/serene/CHANGELOG.md b/src/themes/serene/CHANGELOG.md
index 872470b..77a1b42 100644
--- a/src/themes/serene/CHANGELOG.md
+++ b/src/themes/serene/CHANGELOG.md
@@ -2,6 +2,158 @@
All notable changes to this project will be documented in this file.
+## [6.0.0] - 2026-09-06
+
+- feat: migrate to zola v0.23 / Tera v2, the minimum zola version required is now `v0.23.4`, shortcodes are rewritten as Tera components
+- feat: tag links are now generated via zola's taxonomy API instead of hardcoded `/tags/` paths, so the `taxonomy_root` config option (e.g. `taxonomy_root = "blog"` for `/blog/tags/xxx` URLs) is respected
+- feat: support multiple blog-like list sections — post pages now read config from their own parent section instead of the `blog_section_path` one, and each list section can have its own feed (`generate_feeds = true` in its `_index.md`); `blog_section_path` now only designates the main section used by the home page's recent posts and the tags pages
+- refactor: `blog.html` template is renamed to `posts.html`, change `template = "blog.html"` to `template = "posts.html"` in your blog section's `_index.md`
+- feat: display options (`toc` / `code_copy` / `comment` / `math` / `mermaid` / `reaction` / `outdated_alert` / `date_format`, etc.) now follow a unified fallback chain: post front-matter → section `_index.md` → `[extra]` of `zola.toml`, the closest one wins — notably `math` / `mermaid` can now be enabled for a whole section, and site-wide defaults can be set in `zola.toml`
+- refactor: several options are renamed for clarity: `force_theme` (`false | "light" | "dark"`) → `color_scheme` (`"auto" | "light" | "dark"`), `copy` → `code_copy`, `outdate_alert*` → `outdated_alert*`, and `id` of the home section → `handle`
+- refactor: the `sections` config option is renamed to `nav`, and its `is_external` field is removed — a `path` starting with `/` is an internal link, anything else (e.g. an `https://` URL) is treated as an external link automatically; external nav links now show a `ne-resize` cursor
+- refactor: `name` / `handle` / `bio` / `avatar` / `links` of the home page are moved from the home section's `_index.md` to `[extra]` of `zola.toml`
+- refactor: the example config file is renamed from `config.example.toml` to `zola.toml.example`, following zola v0.23's new default config file name `zola.toml` (the old `config.toml` name still works)
+- refactor: the callout components (`note` / `tip` / `important` / `warning` / `caution`) are removed in favor of zola's native [GitHub alert syntax](https://github.com/orgs/community/discussions/16925) (`> [!NOTE]`), styled with icon and title by the theme; the title texts can be customized via css variables (`--callout-note-title`, etc.)
+- feat: collections are redesigned — item appearance (`layout = "card" | "row" | "tile" | "gallery"`) and arrangement (`flow = "stack" | "inline" | "grid"`, the grid adapts its column count to the available width) are now declared at the collection level, and all layouts share one unified set of item fields (`title` / `subtitle` / `content` / `icon` / `image` / `link` / `badge` / `tags` / `featured`) with graceful degradation; item `link`s are auto-detected as internal or external, and `image` supports section-colocated files; `card` items can additionally show a picture on the left via `image` (the small `icon` before the title is a separate field)
+- chore: upgrade Mermaid to 11.17.2 and KaTeX to 0.18.6, refreshing KaTeX resource integrity hashes
+
+### Migrate from zola v0.22
+
+Zola v0.23 removed shortcodes and Tera macros in favor of [Tera components](https://www.getzola.org/documentation/content/overview/#templating-your-content), and your markdown content is now itself a Tera template. Once you update zola and this theme, you need to update your content accordingly:
+
+- Shortcode calls in your markdown must be rewritten in component syntax. Arguments other than strings are wrapped in `{...}`:
+ - `{{ figure(src="...", width="600") }}` → `{{ <figure src="..." width="600" /> }}`
+ - `{% quote(cite="...") %} ... {% end %}` → `{% <quote cite="..."> %} ... {% </quote> %}`
+ - `{{ youtube(id="...", autoplay=true) }}` → `{{ <youtube id="..." autoplay={true} /> }}`
+ - `{{ collection(file="projects.toml") }}` → `{{ <collection file="projects.toml" section /> }}` (note the extra `section`)
+- The callout shortcodes are removed, rewrite them with the GitHub alert syntax (custom titles are not supported, the title is always the type name):
+
+ ```md
+ {% note(title="Note") %}
+ note text
+ {% end %}
+ ```
+
+ becomes:
+
+ ```md
+ > [!NOTE]
+ > note text
+ ```
+
+- For `figure` with a colocated image, pass the page context: `{{ <figure src="img.png" page /> }}` (or `section` instead of `page` when used in a section's `_index.md`)
+- `width` / `height` of `figure` must be strings: `width="600"`, not `width=600`
+- Literal `{{` or `{%` in your content (e.g. code blocks showing template syntax, GitHub Actions `${{ ... }}`) must be wrapped with `{% raw %}` ... `{% endraw %}`, otherwise zola will try to interpret them as Tera syntax. For files full of such content, you can instead list them in the `skip_content_templating` config option (glob patterns) to opt them out of templating entirely (components won't work in those files)
+- Component calls must be at the top level of your markdown content — nesting them inside a list item is no longer supported (the component's HTML output breaks the list's indentation rules and produces broken HTML). If you had e.g. a callout inside a list item, move it out of the list
+- The `date` filter is now backed by [jiff](https://docs.rs/jiff/latest/jiff/fmt/strtime/index.html) instead of chrono. Common `date_format` values like `"%b %-d, %Y"` still work, but chrono-specific specifiers (e.g. `%+`) are no longer supported and will fail the build — check your `date_format` options against the jiff docs
+- Syntax highlighting CSS files (`giallo-light.css` / `giallo-dark.css`) are now generated directly into the output directory instead of `static/`, so you can remove them from your `static/` folder and `.gitignore`
+- If you have custom templates that override serene's, they must be migrated to Tera v2 as well, see the [Tera migration guide](https://github.com/Keats/tera/blob/master/MIGRATION.md)
+- The `blog.html` template is renamed to `posts.html`: change `template = "blog.html"` to `template = "posts.html"` in your blog section's `_index.md`
+- Zola's default config file name is now `zola.toml` — you can rename your `config.toml` to `zola.toml` (optional, the old name still works)
+- Several options are renamed, update them in your `zola.toml` / section `_index.md` / post front-matter:
+ - `force_theme = false | "light" | "dark"` → `color_scheme = "auto" | "light" | "dark"` (`false` becomes `"auto"`)
+ - `copy` → `code_copy`
+ - `outdate_alert` / `outdate_alert_days` / `outdate_alert_text_before` / `outdate_alert_text_after` → `outdated_alert` / `outdated_alert_days` / `outdated_alert_text_before` / `outdated_alert_text_after`
+ - `id` in the home section's `_index.md` → `handle`
+ - `sections` in `zola.toml` → `nav`, and remove the `is_external` field from its entries (external links are now detected automatically from the `path`)
+ - `name` / `handle` / `bio` / `avatar` / `links` move from the home section's `_index.md` to `[extra]` of `zola.toml`
+- Collection toml files use a new schema, update them as follows:
+ - each `[[collection]]` becomes `[[item]]`, and the per-item `type` moves to a single collection-level `layout` at the top of the file: `card` → `layout = "card"`, `card_simple` → `layout = "row"` plus `flow = "stack"` (rename its `content` to `subtitle`), `entry` → `layout = "row"`, `box` → `layout = "tile"`, `art` → `layout = "gallery"`, `art_simple` → `layout = "gallery"` plus `flow = "grid"`
+ - rename item fields: `img` → `image` (`icon` keeps its name), and both `date` and `footer` → `badge` (a short mark rendered as-is: a year, a date range, a rating, a status...)
+ - remove `type = "br"` items — arrangement is now controlled by the collection-level `flow` (`"stack"` / `"inline"` / `"grid"`) option
+
+## [5.7.0] - 2026-08-09
+
+- feat: add open graph & twitter card meta tags and canonical link
+- fix: resolve colocated figure image URLs [@uchouT](https://github.com/uchouT) ([#109](https://github.com/isunjn/serene/pull/109))
+- fix: art collection content margin
+
+## [5.6.3] - 2026-02-14
+
+- fix: back link behavior on new tab
+
+## [5.6.2] - 2026-02-13
+
+- feat: add markdown support for collection's content and subtitle [@paulhdk](https://github.com/paulhdk) ([#104](https://github.com/isunjn/serene/pull/104))
+
+## [5.6.1] - 2026-02-01
+
+- fix: codeblock with filename
+
+## [5.6.0] - 2026-02-01
+
+- feat: adapt zola v0.22 new code highlighting, custom highlight themes (`serene-light`/`serene-dark`) are removed in favor of built-in themes
+- feat: add `github_alerts` color styling (zola v0.21+ feature)
+- feat: add `rel_me` option for links (useful for Mastodon verification)
+- feat: add `youtube` shortcode [@gloomydumber](https://github.com/gloomydumber) ([#92](https://github.com/isunjn/serene/pull/92))
+- fix: input element color scheme should be changed along with light/dark mode change
+
+### Migrate from zola v0.21
+
+Since this version, the minimum zola version required has changed to `v0.22.1`.
+
+Replace the old `[markdown]` section in your `config.toml`:
+
+```toml
+# Old (remove these)
+[markdown]
+highlight_code = true
+highlight_theme = "css"
+extra_syntaxes_and_themes = ["themes/serene/highlight_themes"]
+highlight_themes_css = [
+ { theme = "serene-light", filename = "hl-light.css" },
+ { theme = "serene-dark", filename = "hl-dark.css" },
+]
+```
+
+With the new format:
+
+```toml
+# New
+[markdown]
+github_alerts = true # optional, enables GitHub-style callout syntax
+
+[markdown.highlighting]
+style = "class"
+light_theme = "github-light" # or any zola built-in theme
+dark_theme = "github-dark" # or any zola built-in theme
+```
+
+You should also delete the generated `hl-light.css` and `hl-dark.css` files from your `static/` directory if you have them.
+The new generated css files for code highlighting will be `giallo-light.css` and `giallo-dark.css`. (giallo is zola's new syntax highlighter)
+
+## [5.5.0] - 2025-10-18
+
+- feat: shortcode `figure`'s `caption` can use markdown now, the `via` prop is removed, use `caption="[via](https://example.com)"` instead
+- fix: shortcode `figure` now will keep img's ratio on small screens when `width` and `height` is set
+- ui: a few tweaks
+
+## [5.4.3] - 2025-09-29
+
+- fix: correct back link button behavior when there is a hash in url
+
+## [5.4.2] - 2025-09-27
+
+- fix: feed.xml template build error when there is no post
+
+## [5.4.1] - 2025-09-21
+
+- feat: add overflow scroll indicator for table-of-contents
+
+## [5.4.0] - 2025-09-06
+
+- ui: a few tweaks
+- feat: back link button now do `history.back()` if appropriate
+- feat: add custom height and width options for `figure` shortcode [@znxftw](https://github.com/znxftw) ([#83](https://github.com/isunjn/serene/pull/83))
+
+## [5.3.1] - 2025-05-22
+
+- fix: `extra_syntaxes_and_themes` defaults to theme's, so you don't need to copy that path [@makai410](https://github.com/makai410) ([#80](https://github.com/isunjn/serene/pull/80))
+
+## [5.3.0] - 2025-05-07
+
+- ui: a few tweaks
+
## [5.2.1] - 2025-04-19
- fix: homepage avatar style
@@ -315,6 +467,19 @@ All notable changes to this project will be documented in this file.
First release 🎉
+[6.0.0]: https://github.com/isunjn/serene/compare/v5.7.0...v6.0.0
+[5.7.0]: https://github.com/isunjn/serene/compare/v5.6.3...v5.7.0
+[5.6.3]: https://github.com/isunjn/serene/compare/v5.6.2...v5.6.3
+[5.6.2]: https://github.com/isunjn/serene/compare/v5.6.1...v5.6.2
+[5.6.1]: https://github.com/isunjn/serene/compare/v5.6.0...v5.6.1
+[5.6.0]: https://github.com/isunjn/serene/compare/v5.5.0...v5.6.0
+[5.5.0]: https://github.com/isunjn/serene/compare/v5.4.3...v5.5.0
+[5.4.3]: https://github.com/isunjn/serene/compare/v5.4.2...v5.4.3
+[5.4.2]: https://github.com/isunjn/serene/compare/v5.4.1...v5.4.2
+[5.4.1]: https://github.com/isunjn/serene/compare/v5.4.0...v5.4.1
+[5.4.0]: https://github.com/isunjn/serene/compare/v5.3.1...v5.4.0
+[5.3.1]: https://github.com/isunjn/serene/compare/v5.3.0...v5.3.1
+[5.3.0]: https://github.com/isunjn/serene/compare/v5.2.1...v5.3.0
[5.2.1]: https://github.com/isunjn/serene/compare/v5.2.0...v5.2.1
[5.2.0]: https://github.com/isunjn/serene/compare/v5.1.0...v5.2.0
[5.1.0]: https://github.com/isunjn/serene/compare/v5.0.1...v5.1.0