Commit Graph
532 Commits
Author SHA1 Message Date
Martin Donath 325758fb2b fix: update ui to v0.0.26
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-08-21 22:29:02 +02:00
Martin Donath b020159529 refactor: increase max header size to 8kb (#875)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-08-21 12:34:54 +02:00
Timothée Mazzucotelli 7372e5bb76 fix: support pymdownx blocks in markdown exec (#871)
We use `markdown_exec.markdown_config.save()` to store the user configuration, so that markdown-exec's inner Markdown instances can render contents with the exact same configuration. Before, it would fallback to `md.registeredExtensions`, which isn't reliable.

Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-08-19 14:36:25 +00:00
Martin Donath ab17429025 chore: release v0.0.56
## Summary

This version fixes a regression introduced in 0.0.55, making Zensical report false positives for the deprecated `unresolved_references` setting. Additionally, checking of autorefs is moved to the `invalid_links` setting. Please disable `unresolved_references` - it is not supported anymore, and will be replaced by the reference parser that we're currently testing in [Zensical Studio](https://zensical.org/studio/).

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.56
2026-08-18 17:39:29 +02:00
Timothée Mazzucotelli e6c56cef60 refactor: report invalid autorefs under invalid_links validation setting
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-08-18 17:08:20 +02:00
Martin Donath 9973ac981b fix: regression reporting unresolved references (#866)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-08-17 18:33:03 +02:00
Martin Donath b60354ccb3 chore: release v0.0.55
## Summary

This version fixes two false positives in the reference extractor and reverts Zensical's bootstrapped `zensical.toml` to TOML 1.0, since most editor tooling does not yet support TOML 1.1. Zensical understands both, TOML 1.0 and TOML 1.1, so this change does not affect the functionality of Zensical itself.

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.55
2026-08-16 12:12:40 +02:00
Martin Donath b53048ed66 refactor: revert code blocks to TOML 1.0 (#860)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-08-15 12:21:33 +02:00
Martin Donath 7fe9b24982 Merge pull request #862 from zensical/fix/reference-extractor
fix: invalid code span detection in reference extractor
2026-08-14 18:48:08 +02:00
squidfunk 91d9d5031e fix: ignore surrounding whitespace in inline link targets (#861)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-08-14 18:45:43 +02:00
squidfunk 6774d6159c fix: invalid code span detection in reference extractor
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-08-14 18:36:52 +02:00
Martin Donath cfdf18f19b chore: release v0.0.54
## Summary

This version significantly reduces peak memory usage by 8–10×, making builds of large documentation projects substantially more efficient. It also improves reference validation by preventing false positives for links successfully resolved through autorefs.

Additionally, the [user interface](https://github.com/zensical/ui) is updated to [v0.0.25](https://github.com/zensical/ui/releases/tag/v0.0.25), fixing instant navigation for inline scripts and version aliases created with `mike`. This release also corrects `mike` configuration defaults and updates `webbrowser` to address a security vulnerability.

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.54
2026-08-13 17:48:51 +02:00
Timothée Mazzucotelli 34e6c89f4a performance: reduce peak memory usage by 8-10x
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-08-13 17:36:19 +02:00
Martin Donath 0d2fa6f416 fix: update ui to v0.0.25
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-08-13 16:58:46 +02:00
Martin Donath bb2cbee9e8 fix: defaults for mike incorrectly set
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-08-13 14:37:29 +02:00
Martin Donath d1602b04a2 Merge pull request #854 from zensical/chore/security-audit
chore: move dependency audit into `security.yml`
2026-08-13 14:14:13 +02:00
squidfunk 8cf761f5db fix: update webbrowser to address CVE
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-08-13 14:12:59 +02:00
Timothée Mazzucotelli db4f8ef5dc fix: avoid unresolved reference false-positive for autorefs
This commit fixes validation reporting false unresolved-reference errors for Markdown links that are successfully resolved by autorefs. Validation now runs after pages render, so it uses the autorefs results from the current build state and emits one complete issue report for that state.

**Validation implementation summary:**

- Page rendering now returns the identifiers that autorefs resolved, alongside rendered output.
- Validation combines those resolutions with the source-page references and anchors; a reference resolved by autorefs is no longer reported as unresolved.
- The workflow tracks a generation for page content and navigation, so it waits for matching render results from every page before creating issues. This prevents validation from using stale render data or printing duplicate reports during incremental updates.
- Reference collection now follows the configured documentation directory, and tests cover reporting after rendering and a subsequent clean rebuild.

Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-08-13 12:11:48 +00:00
squidfunk d757d8bb89 chore: move dependency audit into security.yml
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-08-13 14:08:32 +02:00
Martin Donath 21824d2aec chore: release v0.0.53
## Summary

This version adds support for enabling strict mode directly in `mkdocs.yml` or `zensical.toml`, allowing warnings to fail builds consistently without the `--strict` command-line option. It also reduces memory usage by sharing cross-reference data between navigation clones.

Additionally, the user interface is updated to `v0.0.24`, improving search rendering for right-to-left languages and adding four new Lucide icons. The generated `zensical.toml` now uses TOML 1.1 syntax, and `pymdownx` is updated to version 11.0 to address a vulnerability.

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.53
2026-08-04 16:01:11 +02:00
squidfunk 9f93533046 fix: update ui to v0.0.24
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-08-04 15:48:53 +02:00
94ceb078d1 refactor: update zensical.toml to TOML 1.1 syntax
Signed-off-by: alexvoss <alex@corealization.com>
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
Co-authored-by: alexvoss <alex@corealization.com>
Co-authored-by: squidfunk <martin.donath@squidfunk.com>
Co-authored-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-08-04 15:37:19 +02:00
Martin Donath e4212f8f6b chore: update uv.lock
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-08-04 14:28:35 +02:00
Timothée Mazzucotelli 6227f4e52f feature: support strict configuration option (#840)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-08-04 12:03:32 +02:00
Martin Donath 71c5ed5bff fix: update pymdownx to 11.0 to fix vulnerability
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-08-03 21:55:44 +02:00
jonathan343 b36f50a2e0 performance: wrap autorefs in Arc to reduce memory usage (#838)
Signed-off-by: jonathan343 <jonathangee09@gmail.com>
2026-08-01 11:42:14 +02:00
Martin Donath bf07314a4d chore: release v0.0.52
## Summary

This version adds search support for CJK languages: Chinese, Japanese, and Korean. Search needs to segment text into individual words before it can index and match them. While many languages separate words with spaces, this is not consistently the case for CJK text, particularly Chinese and Japanese. Search now uses locale-aware segmentation to identify meaningful word boundaries, ensuring that content and queries are indexed and matched correctly.

Set the [site language](https://zensical.org/docs/setup/language/#site-language) to `zh`, `zh-Hant`, `zh-TW`, `ja`, or `ko` to enable segmentation.

The search modal is also larger, showing more results and context at once. Additionally, keyboard keys inside admonitions now use the correct background color in the modern theme.

Dependencies and development tooling were updated, including TypeScript 7. The build scripts now use `tsx` instead of `ts-node`, and `npm-run-all2` replaces the unmaintained `npm-run-all`. Updated icon packages add 56 new icons: 23 Font Awesome icons, 21 Lucide icons, 8 Octicons, and 4 Simple Icons.

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.52
2026-07-30 12:15:52 +02:00
Martin Donath f2d9ef8e6d feature: add CJK language support for search
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-07-30 12:08:51 +02:00
Martin Donath 72f24bf482 feature: update ui to v0.0.23
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-07-30 12:00:03 +02:00
Martin Donath 362bf5d570 chore: release v0.0.51
## Summary

This version improves cached rebuilds by persisting `objects.inv` and autorefs data, fixes stale builds after removing files, and upgrades `soupsieve` to address vulnerabilities.

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.51
2026-07-17 19:57:19 +02:00
Martin Donath 7989a55dad Update dependencies
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-07-17 19:52:23 +02:00
Timothée Mazzucotelli ec69accd9d fix: cache objects.inv to persist it across cached rebuilds (#815)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-07-10 10:53:50 +00:00
Timothée Mazzucotelli 7e6940fdaf fix: cache autorefs data for cross-ref resolution across rebuilds (#805)
On a first build without cache, pages are built and cross-references resolved thanks to the autorefs data retrieved from the Python interpreter.

On a second build, if a page changed, the cache is not reused, so the page is rebuilt and cross-references within it must be resolved again, but if the target symbols were rendered in other, already cached pages, the Python interpreter doesn't hold the necessary data to resolve these cross-references.

We fix this by caching autorefs data. We still need to update the data retrieved from the cache with the data retrieved from the Python interpreter, to give precedence to autorefs data for pages that were rebuilt.

This solution still has the issue that stale data is never removed from the cache (for example, symbols that were completely deleted from the sources and API docs). The API would have to change a lot and often for it to have an impact though. Cleaning (`rm .cache/autorefs.json` or `zensical build --clean`) from time to time easily mitigates this.

Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-07-10 10:51:51 +00:00
Martin Donath 428d0d84de chore: release v0.0.50
## Summary
    
This version fixes a regression introduced in 0.0.48 which broke search.

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.50
2026-07-09 15:44:56 +02:00
Martin Donath e30d7e5f1e chore: release v0.0.49
## Summary
    
This version fixes a regression introduced in 0.0.49 which broke search.

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-07-09 15:07:42 +02:00
Martin Donath 46d9f29ca6 fix: update ui to v0.0.22
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-07-09 14:55:10 +02:00
Martin Donath 346cba79d8 chore: release v0.0.48
## Summary

This version updates the [user interface](https://github.com/zensical/ui) to [v0.0.21](https://github.com/zensical/ui/releases/tag/v0.0.21), bringing the latest fixes for Pyodide-powered code execution, search, and ANSI color rendering.

It also improves configuration parsing and defaults, and fixes relative and scoped cross-references for `mkdocstrings-python`.

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.48
2026-07-09 12:01:35 +02:00
Martin Donath 1f214129a9 chore: ignore error on buildx cache write
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-07-09 11:43:00 +02:00
Martin Donath cc688516e9 chore: release v0.0.48
## Summary

This version updates the [user interface](https://github.com/zensical/ui) to [v0.0.21](https://github.com/zensical/ui/releases/tag/v0.0.21), bringing the latest fixes for Pyodide-powered code execution, search, and ANSI color rendering.

It also improves configuration parsing and defaults, and fixes relative and scoped cross-references for `mkdocstrings-python`.

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-07-08 21:37:45 +02:00
Martin Donath 15f138a908 fix: update ui to v0.0.21
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-07-08 21:23:09 +02:00
Martin Donath b340e4d0b2 Merge pull request #797 from zensical/refactor/cherry-pick-useful-bits-from-rust-config-refactor
refactor: cherry pick useful bits from rust config refactor
2026-07-07 18:02:24 +02:00
Timothée Mazzucotelli 63c9dd3db5 fix: avoid registering same extension twice (as plugin and extension)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-07-07 17:46:50 +02:00
Timothée Mazzucotelli 25ba4c7fa4 fix: enable autorefs when mkdocstrings extension is enabled
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-07-07 17:46:04 +02:00
Timothée Mazzucotelli ad57e7e180 chore: upgrade actions/checkout in bootstrapped workflow
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-07-07 17:10:00 +02:00
Timothée Mazzucotelli 81596c18f4 fix: fix relative/scoped cross-refs support for mkdocstrings-python (#796)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-07-07 14:32:37 +00:00
Timothée Mazzucotelli d4a3a7b524 chore: update Cargo.lock file
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-07-07 14:26:28 +00:00
Timothée Mazzucotelli a58c38707b chore: prepare UI in CI
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-07-07 15:55:50 +02:00
Timothée Mazzucotelli bf084fc3c6 chore: add configuration testing
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-07-07 15:42:43 +02:00
Timothée Mazzucotelli 781305a401 fix: support theme being just a string
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-07-07 15:42:30 +02:00
Timothée Mazzucotelli c33d65b0f8 fix: support enabled option in autorefs, glightbox and macros extensions
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-07-07 15:41:55 +02:00