mirror of
https://gitee.com/pnoker/iot-dc3.git
synced 2026-11-02 03:01:52 +08:00
docs(site): consolidate top-level nav pillars and rehome technology-stack
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).
This commit is contained in:
+32
-34
@@ -33,15 +33,17 @@ type Pillar = {
|
||||
groups: ReadonlyArray<Group>
|
||||
}
|
||||
|
||||
// Pillar order: 总览 → 架构 → 驱动 → 基础 → 开发 → 运维 (after nav 首页)
|
||||
// Pillar order: 架构 → 驱动 → AI → 基础 → 开发 (after nav 首页)
|
||||
const PILLARS: ReadonlyArray<Pillar> = [
|
||||
{ // ①
|
||||
navKey: 'pillar.overview', landing: 'introduction',
|
||||
paths: ['introduction', 'quickstart'], activeMatch: '^/(zh|en)/(introduction|quickstart)/',
|
||||
navKey: 'pillar.architecture', landing: 'architecture',
|
||||
paths: ['architecture', 'modules', 'introduction'],
|
||||
activeMatch: '^/(zh|en)/(architecture|modules|introduction)/',
|
||||
groups: [
|
||||
{key: '', items: [['architecture']]},
|
||||
{
|
||||
key: '',
|
||||
items: [['introduction'], ['introduction/concepts'], ['introduction/paths'], ['introduction/technology-stack']]
|
||||
key: 'group.project-overview',
|
||||
items: [['introduction'], ['introduction/concepts'], ['introduction/paths'], ['introduction/concepts/tenant']]
|
||||
},
|
||||
{
|
||||
key: 'group.objects-data',
|
||||
@@ -49,26 +51,18 @@ const PILLARS: ReadonlyArray<Pillar> = [
|
||||
},
|
||||
{
|
||||
key: 'group.capabilities-boundaries',
|
||||
items: [['introduction/concepts/command'], ['introduction/concepts/event'], ['introduction/concepts/attribute-config'], ['introduction/concepts/tenant']]
|
||||
items: [['introduction/concepts/command'], ['introduction/concepts/event'], ['introduction/concepts/attribute-config']]
|
||||
},
|
||||
{key: 'group.quickstart', items: [['quickstart'], ['quickstart/environment'], ['quickstart/first-device']]},
|
||||
{key: 'group.appendix', items: [['introduction/glossary'], ['introduction/license']]}
|
||||
]
|
||||
},
|
||||
{ // ②
|
||||
navKey: 'pillar.architecture', landing: 'architecture',
|
||||
paths: ['architecture', 'modules'], activeMatch: '^/(zh|en)/(architecture|modules)/',
|
||||
groups: [
|
||||
{key: '', items: [['architecture']]},
|
||||
{key: 'group.services-collab', items: [['architecture/services'], ['architecture/facade-modes']]},
|
||||
{
|
||||
key: 'group.pipelines-model',
|
||||
items: [['architecture/data-plane'], ['architecture/command-plane'], ['architecture/auth-rbac'], ['architecture/domain-model']]
|
||||
},
|
||||
{key: 'group.modules', items: [['architecture/modules'], ['modules']]}
|
||||
{key: 'group.modules', items: [['architecture/modules'], ['modules']]},
|
||||
{key: 'group.appendix', items: [['introduction/glossary'], ['introduction/license']]}
|
||||
]
|
||||
},
|
||||
{ // ③
|
||||
{ // ②
|
||||
navKey: 'pillar.drivers', landing: 'drivers',
|
||||
paths: ['drivers', 'operation/device-onboarding'],
|
||||
activeMatch: '^/(zh|en)/(drivers/|operation/device-onboarding)',
|
||||
@@ -95,6 +89,16 @@ const PILLARS: ReadonlyArray<Pillar> = [
|
||||
{key: 'group.appendix-drivers', items: [['drivers/matrix']]}
|
||||
]
|
||||
},
|
||||
{ // ③
|
||||
navKey: 'pillar.ai',
|
||||
landing: 'ai',
|
||||
paths: ['ai'],
|
||||
activeMatch: '^/(zh|en)/ai/',
|
||||
groups: [
|
||||
{key: '', items: [['ai']]},
|
||||
{key: 'group.ai-integration', items: [['ai/agentic'], ['ai/mcp'], ['ai/spring-ai-deep-dive']]}
|
||||
]
|
||||
},
|
||||
{ // ④
|
||||
navKey: 'pillar.foundations', landing: 'foundations',
|
||||
paths: ['foundations'], activeMatch: '^/(zh|en)/foundations/',
|
||||
@@ -110,27 +114,21 @@ const PILLARS: ReadonlyArray<Pillar> = [
|
||||
{ // ⑤
|
||||
navKey: 'pillar.develop',
|
||||
landing: 'development',
|
||||
paths: ['development', 'frontend', 'ai', 'automation'],
|
||||
activeMatch: '^/(zh|en)/(development|frontend|ai|automation)/',
|
||||
paths: ['development', 'frontend', 'automation', 'quickstart', 'operation', 'guide'],
|
||||
activeMatch: '^/(zh|en)/(development|frontend|automation|quickstart|operation|guide)/',
|
||||
groups: [
|
||||
{
|
||||
key: 'group.development',
|
||||
items: [['development'], ['development/driver-authoring'], ['development/api-documentation'], ['development/testing'], ['development/changelog']]
|
||||
},
|
||||
{key: 'group.ai-integration', items: [['ai'], ['ai/agentic'], ['ai/mcp']]},
|
||||
{key: 'group.frontend', items: [['frontend'], ['frontend/test-debugging']]},
|
||||
{key: 'group.automation', items: [['automation/cli']]}
|
||||
]
|
||||
},
|
||||
{ // ⑥
|
||||
navKey: 'pillar.operations', landing: 'operation',
|
||||
paths: ['operation', 'guide'], activeMatch: '^/(zh|en)/(operation|guide)/',
|
||||
groups: [
|
||||
{key: 'group.operations', items: [['operation'], ['operation/data-commands'], ['operation/alarms']]},
|
||||
{key: 'group.quickstart', items: [['quickstart'], ['quickstart/environment'], ['quickstart/first-device']]},
|
||||
{
|
||||
key: 'group.deploy-ops',
|
||||
items: [['guide/usage'], ['guide/observability'], ['guide/logging'], ['guide/troubleshooting']]
|
||||
}
|
||||
},
|
||||
{
|
||||
key: 'group.development',
|
||||
items: [['development'], ['development/driver-authoring'], ['development/api-documentation'], ['development/technology-stack'], ['development/testing'], ['development/changelog']]
|
||||
},
|
||||
{key: 'group.frontend', items: [['frontend'], ['frontend/test-debugging']]},
|
||||
{key: 'group.automation', items: [['automation/cli']]},
|
||||
{key: 'group.operations', items: [['operation'], ['operation/data-commands'], ['operation/alarms']]}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
+1
-1
@@ -80,7 +80,7 @@ For how each hop works and why it's designed that way, see [Architecture](/en/ar
|
||||
- **Frontend**: Vue 3 · TypeScript 6 · Vite 8 · Element Plus · AntV G2/G6 (source in `dc3-web/` directory of this repo;
|
||||
the standalone `iot-dc3-web` repo is archived)
|
||||
|
||||
See [Technology Stack](./introduction/technology-stack) for the full breakdown.
|
||||
See [Technology Stack](./development/technology-stack) for the full breakdown.
|
||||
|
||||
## License
|
||||
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
{
|
||||
"pillar.overview": "Overview",
|
||||
"pillar.ai": "AI",
|
||||
"pillar.architecture": "Architecture",
|
||||
"pillar.drivers": "Drivers",
|
||||
"pillar.foundations": "Foundations",
|
||||
"pillar.develop": "Develop",
|
||||
"pillar.operations": "Operations",
|
||||
"community": "Community",
|
||||
"introduction": "Overview",
|
||||
"introduction": "Platform Positioning",
|
||||
"introduction/concepts": "Core Concepts",
|
||||
"introduction/paths": "Choose Your Path",
|
||||
"introduction/technology-stack": "Technology Stack",
|
||||
"introduction/concepts/profile": "Profile <span class=\"dc3-sb-badge VPBadge tip\">Thing Model+</span>",
|
||||
"introduction/concepts/device": "Device",
|
||||
"introduction/concepts/driver": "Driver",
|
||||
@@ -33,7 +31,7 @@
|
||||
"foundations/data-pipeline": "Time-Series & Streaming",
|
||||
"foundations/aiot": "Data Intelligence & AIoT",
|
||||
"foundations/security": "IoT Security",
|
||||
"architecture": "Overview",
|
||||
"architecture": "Architecture",
|
||||
"architecture/services": "Services & Topology",
|
||||
"architecture/facade-modes": "Facade Modes",
|
||||
"architecture/data-plane": "Data Plane",
|
||||
@@ -85,6 +83,7 @@
|
||||
"development/api-documentation": "API Documentation",
|
||||
"development/testing": "Testing",
|
||||
"development/changelog": "Changelog",
|
||||
"ai/spring-ai-deep-dive": "Why Spring AI",
|
||||
"ai": "AI Overview",
|
||||
"ai/agentic": "Agentic Center",
|
||||
"ai/mcp": "AI Agent / MCP",
|
||||
@@ -121,6 +120,7 @@
|
||||
"group.ai-integration": "AI Integration",
|
||||
"group.automation": "Automation",
|
||||
"group.frontend": "Frontend",
|
||||
"group.project-overview": "Project Overview",
|
||||
"ui.editLinkText": "Edit this page on GitHub",
|
||||
"ui.outlineLabel": "On this page",
|
||||
"ui.lastUpdatedText": "Last updated",
|
||||
@@ -138,5 +138,6 @@
|
||||
"ui.searchSelect": "Select",
|
||||
"ui.searchNavigate": "Switch",
|
||||
"ui.searchClose": "Close",
|
||||
"ui.footerMessage": "Released under the AGPL-3.0 License"
|
||||
"ui.footerMessage": "Released under the AGPL-3.0 License",
|
||||
"development/technology-stack": "Technology Stack"
|
||||
}
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
{
|
||||
"pillar.overview": "总览",
|
||||
"pillar.ai": "AI",
|
||||
"pillar.architecture": "架构",
|
||||
"pillar.drivers": "驱动",
|
||||
"pillar.foundations": "基础",
|
||||
"pillar.develop": "开发",
|
||||
"pillar.operations": "运维",
|
||||
"community": "社区",
|
||||
"introduction": "总览",
|
||||
"introduction": "平台定位",
|
||||
"introduction/concepts": "核心概念",
|
||||
"introduction/paths": "按角色选择路径",
|
||||
"introduction/technology-stack": "技术栈",
|
||||
"introduction/concepts/profile": "模板 <span class=\"dc3-sb-badge VPBadge tip\">物模型+</span>",
|
||||
"introduction/concepts/device": "设备",
|
||||
"introduction/concepts/driver": "驱动",
|
||||
@@ -33,7 +31,7 @@
|
||||
"foundations/data-pipeline": "时序数据与流处理",
|
||||
"foundations/aiot": "数据智能与 AIoT",
|
||||
"foundations/security": "物联网安全",
|
||||
"architecture": "总览",
|
||||
"architecture": "架构",
|
||||
"architecture/services": "服务与拓扑",
|
||||
"architecture/facade-modes": "Facade 模式",
|
||||
"architecture/data-plane": "数据平面",
|
||||
@@ -85,6 +83,7 @@
|
||||
"development/api-documentation": "API 文档",
|
||||
"development/testing": "测试",
|
||||
"development/changelog": "变更日志",
|
||||
"ai/spring-ai-deep-dive": "为什么选 Spring AI",
|
||||
"ai": "AI 概览",
|
||||
"ai/agentic": "Agentic 中心",
|
||||
"ai/mcp": "AI Agent / MCP",
|
||||
@@ -121,6 +120,7 @@
|
||||
"group.ai-integration": "AI 集成",
|
||||
"group.automation": "自动化",
|
||||
"group.frontend": "前端",
|
||||
"group.project-overview": "项目总览",
|
||||
"ui.editLinkText": "在 GitHub 上编辑此页",
|
||||
"ui.outlineLabel": "页面导航",
|
||||
"ui.lastUpdatedText": "最后更新于",
|
||||
@@ -138,5 +138,6 @@
|
||||
"ui.searchSelect": "选择",
|
||||
"ui.searchNavigate": "切换",
|
||||
"ui.searchClose": "关闭",
|
||||
"ui.footerMessage": "基于 AGPL-3.0 协议发布"
|
||||
"ui.footerMessage": "基于 AGPL-3.0 协议发布",
|
||||
"development/technology-stack": "技术栈"
|
||||
}
|
||||
|
||||
+1
-1
@@ -77,7 +77,7 @@ RabbitMQ 异步解耦。
|
||||
- **前端**:Vue 3 · TypeScript 6 · Vite 8 · Element Plus · AntV G2/G6(源码在本仓库 `dc3-web/` 目录,原独立仓库
|
||||
`iot-dc3-web` 已归档)
|
||||
|
||||
完整说明见 [技术栈](./introduction/technology-stack)。
|
||||
完整说明见 [技术栈](./development/technology-stack)。
|
||||
|
||||
## 开源协议
|
||||
|
||||
|
||||
Reference in New Issue
Block a user