## Summary
This version updates the [user interface] to [v0.0.8], which fixes issues with instant previews for Chinese and other non-ASCII languages, and layout shifts when switching from short to long pages in the modern theme. Additionally, same-page links for when directory URLs are disabled where not resolved correctly, which is fixed as well.
[user interface]: https://github.com/zensical/ui
[v0.0.8]: https://github.com/zensical/ui/releases/tag/v0.0.8
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
# Summary
This version fixes a regression introduced in 0.0.22, where builds would error with mkdocstrings being not found, although the plugin wasn't configured.
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
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>
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>
This version updates the [user interface] to [v0.0.6], which fixes excessive memory usage for pages with hundreds of links that are marked with data-preview (for instant previews), among several other improvements and bug fixes.
[user interface]: https://github.com/zensical/ui
[v0.0.6]: https://github.com/zensical/ui/releases/tag/v0.0.6
- Back-to-top button was moved to the bottom for `modern` theme
- Several fixes for instant previews, improving memory usage and usability
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
## Summary
This version fixes excessive memory usage when building large mkdocstrings-powered documentation sites. Additionally, it fixes an issue where the build sometimes terminates prematurely. We're working on further improvements to memory consumption and stability in upcoming releases, as we're currently refactoring a significant part of the runtime.
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
This version adds support for the generation of `objects.inv` for your [mkdocstrings]-powered documentation site, allowing external tools to discover and link to your API documentation. No changes to your configuration are necessary.
Please also update to mkdocstrings v1.0.2.
[mkdocstrings]: https://mkdocstrings.github.io/
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
## Summary
This version fixes a reload loop when mkdocstrings `paths` setting is set to `.`, which was introduced in 0.0.17 as a regression, and a race condition related to caching is resolved. Additionally, Zensical was too retrictive, only allowing specific meta keys for the navigation templates. This has been relaxed to allow any meta keys to be used.
Signed-off-by: squidfunk <martin.donath@squidfunk.com>
## Summary
This version brings support for automatic and manual API cross-references. Symbol names on pages that include auto-generated API documentation now automatically link to the relevant section. Additionally, manual cross-references can be created both in Markdown pages and Python docstrings with the following syntax:
``` md
See [the FastAPI class][fastapi.FastAPI] for reference.
```
Moreover, cross-references from loaded inventories are now supported as well.
### Highlights
- Support for API cross-references
- Improve auto-reloading capabilities
Signed-off-by: squidfunk <martin.donath@squidfunk.com>