Add build-time version resolution from POM, runtime version switcher with
cached /versions.json fetch, and archived-version warning banner. Inject
version meta tags into HTML head and auto-switch robots to noindex for
archived builds via DC3_DOCS_IS_LATEST=false.
Add a seventh feature card for AI Integration. It was reachable only
from the top nav despite being the platform's headline differentiator.
Also add locale keyword titles to the home pages and make the hero
image alt descriptive.
Co-Authored-By: Claude <noreply@anthropic.com>
zh/frontend/test-debugging.md was a byte-identical copy of the English
version, so the Chinese sidebar entry served English content. Translate
it so the entry serves Chinese readers.
Co-Authored-By: Claude <noreply@anthropic.com>
Remove five devDependencies never imported in source (cytoscape,
cytoscape-cose-bilkent, dayjs, debug, @braintree/sanitize-url) and
delete 15 zero-reference hand-drawn HTML files under
.vitepress/diagrams-src/ that predate the Vue diagram components.
Co-Authored-By: Claude <noreply@anthropic.com>
- TopologyDiagram: the SVG aria-label was bound to the RabbitMQ bus band
name instead of describing the whole topology; add a dedicated aria
string for both locales and bind to it
- HeroWaves/HeroParticles: mark the decorative canvases aria-hidden with
role=presentation
- style.css: darken --dc3-arrow-label (#64748b -> #475569) and
--vp-c-text-3 (#6b7a89 -> #5b6976) so small diagram labels and tertiary
text clear WCAG AA 4.5:1 in light mode
Co-Authored-By: Claude <noreply@anthropic.com>
Rework transformHead in seo.mts:
- per-section Open Graph images reusing the existing screenshots and
architecture panoramas, with width/height/alt (was a single logo)
- TechArticle.datePublished from each file's first git commit (cached,
degrades to dateModified when git is unavailable)
- x-default now points at the English version (was Chinese)
- meta description length capped per locale (zh 80 / en 155) so CJK
pages are not truncated in SERPs
- collapse stray spaces between CJK glyphs after inline-markdown stripping
- fix self-referential home breadcrumb in BreadcrumbList
- root language gate gains canonical and hreflang alternates
- license header added to match the rest of the codebase
Root index.md gains a frontmatter description to replace the VitePress
default "A VitePress site".
Co-Authored-By: Claude <noreply@anthropic.com>
Remove site-wide AdSense auto-ads injection. A technical docs site is
not a traffic site, and AdSense was the heaviest third-party script on
every one of the 188 pages plus a MutationObserver scanning the document.
Add preconnect hints for the retained GA4 and Baidu Tongji origins so
the first request is not blocked on a cold DNS/TLS handshake.
Co-Authored-By: Claude <noreply@anthropic.com>
Make the VitePress navbar visually consistent across home, sidebar doc,
and 404 layouts, and fix layout issues introduced by the frosted navbar:
- Force a single translucent frosted layer on .VPNavBar (overriding the
theme's per-state opaque backgrounds) so the header looks identical on
every page and scroll state.
- Reserve the scrollbar gutter (scrollbar-gutter + overflow-y: scroll) so
the right-aligned menu no longer shifts between scrolling and short pages.
- Align the sidebar-page menu right edge to the home page across all widths,
fixing the +32px jump at 1440px caused by the theme's hard-coded breakpoint
vs the custom --vp-layout-max-width (1504px).
- Move the sidebar scroll from the fixed aside to its inner .nav so the
scrollbar starts below the header instead of showing through the frosted
navbar; keep it in the padding band so it doesn't shrink content width.
- Restyle the active/hover sidebar item as an aligned rounded pill with a
clean gap from the scrollbar; trim excess bottom padding.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This consolidates the docs site nav into 5 pillars and aligns the
technology-stack page URL with its new home inside the develop pillar.
Pillar restructure (docs/.vitepress/config.mts + locales):
* architecture absorbs the previous Overview pillar — its pages now
live under a '项目总览' group, with the existing architecture
detail groups following.
* AI is extracted out of Develop into a top-level pillar between
Drivers and Foundations. The previously orphaned
ai/spring-ai-deep-dive page is now reachable from the sidebar.
* Operations is merged into Develop. The Develop sidebar runs 6
groups ordered by reader workflow:
快速开始 → 部署与运维 → 开发 → 前端 → 自动化 → 运营.
File move:
* introduction/technology-stack.md -> development/technology-stack.md
(zh + en) so the page URL matches its sidebar home.
The zh / en locale files keep identical key sets (141 keys, no diff).
Replace the static SEO/social meta tags in the config head with a
transformHead hook (seo.mts) that emits per-page, per-locale description,
Open Graph, Twitter card, hreflang alternates, and JSON-LD structured
data (Organization / WebSite / WebPage / BreadcrumbList). Add llms.txt
to describe the site for LLM crawlers.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The doc was moved from dc3-web/docs/ to docs/zh/frontend/ then deleted
as an "orphan", but ai-guardrails.test.ts still read the old path,
breaking the quality gate on every frontend PR. Restore the doc and
point the test at its current location.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Enable the vitepress sitemap (hostname https://docs.dc3.site), add robots.txt, and add description + Open Graph/Twitter card meta so search engines and social shares get proper previews. Sitemap auto-emits en/zh URLs with hreflang alternates.
Co-Authored-By: Claude <noreply@anthropic.com>
Whitespace-only reindentation of multi-line {{ }} interpolation in
Point.vue and the docs architecture diagram components. No behavior change.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Align @param tag indentation in AgenticChatResponseCodec, GrpcFacadeSupport, PlcS7DriverCustomServiceImpl
- Align markdown table columns in docs/en and docs/zh architecture, technology-stack, operation, quickstart
- Reformat vitepress config group items for readability
- Add README.ko.md (한국어), README.es.md (Español), README.ru.md (Русский)
- Update language navigation bar in all existing READMEs (en/zh/ja/vi)
- Add architecture panorama SVG and PNG for ko/es/ru (2400x1536 @2x)
- Fix README architecture diagram references to use language-specific images
- convert logo and architecture svg to png (gitee does not render relative-path svg)
- inject per-language fonts (pingfang/hiragino/arial unicode) with white background
- reframe title to multi-protocol, ai-powered, cloud-native across zh/en/ja/vi
- soften 'operate devices directly' to access-controlled ai-assisted operations
- keep original svg for the vitepress docs site
Relocate .superpowers/ and docs/superpowers/ to
/Users/pnoker/Code/pnoker/IoTDC3/github/ — these are maintainer-internal
working documents, not part of the iot-dc3 repository.