方案.md 3.39 KB

技术方案

技术栈

组件 技术选型 版本
站点框架 Docusaurus 3.10.2
全文搜索 @easyops-cn/docusaurus-search-local 0.55.2
内容管理 Decap CMS (原 Netlify CMS) 3.14.1
CMS 本地代理 decap-server 3.9.1
前端框架 React 19
构建工具 Webpack (Docusaurus 内置) -
运行环境 Node.js ≥ 20 -

项目结构

knowledgebase-site/
├── docs/                    # 文档源文件(Markdown)
│   ├── 01-产品总览/          # 分类目录
│   ├── 02-安装与联网/
│   ├── 03-基础配置/
│   ├── 04-算法功能配置/
│   ├── 05-数据查看与验证/
│   ├── 06-升级维护/
│   ├── 07-场景测试/
│   └── _assets/             # 文档图片资源
├── src/
│   ├── pages/
│   │   ├── index.js         # 自定义首页(搜索框+分类卡片+CTA)
│   │   └── index.module.css # 首页样式(对标 FootfallCam)
│   └── css/
│       └── custom.css       # 全局样式覆盖(主色 #166BFF)
├── static/
│   ├── admin/
│   │   ├── index.html       # CMS 后台入口页
│   │   ├── config.yml       # CMS 配置文件(副本)
│   │   └── decap-cms.js     # Decap CMS 本地打包(~5MB)
│   ├── config.yml           # CMS 配置(站点根目录,CMS 从此路径加载)
│   └── img/                 # 站点静态图片
├── docusaurus.config.js     # Docusaurus 主配置
├── sidebars.js              # 侧边栏配置
└── package.json             # 依赖与脚本

架构设计

数据流

CMS 编辑 → 写入 docs/*.md → npm run build → 生成 build/ → npm run serve 托管

关键配置

docusaurus.config.js 要点:

  • i18n: { defaultLocale: 'zh-Hans' } — 中文
  • plugins 注册 @easyops-cn/docusaurus-search-local,language 设为 ['zh', 'en']
  • blog: false — 关闭博客模块
  • navbar 包含搜索按钮(type: 'search'

Decap CMS 配置要点:

  • backend.name: git-gateway + local_backend: true(本地开发模式)
  • 7 个 collection 对应 7 个 docs 子目录
  • 每个 collection 使用 extension: "md" + format: "frontmatter"
  • 字段:title(标题)、slug(路径)、body(Markdown 正文)

首页设计

对标 FootfallCam 知识库:

  • Hero 区:灰底 #F0F1F4 + "如何帮助您?" + pill 形搜索框
  • 分类区:2 列 grid,每卡显示标题+描述+最多 5 条文档链接
  • CTA 区:"需要支持?" + 跳转按钮

文档路由

所有文档通过 slug frontmatter 定义 URL:

---
slug: "/产品总览/G6产品概览"
title: "G6 产品概览"
---

生成路径:/docs/产品总览/G6产品概览

运行端口

服务 端口 说明
站点 (serve) 3000 Docusaurus 构建产物
decap-server 8081 CMS 文件系统代理

部署方案

本地开发

# 同时启动站点和 CMS
npm run dev
# 或分别启动:
npm run serve -- --port 3000   # 站点
npm run cms                     # CMS 代理

生产部署(推荐 Netlify / Vercel)

  1. 代码推送到 GitHub
  2. CI/CD 自动执行 npm run build
  3. 自动部署到 CDN
  4. CMS 的 git-gateway 后端自动适配,编辑 → commit → 自动构建