Commit Graph
433 Commits
Author SHA1 Message Date
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
squidfunk 814d2e9edf fix: link validation yields false positives on Windows (#616)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-03 12:39:09 +02:00
Martin DonathandtakeshiD b229bac9ad fix: zensical serve returns 404 after suspend (#574)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
Co-authored-by: takeshiD <goriponikeike55@gmail.com>
2026-05-01 20:08:37 +02:00
Martin Donath b5492cef2e fix: shim for mkdocs-glightbox fails when only defaults are set (#611)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-01 19:32:54 +02:00
Martin Donath 0291ad5360 chore: release v0.0.39
## Summary

This version fixes several bugs related to link validation and lightbox configuration.

Signed-off-by: squidfunk <martin.donath@squidfunk.com>
v0.0.39
2026-05-01 18:24:15 +02:00
Martin Donath fe42fc4dde fix: shim for MkDocs validation syntax overrides Zensical's (#607)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-01 18:18:35 +02:00
Martin Donath 89d99bafaf Merge pull request #597 from zensical/fix/validation-text-fragment
fix: anchor not extracted from combined anchor-text-fragment
2026-05-01 18:02:52 +02:00
Martin Donath 273dd2313a fix: auto-themed gallery takes precedence over explicit grouping
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-01 17:37:02 +02:00
Martin Donath b693a2fe4b Fix glightbox captions (#605)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-01 13:46:55 +02:00
squidfunk dfc74bf921 chore: fix ty warning
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-01 13:39:22 +02:00
squidfunk 3e27d6954b refactor: move glightbox config options to dataclass
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-01 13:36:14 +02:00
squidfunk 8ed39039ce chore: disable ruff's N802 globally
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-01 13:27:06 +02:00
squidfunk c050add8a0 fix: error when setting caption_position on glightbox extension (#604)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-01 13:12:13 +02:00
squidfunk 699d3be0f6 fix: add Python backtrace on Markdown rendering error
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-05-01 13:09:24 +02:00