188 Commits

Author SHA1 Message Date
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
Timothée Mazzucotelli 8d9536adf8 fix: revert "fix: brackets in indented code blocks recognized as unresolved link references (#700)" (#735)
This reverts commit c40f649f7b, as it was causing more issues with reference-style links, for example https://github.com/zensical/zensical/issues/735. Proper fixes will land later.

Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-06-05 13:31:56 +00:00
squidfunk fe04446967 chore: make ruff happy
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-06-04 19:16:03 +02:00
squidfunk eb7211503c fix: ignore Markdown comments [//]: ... during link validation
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-06-04 19:07:40 +02:00
squidfunk a4866d0fa6 chore: make ruff happy
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-06-04 19:03:03 +02:00
squidfunk c40f649f7b fix: brackets in indented code blocks recognized as unresolved link references (#700)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-06-04 18:59:54 +02:00
squidfunk 93cc869978 fix: snippet markers recognized as unresolved link references (#700)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-06-04 18:38:01 +02:00
Timothée Mazzucotelli db1f19c4ae fix: provide conf attribute in macros' env object
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-05-25 09:16:54 +00:00
squidfunk d7ccbe66a8 fix: anchors with escaped chars not matched during link validation (#703)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-22 09:39:16 +02:00
squidfunk 8b7e29e672 fix: empty footnote ref classified as link ref (#702)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-22 09:18:13 +02:00
squidfunk 1e873a397c fix: ignore links in code after literal dollar during link validation (#691)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-19 11:26:26 +02:00
squidfunk 7be40c6ceb fix: ignore GitHub-style callouts during link validation (#688)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-19 10:58:20 +02:00
squidfunk 85c3b1e321 fix: ignore [TOC] marker during link validation (#686)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-19 10:44:45 +02:00
Martin Donath 7a5d97abe0 Merge pull request #680 from zensical/fix/validation-edge-cases
harden link validation
2026-05-15 11:27:35 +02:00
squidfunk 4355dad3ce fix: harden link validation for files with CRLF line endings
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-15 11:23:45 +02:00
squidfunk a418c6bd3c fix: link validation doesn't ignore fenced code blocks when \r is present
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-15 11:05:07 +02:00
squidfunk b31dd1472c fix: $ at end of line breaks link validation (#659)
fix: `$` at end of line breaks link validation

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-15 10:41:12 +02:00
Timothée Mazzucotelli 17c67a2f62 fix: remove abbreviations from table of contents (#669)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-05-14 11:30:12 +00:00
Timothée Mazzucotelli 6eb2f4d942 fix: reserve theme name zensical
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-05-14 11:29:53 +00:00
Martin Donath 820755463d fix: don't consider [] and [][] link references (#663)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-12 09:51:22 +02:00
Martin Donath c338b270b5 fix: two backticks with no closing run trip up link parser (#663) (#665)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-12 09:43:32 +02:00
Timothée Mazzucotelli 5ef9ee4ee3 chore: use beautifulsoup and lxml to check HTML in tests
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-05-10 17:50:03 +00:00
Timothée Mazzucotelli 65931820ba chore: incorporate autorefs
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-05-10 15:20:44 +00:00
Timothée Mazzucotelli d707aa9e48 fix: prevent reload loop by de-duplicating watched theme files (#655)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-05-10 11:19:55 +00:00
Timothée Mazzucotelli 53f593f50e refactor: avoid mutating configurations list
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-05-10 10:55:45 +00:00
Timothée Mazzucotelli a77087a455 refactor: reorganize config module
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-05-09 15:26:15 +00:00
Timothée Mazzucotelli d24ea24a44 feature: support table reader functionality
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-05-09 12:54:10 +00:00
Timothée Mazzucotelli 67b6ef106c refactor: make extensions consistent
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-05-09 12:53:36 +00:00
Martin Donath bf26d1be5e refactor: implement parser for link validation
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-09 14:28:08 +02:00
Timothée Mazzucotelli ee64247c31 chore: setup reusable fixtures for extensions testing (#645)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-05-07 11:52:47 +00:00
Timothée Mazzucotelli 2cbb33d2f2 feature: support watch option (#643)
Watched paths trigger a full rebuild when modified.

Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-05-07 10:52:38 +00:00
Timothée Mazzucotelli bee1c3f7ea fix: give higher priority than superfences to macros preprocessor (#638)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-05-05 21:41:00 +00:00
Martin Donath 36b5131574 feature: exclude macros blocks from link validation
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-04 16:45:06 +02:00
Timothée Mazzucotelli f7fe088a37 feature: support macros plugin
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-05-04 14:40:04 +00:00