diff options
| author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-09-11 22:02:29 +0200 |
|---|---|---|
| committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-09-11 22:02:29 +0200 |
| commit | e55841149d9259f26f4d117daba34b5666a52097 (patch) | |
| tree | 841e8c85615ae3563b6d8a4ea575eb275e0feacd /src/themes/serene/CHANGELOG.md | |
| parent | treefmt.nix: Update to newest nixpkgs changes (diff) | |
| download | b-peetz.de-e55841149d9259f26f4d117daba34b5666a52097.zip | |
src/themes/serene: Update to newest version
Diffstat (limited to '')
| -rw-r--r-- | src/themes/serene/CHANGELOG.md | 165 |
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 |
