Commit Graph
446 Commits
Author SHA1 Message Date
Martin Donath c18cd69fa2 Merge pull request #706 from zensical/fix/validation-regressions
fix: empty footnote ref classified as link ref (#702)
2026-05-22 09:45:20 +02: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
Martin Donath 7d2178a8a9 chore: release v0.0.43
## Summary

This version fixes further edge cases in link validation, and adds support for UTF-8 encoding with byte-order-marks.

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.43
2026-05-19 11:34:52 +02:00
Martin Donath 35a20425ac Merge pull request #697 from zensical/fix/validation-regressions 2026-05-19 11:31:52 +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 62a0feb8f4 fix: report path.md/#anchor as invalid during link validation (#690)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-19 11:20:04 +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
Timothée Mazzucotelli daafc8becb fix: filter out icons folder when watching theme directories (#693)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-05-18 10:50:54 +00:00
Timothée Mazzucotelli 913fd61670 fix: strip Byte-Order-Mark (BOM) from Markdown files (#687)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-05-17 15:34:55 +00:00
Martin Donath 7a141c5678 chore: release v0.0.42
## Summary

This version includes a number of bug fixes and refactorings to improve the stability and accuracy of link validation, and fixes a reload loop when the `custom_dir`, which is auto-watched, is explicitly added to `watch`. Moreover, GLightbox is now only downloaded when needed, which fixes an issue when using Zensical in air-gapped environments.

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.42
2026-05-15 12:11:25 +02:00
Martin Donath 6b54e140c8 fix: update ui to v0.0.18
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-15 12:05:15 +02:00
Martin Donath cdee1e8bc7 fix: disabling link validation doesn't disable link and reference collection (#659)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-15 11:38:52 +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
Timothée Mazzucotelli a5a864178c fix: only wait for config update after a first successful build (#670)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-05-13 09:45:21 +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
Martin Donath 84adc6f290 chore: release v0.0.41
## Summary

This version adds support for [integrating tabular data] as Markdown tables, covering the functionality of the [mkdocs-table-reader-plugin], as well as the [`watch`][watch] option to automatically rebuild on changes in unmonitored files. Table reading is implemented as part of [macros], which we shipped in [0.0.40]. You can now embed CSV and other file formats with:

```
{{ read_csv("data/team.csv") }}
```

Additionally, the stability of link [validation] has been drastically improved, reducing the rate for false positives. We're working on support for validating links using [autorefs], which we'll provide in one of the next versions.

[integrating tabular data]: https://zensical.org/docs/setup/extensions/macros/#reading-tabular-data
[mkdocs-table-reader-plugin]: https://pypi.org/project/mkdocs-table-reader-plugin/
[macros]: https://zensical.org/docs/setup/extensions/macros/
[0.0.40]: https://github.com/zensical/zensical/releases/tag/v0.0.40
[validation]: https://zensical.org/docs/setup/validation/
[watch]: https://zensical.org/docs/setup/basics/#watch
[autorefs]: https://mkdocstrings.github.io/autorefs/

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.41
2026-05-09 16:29:39 +02:00
Martin Donath 9e466fc2c1 fix: update ui to v0.0.17
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-09 16:13:32 +02: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 bc3e017c30 chore: release v0.0.40
## Summary

This version adds support for [macros], covering the functionality of the `mkdocs-macros-plugin`. Macros allow you to define custom variables and functions that can be used in your Markdown files, making it easier to manage and reuse content across your documentation.

We've implemented macros support as a Python Markdown extension, since it's essentially a Markdown preprocessor that doesn't need to be aware of the rest of Zensical's rendering process, except for the current page and configuration. The benefit is that it can now also be used in Python docstrings to build API documentation with [mkdocstrings].

[macros]: https://zensical.org/docs/setup/extensions/macros/
[mkdocstrings]: https://mkdocstrings.github.io

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.40
2026-05-04 17:49:13 +02:00
Martin Donath bdc3471b79 fix: update ui to v0.0.16
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-04 17:46:43 +02: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
Timothée Mazzucotelli 91090e9917 refactor: combine file watching for extensions
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-05-04 12:05:41 +00:00
Timothée Mazzucotelli 91a9f85d77 chore: fix import in test file
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-05-04 11:02:50 +00:00
Timothée Mazzucotelli b2fdc788d4 refactor: pass rendering context into preprocessor
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-05-04 09:55:15 +00:00
Timothée Mazzucotelli c23fb92789 chore: setup pytest and initial markdown extension testing
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-05-04 09:32:24 +00:00
Martin Donath 296eb2414a Merge pull request #622 from zensical/fix/link-validation-windows
fix: link validation exclusions on Windows ignoring `\r` (#615)
2026-05-04 09:04:33 +02:00
Timothée Mazzucotelli e0c6700c33 chore: set concise output for Ruff
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-05-03 21:27:44 +00:00
squidfunk 4be2374fbe fix: link validation doesn't catch end of MathJax when \r present (#615)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-03 19:13:58 +02:00
squidfunk c6cffec95f fix: link validation exclusions don't catch \r\n line feeds
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-03 19:01:03 +02:00
squidfunk 6efe0a3bcc fix: link validation exclusions require empty line after code block (#618)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-03 18:55:05 +02:00
Martin Donath 645bbe881a fix: clear site directory contents instead of removing it (#621)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-03 16:46:58 +02:00