On a first build without cache, pages are built and cross-references resolved thanks to the autorefs data retrieved from the Python interpreter. On a second build, if a page changed, the cache is not reused, so the page is rebuilt and cross-references within it must be resolved again, but if the target symbols were rendered in other, already cached pages, the Python interpreter doesn't hold the necessary data to resolve these cross-references. We fix this by caching autorefs data. We still need to update the data retrieved from the cache with the data retrieved from the Python interpreter, to give precedence to autorefs data for pages that were rebuilt. This solution still has the issue that stale data is never removed from the cache (for example, symbols that were completely deleted from the sources and API docs). Signed-off-by: Timothée Mazzucotelli <dev@pawamoy.fr>
A modern static site generator built by the creators of Material for MkDocs
Home · Get started · Compatibility · Roadmap · Newsletter · Zensical Spark
Write your documentation in Markdown and create a professional static site for your Open Source or commercial project in minutes – searchable, customizable, more than 60 languages, for all devices.
Visit our documentation at zensical.org/docs/.
Zensical Spark
Zensical Spark is our offering for professionals and organizations using Zensical commercially. It lets us provide best-in-class support, keep the project sustainable, and Zensical free for everyone.
Zensical Spark may be a great fit if you:
- Need help migrating a complex MkDocs project to Zensical
- Want to ensure Zensical meets all your requirements – see how we work
- Want direct support from the core team, including 1:1 sessions
For the full list of benefits, see our subscription tiers.

