Commit Graph
606 Commits
Author SHA1 Message Date
squidfunk 01662d8f84 fix: align social typography and expand parity coverage
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-23 15:18:18 +02:00
squidfunk 0f70a2f64f chore: document social internals and clear lint gate
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-23 14:02:44 +02:00
squidfunk 1a89694f11 fix: align social card rendering with Material
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-23 14:02:25 +02:00
squidfunk 62eb292f69 Merge branch 'master' into feature/social-plugin
Signed-off-by: squidfunk <martin.donath@squidfunk.com>

# Conflicts:
#	crates/zensical/src/config.rs
#	crates/zensical/src/config/plugins.rs
#	crates/zensical/src/workflow.rs
#	python/zensical/config.py
2026-09-23 12:19:57 +02:00
Martin Donath 7cac628932 chore: release v0.0.64
## Summary

Many of you have been waiting for this one: Zensical now includes native blog support. As a direct port of the Material for MkDocs blog plugin, it preserves the familiar configuration, metadata, URLs, archives, categories, authors, pagination, and more. We're happy to finally put it into your hands, with more flexible blogging functionality planned for the future.

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.64
2026-09-22 17:09:11 +02:00
Martin Donath 5825381d75 feature: add blog plugin replacement
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-22 17:04:24 +02:00
Martin Donath a85875ed26 fix: update ui to v0.0.32
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-22 16:21:32 +02:00
Martin Donath 1d03851a1f chore: release v0.0.63
## Summary

This version ensures pages containing snippets rebuild when source files change during local preview and excludes hidden files and directories from the generated site. It also fixes preview-site root redirects and returns proper 404 responses while preserving custom error pages.

Additionally, the [user interface] is updated to [v0.0.31], fixing empty submenus for sections containing only an index page and improving task list checkbox sizing and alignment in the modern theme. It also updates dependencies and adds 60 new icons across Lucide, Octicons, and Simple Icons.

[user interface]: https://github.com/zensical/ui
[v0.0.31]: https://github.com/zensical/ui/releases/tag/v0.0.31

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.63
2026-09-19 14:20:06 +02:00
Martin Donath a771962316 fix: update ui to v0.0.31
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-19 14:05:45 +02:00
Martin Donath 51b3d3d3da chore: update pull request guide
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-19 13:50:36 +02:00
Martin Donath 39cc42b744 chore: upgrade dependencies
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-19 00:20:24 +02:00
Martin Donath dfe8f943cd fix: rebuild pages containing snippets on source changes (#950)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-18 22:58:40 +02:00
Martin Donath d6cd5d5310 fix: append trailing slash to preview site root (#944)
* fix: append trailing slash to preview site root (#944)

Signed-off-by: squidfunk <martin.donath@squidfunk.com>

* fix: return 404 for missing files and preserve custom error pages (#944)

Signed-off-by: squidfunk <martin.donath@squidfunk.com>

---------

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-18 22:17:35 +02:00
Timothée Mazzucotelli 2070bf1cbe fix: don't add dotfiles to final site (#945)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-09-17 17:04:44 +00:00
squidfunk 530454c811 chore: update README
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-16 18:06:33 +02:00
Martin Donath c871c0e4c5 chore: improve issue templates
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-16 16:18:11 +02:00
Martin Donath 777d105f4e chore: release v0.0.62
## Summary

This version adds support for the [mkdocs-callouts] plugin, which renders Obsidian-style callouts as admonitions. It also improves compatibility with existing MkDocs projects by accepting more plugin settings, restores support for mike's `version_selector` option, and fixes builds when the project configuration file is included in `watch`.

Additionally, the [user interface] is updated to [v0.0.30], ensuring that anchor links reveal targets inside collapsed details, content tabs, and annotations—including deeply nested combinations—before scrolling to them.

[mkdocs-callouts]: https://github.com/sondregronas/mkdocs-callouts
[user interface]: https://github.com/zensical/ui
[v0.0.30]: https://github.com/zensical/ui/releases/tag/v0.0.30

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.62
2026-09-13 19:08:26 +02:00
Martin Donath 65a019da16 fix: update ui to v0.0.30
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-13 18:55:24 +02:00
Timothée Mazzucotelli d8fbb0559c feature: support mkdocs-callouts plugin by enabling pymdownx.quotes extension with callouts support (#938)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-09-13 14:55:48 +00:00
Timothée Mazzucotelli 9f36bb54ef refactor: relax all plugins validation
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-09-13 13:51:47 +00:00
Timothée Mazzucotelli 5c0bd36e85 fix: ignore config file in watch setting (#934)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-09-13 10:31:12 +00:00
Timothée Mazzucotelli 13fd89ee17 fix: relax mike settings validation (#932)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-09-13 10:30:54 +00:00
Martin Donath be163399a5 chore: release v0.0.61
## Summary

This version adds comprehensive support for documentation redirects in `mkdocs.yml` and `zensical.toml`. Zensical supports page and anchor redirects, resolves redirect chains, rejects cycles, and preserves links when pages are moved or split.

### Anchor redirects

Renaming a heading normally breaks bookmarks and external links to its old anchor. For example, after renaming `## Installation` to `## Getting started`, add:

```toml
[project.plugins.redirects.redirect_maps]
"guide.md#installation" = "guide.md#getting-started"
```

Existing links to `/guide/#installation` will then redirect to `/guide/#getting-started`. The same configuration can redirect anchors between pages or preserve individual sections when splitting a page.

### Automatic redirects

[Zensical Studio](https://zensical.org/studio/) detects renamed headings and offers an **Add anchor redirect** CodeLens. It can complete, validate, navigate to, and repair redirect targets while compacting repeated changes, updating redirect chains, and removing redundant self-redirects.

<img width="557" height="86" src="https://github.com/user-attachments/assets/802d8d99-a205-44af-a29f-6a26eaaa5780" />

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.61
2026-09-11 20:23:50 +02:00
Timothée Mazzucotelli 6910d564a1 fix: relax validation of autorefs settings
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-09-11 19:42:50 +02:00
squidfunk eac9e2444b fix: update ui to v0.0.29
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-11 19:08:08 +02:00
Martin Donath cdbd916c46 Merge pull request #928 from zensical/feature/anchor-redirects
feature: support anchor redirects
2026-09-11 15:19:03 +02:00
squidfunk 78a34cd53f fix: avoid port conflicts in server doctests
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-09 22:24:48 +02:00
squidfunk 6220f43d5d refactor: clarify redirect planning and output
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-09 22:05:32 +02:00
squidfunk 215d7faa19 feature: resolve redirect chains and reject cycles
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-09 21:52:25 +02:00
squidfunk a6fdc5f030 feature: resolve anchor overrides in page redirects
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-09 21:44:06 +02:00
squidfunk 0b1a3780bc feature: support anchor redirects
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-09 21:24:33 +02:00
Timothée Mazzucotelli 304e28054a fix: relax search validation (#926)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-09-09 18:20:20 +02:00
Martin Donath 6f87afcc2d chore: release v0.0.60
## Summary

This version updates the user interface to 0.0.28, fixing navigation pruning and alternate-link handling while adding 51 new icons. It also adds direct support for the `table-reader` plugin and fixes template inclusion with macros on Windows extended-length paths.

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.60
2026-09-08 15:43:38 +02:00
Martin Donath 82ece74436 fix: update ui to v0.0.28
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-08 15:20:45 +02:00
Timothée Mazzucotelli 3b929cca27 feature: support table-reader plugin directly (not through macros)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-09-08 10:43:05 +00:00
Timothée Mazzucotelli 765473c572 chore: validate more configuration settings
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-09-08 10:22:44 +00:00
Timothée Mazzucotelli 206b6b3f2b fix: handle Windows extended-length paths when including templates with macros (#914)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-09-07 17:13:27 +00:00
Timothée Mazzucotelli e48f90afff chore: format with Ruff
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-09-07 17:13:11 +00:00
Martin Donath 444b71e684 chore: release v0.0.59
## Summary

This version fixes navigation title precedence, Windows `custom_dir` paths, `material/meta` activation, and inline SVG icons processed by the `minify` plugin.

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.59
2026-09-03 20:27:54 +02:00
Martin Donath 005f01fa87 fix: minify plugin breaks icons circle and rect elements
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-03 19:56:34 +02:00
Martin Donath d6f3df3a1d Merge pull request #907 from zensical/fix/navigation-title
fix: respect navigation title precedence
2026-09-03 12:32:27 +02:00
squidfunk 6398ebddd8 refactor: separate navigation title resolution
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-03 12:24:56 +02:00
squidfunk 05f297e530 fix: respect navigation title precedence (#906)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-03 12:24:56 +02:00
Alexander Voss d7a5d384ef test: test for minify plugin replacement failing
Signed-off-by: alexvoss <alex@corealization.com>
2026-09-03 10:04:16 +02:00
Alexander Voss 96d43cd5d7 fix: custom_dir path interpreted incorrectly on Windows (#902)
Signed-off-by: alexvoss <alex@corealization.com>
2026-09-03 10:02:51 +02:00
squidfunk 72e4c23be1 feature: add social MkDocs plugin replacement
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-02 20:45:31 +02:00
Timothée Mazzucotelli 3f585fb882 chore: check and fix license headers
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-09-02 18:44:36 +02:00
Timothée Mazzucotelli b04478171d chore: format code with Ruff
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-09-02 18:33:19 +02:00
Martin Donath 9f1042a179 fix: meta plugin only enabled when using material/meta (#898)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-02 18:32:49 +02:00
Martin Donath 0ee1382e59 chore: release v0.0.58
## Summary

This version marks a major evolution of Zensical's build architecture and completes the most essential MkDocs plugin replacements.

Six new plugin replacements are now included:

- `meta`
- `redirects`
- `minify`
- `tags`
- `literate-nav`
- `awesome-nav`

The existing `search`, `mkdocstrings`, and `autorefs` replacements have also been migrated to the new architecture. We kept their behavior close to the upstream plugins while moving almost all processing into Rust. Python is now primarily responsible for configuration normalization and the narrow Python-Markdown adapter used by `literate-nav`.

Under the hood, the build pipeline now runs on a substantially more efficient ZRX scheduler and stream architecture. Together with more compact intermediate data, shared page state, and fewer allocations, this __reduces peak memory usage by roughly 30–40%__ on large projects. Builds are also modestly faster.

Most remaining build time is now spent rendering Markdown through Python-Markdown. One of our next major performance steps is replacing that stage with our Rust-based, Python-Markdown-compatible parser, as announced in the [June edition](https://mail.zensical.org/monthly/2026/06/) of Zensical Monthly.

Over the coming weeks, we'll focus on adding more plugin replacements so that increasingly complex existing projects can switch to Zensical without missing out on functionality. We'll also continue evolving the module API and make it available to interested early users before releasing it publicly.

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.58
2026-09-02 15:44:11 +02:00