Commit Graph

77 Commits

Author SHA1 Message Date
Timothée Mazzucotelli e33c972e03 fix: don't watch mkdocstrings-configured path if it's the root directory
This is a follow-up of commit 6e3d5ef64b which was actually incomplete. Since a/ is relative to a/, we also have to check that a path configured through mkdocstrings-python's  option isn't the project root itself.

Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-02-11 16:26:36 +01:00
Timothée Mazzucotelli e32ab15b1f feature: support autorefs plugin
This change brings support for using autorefs without mkdocstrings.

In order to support that, we incorporate Zensical-related code from mkdocstrings within our code base, for better control (and much more elegant logic).

Before, mkdocstrings would expose a Markdown extension as "mkdocstrings", that Zensical would add (as a string) to its configured Markdown extensions list when detecting the plugin. Now, Zensical instantiates the extension itself (which simplifies things a lot since we don't have to synchronize releases -and therefore code!- of Zensical and mkdocstrings).

Instead of having several possible sources for autorefs data (mkdocstrings and autorefs itself), we use a global data store that both autorefs and mkdocstrings reuse to register data. Zensical can simply retrieve this data when ready, with a call_method0 Pyo3 call (like before).

We instantiate the autorefs Markdown extension ourselves too, while mocking the classes used by mkdocstrings (autorefs plugin, MkDocs pages) to provide the same interface. What's nice about this is that we can now set the current page being rendered in autorefs without having to inject a dummy Markdown processor (that would before just act as a data store, for mkdocstrings to retrieve the current page and set it on the autorefs plugin instance). Since we control the (mocked) plugin, we can easily change its current page attribute.

This change effectively decouples Zensical from mkdocstrings, which means users upgrading Zensical don't even have to upgrade mkdocstrings.

Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-02-10 21:35:20 +01:00
Timothée Mazzucotelli e233f9f7d4 fix: fail early if mkdocstrings is enabled but not installed (#338)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-02-10 12:27:54 +01:00
Timothée Mazzucotelli 7e6ef17382 fix: create previews when target is current page (#330)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-02-04 15:35:50 +01:00
Tyrone Meijn 6643eb922f fix: invalid links to content actions in bootstrapped zensical.toml
Signed-off-by: Tyrone Meijn <tyrone_meijn@outlook.com>
2026-02-01 14:52:54 +01:00
Jens 5e58e169be docs: improve comment on tooltips in boostrapped zensical.toml
Signed-off-by: Jens <64728985+Jens-Unsinn@users.noreply.github.com>
2026-02-01 11:34:11 +01:00
Timothée Mazzucotelli 26fe17dc62 refactor: retrieve autorefs once (#98)
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-01-29 13:18:26 +01:00
Martin Donath dffcb1f5c2 chore: fix typo in bootstrapped zensical.toml (#303)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-01-25 10:54:55 +01:00
Timothée Mazzucotelli 6e3d5ef64b fix: don't watch external sources (#301)
issue #294

Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-01-23 17:25:59 +01:00
squidfunk 446217e7c6 refactor: switch to conservative auto-reload for source files
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-01-23 13:14:56 +01:00
Martin Donath 1877aeb8cd fix: reload loop when mkdocstrings loads modules from . (#294)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-01-23 12:52:25 +01:00
Timothée Mazzucotelli 1c5e3646be feature: support API cross-references
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2026-01-19 12:59:10 +01:00
Timothée Mazzucotelli f3e2620e5a fix: watch mkdocstrings source files for auto-reload
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
Co-authored-by: squidfunk <martin.donath@squidfunk.com>
2026-01-19 11:32:22 +01:00
Martin Donath 24e2168d80 feature: allow arbitrary admonition icon keys
* feat: allow arbitrary admonition icon keys

Signed-off-by: banteg <4562643+banteg@users.noreply.github.com>

* fix: non-string values not handled correctly with custom admonitions

Signed-off-by: squidfunk <martin.donath@squidfunk.com>

---------

Signed-off-by: banteg <4562643+banteg@users.noreply.github.com>
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
Co-authored-by: banteg <4562643+banteg@users.noreply.github.com>
2026-01-15 15:56:48 +01:00
Eden Yemini 4e14472f98 chore: update bootstrap copyright year to 2026
Signed-off-by: Eden Yemini <eden881@gmail.com>
2026-01-13 14:30:58 +01:00
squidfunk 50444252d8 chore: update copyright year to 2025-2026
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2026-01-02 12:33:41 +01:00
Timothée Mazzucotelli 76de3b6f9c chore: lint long lines
Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2025-12-22 11:50:36 +01:00
Martin Donath 2e31b939b9 fix: missing custom_dir setting crashes build
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2025-12-21 16:02:57 +01:00
squidfunk f5dde30fdf fix: changes to templates do not trigger rebuild (#103)
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2025-12-21 15:22:33 +01:00
squidfunk 0a4663ca36 style: auto-fix formatting
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2025-12-21 15:15:51 +01:00
Amy Bordenave 6faedd66a9 docs: fix grammar in zensical.toml
Signed-off-by: Amy Kate Bordenave <amykateb@uw.edu>
2025-12-21 10:07:26 +01:00
alexvoss 05feb1e5dd fix: defined repo_name replaced with host name (#205)
A logic error caused a defined `repo_name` to be overwritten by the host name from the `repo_url`.

Signed-off-by: alexvoss <alex@corealization.com>
2025-12-18 11:34:59 -05:00
Timothée Mazzucotelli 3377579796 zensical:fix - Make kwargs unpacking for custom fence/toc slugify function more robust (#197)
Signed-off-by: pawamoy <dev@pawamoy.fr>
2025-12-15 13:04:16 +01:00
Timothée Mazzucotelli e4fa679599 zensical:fix - Support keywords for custom fence formatter/validator (#196)
#193

Signed-off-by: pawamoy <dev@pawamoy.fr>
2025-12-15 13:01:49 +01:00
Alexander Voss 104b5ee62c zensical:fix - content.action buttons not displayed
#188
2025-12-12 14:37:36 -05:00
Martin Donath 3e402ef3be Merge pull request #194 from zensical/fix/stop-setting-extra-defaults
zensical:fix - Stop setting default values for keys under extra
2025-12-12 20:35:26 +01:00
Timothée Mazzucotelli df9eb0abe9 zensical:fix - Stop setting default values for keys under extra
#178

Signed-off-by: pawamoy <dev@pawamoy.fr>

# Please enter the commit message for your changes. Lines starting
# with '#' will be kept; you may remove them yourself if you want to.
# An empty message aborts the commit.
#
# Date:      Fri Dec 12 17:31:26 2025 +0100
#
# On branch fix/stop-setting-extra-defaults
# Your branch and 'origin/fix/stop-setting-extra-defaults' have diverged,
# and have 1 and 1 different commits each, respectively.
#
# Changes to be committed:
#	modified:   python/zensical/config.py
#
2025-12-12 17:32:17 +01:00
alexvoss c20650fe97 fix:zensical encoding errors reading mkdocs.yml (#189)
Signed-off-by: alexvoss <alex@corealization.com>
2025-12-12 10:45:02 -05:00
Martin Donath a875de5609 Merge pull request #180 from zensical/chore/linting-and-type-checking
zensical:chore - Setup Ruff and Mypy, lint code, check in CI
2025-12-12 12:08:11 +01:00
Timothée Mazzucotelli 9d1a1014a2 zensical:fix - dedent
Signed-off-by: pawamoy <dev@pawamoy.fr>

Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
2025-12-11 16:50:51 +01:00
Timothée Mazzucotelli 9a4deaf001 zensical:fix - Resolve pymdownx.superfences custom fence validators
#184

Signed-off-by: pawamoy <dev@pawamoy.fr>
2025-12-11 10:57:02 +01:00
Timothée Mazzucotelli e56f3019e6 zensical:chore - Fix type-checking with Mypy
Signed-off-by: pawamoy <dev@pawamoy.fr>
2025-12-10 16:12:32 +01:00
Timothée Mazzucotelli 16662405f0 zensical:chore - Apply Ruff fixes and lint code
Signed-off-by: pawamoy <dev@pawamoy.fr>
2025-12-10 16:12:21 +01:00
Timothée Mazzucotelli cdc62cd7aa zensical:fix - allow new command to run even when docs/ or .github/ folders exist (#176)
#171

Signed-off-by: pawamoy <dev@pawamoy.fr>
2025-12-09 00:15:05 +01:00
AlexanderNZ 7a0a5e0600 zensical:fix - navigation.indexes matches filenames containing 'index' - amended for signing
Signed-off-by: AlexanderNZ <alexcorkin@gmail.com>
2025-12-08 10:32:16 +13:00
squidfunk 9a0ddf7ef9 zensical:fix - links with whitespace do not resolve
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2025-12-03 13:41:25 +01:00
Martin Donath 0a576811f7 Merge pull request #160 from zensical/feat/enable-mkdocstrings-extension
zensical:feat - detect mkdocstrings plugin and enable equivalent extension
2025-12-01 10:37:51 +01:00
Timothée Mazzucotelli 33e229d1ed zensical:feat - detect mkdocstrings plugin and enable equivalent
extension

Signed-off-by: pawamoy <dev@pawamoy.fr>
2025-11-30 16:18:52 +01:00
Timothée Mazzucotelli 68eb95e8f9 zensical:chore - fix static typing in config.py
Signed-off-by: pawamoy <dev@pawamoy.fr>
2025-11-30 16:15:39 +01:00
Martin Donath afcec5a7a6 Merge pull request #154 from zensical/fix/new-command-example
zensical:docs - harmonize new command asset paths
2025-11-27 18:15:02 +01:00
squidfunk 90f0a1d107 zensical:docs - harmonize new command asset paths
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2025-11-27 18:13:31 +01:00
my1e5 abeaaf17c6 zensical:fix - Add deployment id to GitHub Actions workflow (#147)
Signed-off-by: my1e5 <10064103+my1e5@users.noreply.github.com>
2025-11-27 17:27:53 +01:00
Martin Donath 5b176ca1b2 Merge pull request #126 from zensical/refactor/change-relpath-processor-name
refactor: Change name under which the links processor is registered
2025-11-25 20:20:24 +01:00
squidfunk 10dd830e1b zensical:fix - zensical.toml doesn't recognize preview extension
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2025-11-25 20:08:19 +01:00
Timothée Mazzucotelli 7ec426147a refactor: Change name under which the links processor is registered
Signed-off-by: pawamoy <dev@pawamoy.fr>
2025-11-20 11:14:40 +01:00
squidfunk c048e8393e zensical:fix - config change in Markdown extensions not detected
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2025-11-18 20:05:59 +01:00
squidfunk ed29d882c2 zensical:fix - config parser expects name to be zensical.toml
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2025-11-18 19:00:29 +01:00
Martin Donath 9e0cdddec4 Merge pull request #108 from zensical/fix/dev_addr
zensical:fix - allow to set dev_addr in configuration
2025-11-15 12:13:49 +01:00
squidfunk 1a23f7c5f2 zensical:fix - allow to set dev_addr in configuration
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2025-11-15 12:06:33 +01:00
squidfunk 4e605b0cb1 zensical:fix - slugify function for toc and tabs not configurable
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
2025-11-15 11:14:06 +01:00