跳到主要内容

PMOPM 知识库

基于 Docusaurus 搭建的静态知识库,用 Markdown 写内容,构建产物由 nginx 直接托管。

馆藏书目​

分类书名作者ISBN
F270流程管理(第5版)王玉荣、葛新红978-7-301-26637-3
F272-62PMO知识体系指南—978-7-111-76804-3
C913.2-49收入进化论—978-7-5245-0445-0

目录结构​

/opt/docusaurus/
├── docs/ ← 所有文档写在这里(.md / .mdx)
│ ├── index.md ← 本页
│ ├── F272-62-(PMO知识体系指南)-(ISBN-978-7-111-76804-3)/
│ │ ├── _category_.json ← 侧栏显示名与排序
│ │ ├── index.md ← 书首页(元数据 + 全书目录)
│ │ ├── 01-第1章-概述/
│ │ │ ├── _category_.json
│ │ │ ├── index.md ← 章首页(本章目录)
│ │ │ ├── 1.1-PMO的定义.md
│ │ │ └── 1.2-PMO的组建和运行.md
│ │ └── 02-第2章-战略管理领域/ …
│ ├── F270-(流程管理-第五版)-(ISBN-978-7-301-26637-3)/
│ └── C913.2-49-(收入进化论)-(ISBN-978-7-5245-0445-0)/
├── src/css/custom.css ← 站点配色
├── static/img/ ← logo、favicon、图片
├── docusaurus.config.js
├── sidebars.js ← 侧边栏(已设自动生成,不用改)
├── deploy.sh ← 一键构建发布
└── build/ ← 构建产物(自动生成,不要手改)

层级规则​

侧边栏是三层自动生成的,结构完全由目录决定:

层级对应侧栏表现
第一层书目录可折叠分组,显示 _category_.json 里的 label
第二层章目录可折叠分组
第三层节 .md 文件可点击的页面
目录和文件名禁用这些字符

[ ] 绝对不能出现在目录名或文件名里。

Docusaurus 遇到方括号会算不出合法 URL,整个站点构建直接失败(不是单个页面坏,是全站打不开)。已踩过一次坑。

同理避免:# ? % | * : < > \ /。

  • ❌ F272-62-[PMO知识体系指南]-[ISBN-978-7-111-76804-3]
  • ✅ F272-62-(PMO知识体系指南)-(ISBN-978-7-111-76804-3) ← 全角括号

中文、点号(1.1、C913.2)、空格都没问题,可以放心用。

新增一篇文档​

  1. 在对应章目录下新建 .md,例如 01-第1章-概述/1.4-PMO的成熟度.md
  2. 文件开头写元信息,title 就是侧栏与页面标题:
---
title: 1.4 PMO的成熟度
sidebar_position: 4
---

正文从这里开始……
  1. 发布:
ssh root@8.134.143.44
cd /opt/docusaurus && ./deploy.sh

sidebar_position 控制同级排序,越小越前;不写就按文件名字母序。目录名前缀 01- 02- 只用于排序,不会出现在 URL 里。

新增一本书​

  1. 在 docs/ 下建书目录,命名遵循 中图分类-(书名)-(ISBN),用全角括号
  2. 放一个 _category_.json 控制侧栏显示名与位置:
{
"label": "书的名字",
"position": 4,
"collapsible": true,
"collapsed": true
}
  1. 书首页写 index.md(sidebar_position: 1),章目录同样各放一份 _category_.json
  2. ./deploy.sh 发布

常用命令​

用途命令
构建并发布cd /opt/docusaurus && ./deploy.sh
只构建不发布cd /opt/docusaurus && npm run build
看 Web 服务状态systemctl status nginx
看访问日志tail -f /opt/runtime/log-ubuntu/nginx/access.log
看错误日志tail -f /opt/runtime/log-ubuntu/nginx/error.log
改完本地预览cd /opt/docusaurus && npm run start -- --host 0.0.0.0 --port 3001

需要注意​

  • 图片放 static/ 下,引用写 /img/xxx.png,不要放 docs/(构建时不会搬运)。
  • 改完文档必须 ./deploy.sh,build/ 是静态产物,不重新构建不生效。
  • 站点公开可访问,不要放敏感信息。
  • 站点由 nginx 直接托管 build/,没有常驻 Node 进程——systemctl status docusaurus 已不再适用。