mirror of
https://github.com/zensical/zensical.git
synced 2026-08-23 07:36:52 +00:00
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>