C — git-revision-date-localized plugin: adds a 'Last update' date to every V2
page (freshness signal for SEO and reader trust). Added the dependency to
requirements.txt, enabled it in v2-mkdocs.yml (type: date,
fallback_to_build_date so the build never fails), and set fetch-depth: 0 on the
06 deploy checkout so the plugin sees full git history (otherwise every page
would show the build date).
D — JSON-LD schema.org structured data: WebSite (with a sitelinks SearchAction)
+ publishing Organization, injected via an extrahead block in docs/overrides/
main.html (shared V1/V2). Enables richer search results / knowledge-panel
eligibility. Validated: build exits 0, JSON-LD parses, 'Last update' renders.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1. Skip page deletion and nav sync in --render-only mode
The CI publisher always uses --render-only but the pruning phase was
deleting pages not regenerated in a given pass (e.g. low-hit pages),
breaking nav references and corrupting the MkDocs build.
2. Protect dimension pages from deletion in full mode
Even in a full (non-render-only) run, pages defined in self.dimensions
are never deleted. Truly orphaned pages (not in dimensions AND not
generated) are the only ones pruned.
3. _sync_enterprise_navigation returns True/False
Deletion is gated on nav sync success. If nav sync fails, deletion
is skipped to prevent inconsistency (deleted files + stale nav).
Also fixes the fragile re.sub(r'nav:.*') regex by using string
indexing instead, preventing accidental truncation of extra_css etc.
4. Deploy workflow V2 sanity check
If V2 build produces fewer than 50 HTML pages or no index.html,
deploy falls back to V1-only instead of overwriting V1 with a
broken V2 build.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>