Commit Graph

282 Commits

Author SHA1 Message Date
Timothée Mazzucotelli bf930dd84b fix: hash plugins config to trigger page rebuilds (#387)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-02-26 14:12:17 +01:00
Martin Donath b93d630c0a fix: clarify examples in bootstrapped zensical.toml (#394)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-02-26 12:58:30 +01:00
Martin Donath 0ca44a6abc chore: release v0.0.24
## Summary

This version updates the [user interface] to [v0.0.8], which fixes issues with instant previews for Chinese and other non-ASCII languages, and layout shifts when switching from short to long pages in the modern theme. Additionally, same-page links for when directory URLs are disabled where not resolved correctly, which is fixed as well.

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

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.24
2026-02-26 10:35:47 +01:00
Martin Donath 1a9d0347e7 fix: update ui to v0.0.8
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-02-26 10:09:59 +01:00
Timothée Mazzucotelli 798da3350a fix: ignore virtual environments in mkdocstrings sources (#391)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-02-24 16:09:55 +01:00
Timothée Mazzucotelli 4b1ac98550 fix: same page links '.' with directory URLs disabled (regression) (#389)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-02-23 11:40:38 +01:00
Martin Donath 01b5f8f8ad docs: add note on Zensical Spark to README.md
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-02-22 10:07:39 +01:00
Martin Donath d9462afc01 chore: release v0.0.23
# Summary

This version fixes a regression introduced in 0.0.22, where builds would error with mkdocstrings being not found, although the plugin wasn't configured.

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.23
2026-02-11 22:16:43 +01:00
Timothée Mazzucotelli 10b5162aa6 fix: lazy import mkdocstrings (#360)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-02-11 22:09:10 +01:00
Martin Donath 7b845d9212 chore: release v0.0.22
## Summary

This version adds support for the [autorefs] plugin, and further improves performance for large mkdocstrings projects. The [user interface] is updated to [v0.0.7], which fixes some isses with the mobile browsering experience.

[autorefs]: https://github.com/mkdocstrings/autorefs
[user interface]: https://github.com/zensical/ui
[v0.0.7]: https://github.com/zensical/ui/releases/tag/v0.0.7

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.22
2026-02-11 19:22:20 +01:00
Timothée Mazzucotelli 1b1fd8458d fix: reset global data in compatibility modules between each rebuild
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-02-11 17:06:40 +01:00
Timothée Mazzucotelli e33c972e03 fix: don't watch mkdocstrings-configured path if it's the root directory
This is a follow-up of commit 6e3d5ef64b which was actually incomplete. Since a/ is relative to a/, we also have to check that a path configured through mkdocstrings-python's  option isn't the project root itself.

Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-02-11 16:26:36 +01:00
Martin Donath b3c699ba45 fix: update ui to v0.0.7
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-02-11 13:54:25 +01:00
Martin Donath 8352b1a14f chore: update zrx to v0.0.12
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-02-11 13:47:47 +01:00
Timothée Mazzucotelli e32ab15b1f feature: support autorefs plugin
This change brings support for using autorefs without mkdocstrings.

In order to support that, we incorporate Zensical-related code from mkdocstrings within our code base, for better control (and much more elegant logic).

Before, mkdocstrings would expose a Markdown extension as "mkdocstrings", that Zensical would add (as a string) to its configured Markdown extensions list when detecting the plugin. Now, Zensical instantiates the extension itself (which simplifies things a lot since we don't have to synchronize releases -and therefore code!- of Zensical and mkdocstrings).

Instead of having several possible sources for autorefs data (mkdocstrings and autorefs itself), we use a global data store that both autorefs and mkdocstrings reuse to register data. Zensical can simply retrieve this data when ready, with a call_method0 Pyo3 call (like before).

We instantiate the autorefs Markdown extension ourselves too, while mocking the classes used by mkdocstrings (autorefs plugin, MkDocs pages) to provide the same interface. What's nice about this is that we can now set the current page being rendered in autorefs without having to inject a dummy Markdown processor (that would before just act as a data store, for mkdocstrings to retrieve the current page and set it on the autorefs plugin instance). Since we control the (mocked) plugin, we can easily change its current page attribute.

This change effectively decouples Zensical from mkdocstrings, which means users upgrading Zensical don't even have to upgrade mkdocstrings.

Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-02-10 21:35:20 +01:00
Timothée Mazzucotelli e233f9f7d4 fix: fail early if mkdocstrings is enabled but not installed (#338)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-02-10 12:27:54 +01:00
Martin Donath e3fc49f72f fix: relative URLs with : need to start with ./ (#345)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-02-09 10:33:32 +01:00
Martin Donath d9623c3d95 chore: release v0.0.21
This version updates the [user interface] to [v0.0.6], which fixes excessive memory usage for pages with hundreds of links that are marked with data-preview (for instant previews), among several other improvements and bug fixes.

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

- Back-to-top button was moved to the bottom for `modern` theme
- Several fixes for instant previews, improving memory usage and usability

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.21
2026-02-04 18:39:25 +01:00
Martin Donath a876790810 fix: update ui to v0.0.6
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-02-04 18:26:51 +01:00
Martin Donath 97f5c3d22c chore: update bytes to 1.11.1 to mitigate CVE
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-02-04 18:24:12 +01:00
Martin Donath f178c66efe fix: changes to extra_css not automatically reloaded (#328)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-02-04 16:18:52 +01:00
Timothée Mazzucotelli 7e6ef17382 fix: create previews when target is current page (#330)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-02-04 15:35:50 +01:00
Tyrone Meijn 6643eb922f fix: invalid links to content actions in bootstrapped zensical.toml
Signed-off-by: Tyrone Meijn <tyrone_meijn@outlook.com>
2026-02-01 14:52:54 +01:00
Jens 5e58e169be docs: improve comment on tooltips in boostrapped zensical.toml
Signed-off-by: Jens <64728985+Jens-Unsinn@users.noreply.github.com>
2026-02-01 11:34:11 +01:00
Martin Donath 4b0f158fd5 chore: release v0.0.20
## Summary

This version fixes excessive memory usage when building large mkdocstrings-powered documentation sites. Additionally, it fixes an issue where the build sometimes terminates prematurely. We're working on further improvements to memory consumption and stability in upcoming releases, as we're currently refactoring a significant part of the runtime.

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.20
2026-01-29 13:32:27 +01:00
Martin Donath 0438a49e18 performance: remove unnecessary clone of navigation
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-01-29 13:27:28 +01:00
Martin Donath 81a918a1ac fix: build terminates prematurely for large mkdocstrings projects
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-01-29 13:21:32 +01:00
Timothée Mazzucotelli 26fe17dc62 refactor: retrieve autorefs once (#98)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-01-29 13:18:26 +01:00
Martin Donath 1ee537b55e docs: add statistics on PyPI downloads and Docker pulls
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-01-25 11:05:28 +01:00
Martin Donath dffcb1f5c2 chore: fix typo in bootstrapped zensical.toml (#303)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-01-25 10:54:55 +01:00
Martin Donath ce2b87f575 chore: release v0.0.19 (#302)
This version adds support for the generation of `objects.inv` for your [mkdocstrings]-powered documentation site, allowing external tools to discover and link to your API documentation. No changes to your configuration are necessary.

Please also update to mkdocstrings v1.0.2.

[mkdocstrings]: https://mkdocstrings.github.io/

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.19
2026-01-24 17:12:48 +01:00
Martin Donath f8c9e7f0e8 Merge pull request #280 from zensical/feature/generate-object-inventory
feature: generate object inventory file (API symbols)
2026-01-24 16:32:38 +01:00
Martin Donath 11e31ef683 style: move pyo3 imports to the correct location
Signed-off-by: Martin Donath <martin.donath@squidfunk.com>
2026-01-24 16:31:25 +01:00
Timothée Mazzucotelli 6e3d5ef64b fix: don't watch external sources (#301)
issue #294

Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-01-23 17:25:59 +01:00
Timothée Mazzucotelli b35a901f1e feature: generate object inventory file (API symbols)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-01-23 13:37:46 +01:00
Martin Donath 038400f7b1 chore: release v0.0.18 (#298)
## Summary

This version fixes a reload loop when mkdocstrings `paths` setting is set to `.`, which was introduced in 0.0.17 as a regression, and a race condition related to caching is resolved. Additionally, Zensical was too retrictive, only allowing specific meta keys for the navigation templates. This has been relaxed to allow any meta keys to be used.

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.18
2026-01-23 13:22:27 +01:00
Martin Donath d1e5ebd0d2 Merge pull request #297 from zensical/fix/nav-meta
fix: regression in default navigation handling
2026-01-23 13:17:33 +01:00
squidfunk 446217e7c6 refactor: switch to conservative auto-reload for source files
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-01-23 13:14:56 +01:00
squidfunk c8215e5723 fix: regression in default navigation handling
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-01-23 12:58:39 +01:00
Martin Donath 1877aeb8cd fix: reload loop when mkdocstrings loads modules from . (#294)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-01-23 12:52:25 +01:00
squidfunk 63ecdc5765 refactor: allow custom metadata in navigation templates (#291)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-01-23 12:46:03 +01:00
Martin Donath 986dbf1941 Merge pull request #289 from zensical/fix/trailing-characters
fix: build errors with "trailing characters"
2026-01-20 11:52:37 +01:00
squidfunk 8ef229b536 fix: build errors with "trailing characters" (#288)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-01-20 11:49:29 +01:00
squidfunk e510208b0b chore: update zrx to v0.0.9
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-01-20 11:49:20 +01:00
Martin Donath 551503caca chore: release v0.0.17
## Summary

This version brings support for automatic and manual API cross-references. Symbol names on pages that include auto-generated API documentation now automatically link to the relevant section. Additionally, manual cross-references can be created both in Markdown pages and Python docstrings with the following syntax:

``` md
See [the FastAPI class][fastapi.FastAPI] for reference.
```

Moreover, cross-references from loaded inventories are now supported as well.

### Highlights

- Support for API cross-references
- Improve auto-reloading capabilities

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.17
2026-01-19 13:20:22 +01:00
Martin Donath 5c6e92da51 fix: update ui to v0.0.5
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-01-19 13:08:21 +01:00
Timothée Mazzucotelli 1c5e3646be feature: support API cross-references
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-01-19 12:59:10 +01:00
Martin Donath 7b5e308d25 fix: browser opens on every config change when using --open (#275)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-01-19 11:57:50 +01:00
Martin Donath 319d8811a7 Merge pull request #282 from zensical/fix/page-occurrences-in-nav
fix: allow pages to appear multiple times in `nav` (#272)
2026-01-19 11:47:11 +01:00
squidfunk f0df45e520 chore: remove unnecessary mut
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-01-19 11:43:57 +01:00