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
squidfunk
61b6d05b68
fix: preserve small tags in generated search index
...
Signed-off-by: squidfunk <martin.donath@squidfunk.com >
2026-06-21 20:24:47 +02:00
Martin Donath
e4a370f28d
refactor: change several validation defaults to false ( #758 )
...
Signed-off-by: squidfunk <martin.donath@squidfunk.com >
2026-06-21 15:58:05 +02:00
Timothée Mazzucotelli
909f97368c
fix: don't crash on invalid URLs in HTML ( #755 )
...
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr >
2026-06-19 11:03:49 +00:00
Timothée Mazzucotelli
e6b55fe6c6
fix: strip images from toc labels ( #749 )
...
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr >
2026-06-13 10:24:19 +00:00