225 Commits
Author SHA1 Message Date
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
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
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
Timothée Mazzucotelli f4830e0016 performance: iterate over raw HTML blocks only once per post-processor
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-09-01 18:56:45 +02:00
Timothée Mazzucotelli af0ca2eeb1 performance: faster autorefs URL membership check
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-09-01 18:54:43 +02:00
Timothée Mazzucotelli 965351d939 fix: run link rewriting post-processor before raw HTML post-processor
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-09-01 18:51:58 +02:00
squidfunk 3c779b98b8 refactor: finalize scheduler and plugin integration
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-01 18:36:02 +02:00
squidfunk 1e1fc7975b feature: add awesome-nav MkDocs plugin replacement
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-01 18:36:01 +02:00
squidfunk c3dbdfec55 feature: add literate-nav MkDocs plugin replacement
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-01 18:36:01 +02:00
squidfunk 32bd870744 feature: add tags MkDocs plugin replacement
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-01 18:36:01 +02:00
squidfunk 86646a4aaf refactor: reconcile MkDocs plugin infrastructure
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-01 18:36:01 +02:00
squidfunk cbdd6ce217 feature: add minify MkDocs plugin replacement
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-01 18:36:00 +02:00
squidfunk afe1ecb259 feature: add redirects MkDocs plugin replacement
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-01 18:36:00 +02:00
squidfunk 8dc4a80a4e feature: add meta MkDocs plugin replacement
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-01 18:36:00 +02:00
squidfunk 83b0fd7541 refactor: migrate autorefs MkDocs plugin replacement
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-01 18:35:54 +02:00
squidfunk 3a390c7647 refactor: migrate mkdocstrings MkDocs plugin replacement
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-01 18:35:44 +02:00
squidfunk ff11fe3ef4 refactor: migrate search MkDocs plugin replacement
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-09-01 18:35:29 +02:00
Timothée Mazzucotelli 02d903d511 fix: maintain Python-Markdown extensions ordering
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-08-29 15:00:28 +00: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
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 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
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 bb2cbee9e8 fix: defaults for mike incorrectly set
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-08-13 14:37:29 +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
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
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
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
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 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
Timothée Mazzucotelli 71c976cd96 refactor: allow configuring mkdocstrings as a Markdown extension
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-07-07 14:44:30 +02:00
Martin Donath b2eaab3bd3 chore: shim for markdown-exec not executing
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-07-05 17:19:45 +02:00
Timothée Mazzucotelli 05856add19 feature: support markdown-exec plugin
Since markdown-exec is not a proper Markdown extension but just a collection of custom superfences for the pymdownx.superfences extension, we cannot directly parametrize it to disable a few things that Zensical doesn't need (compared to MkDocs). We can't make it a proper extension because it modifies the configuration of superfences, hence requiring to run before it in all cases, order which we cannot guarantee since users could enable it themselves as a Markdown extension and after superfences.

To instruct markdown-exec that it runs through Zensical, we set a global variable in its top-level module. This requires that a new version of markdown-exec is published to take it into account when deciding whether to inject assets when rendering Pyodide fences, that Zensical provides natively (contrary to MkDocs).

Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-07-05 17:00:58 +02:00
Timothée Mazzucotelli 35c8e3637f fix: fix check for appending iframe-worker polyfill (#785)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-07-04 13:41:02 +00:00
Timothée Mazzucotelli 7158eab75a fix: catch misconfiguration of site_dir and docs_dir (#780)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-07-03 11:56:58 +02:00