跳到主要内容

修改与发布内容

本站是静态站点:内容在本地改,构建后上传。服务器上不装 Node 依赖、不跑构建, 原因见文末「为什么不直接在服务器上构建」。

一句话流程​

改 Markdown/配置 → 双击 publish.cmd → 完成

文件在哪​

内容位置
源码工程本机 C:\Users\Administrator\ds-build\wiki
文档正文工程的 docs/ 目录(.mdx / .md)
首页src/pages/index.js
导航栏 / 页脚 / 站点信息docusaurus.config.js
侧边栏顺序每个文档 front matter 里的 sidebar_position
图片static/img/,引用时写 /img/xxx.png

1. 改一篇已有文档​

直接编辑 docs/ 下对应的 .mdx 文件,例如 docs/jianjie.mdx。 文件顶部是 front matter,决定标题、排序和地址:

---
id: intro
title: 简介
sidebar_position: 1
slug: /jianjie # 最终地址 = /jianjie/
---

2. 新增一篇文档​

在 docs/ 里新建 something.mdx 即可,侧边栏是自动生成的,不需要改别的地方:

---
title: 新页面标题
sidebar_position: 5
---

# 新页面标题

正文内容……
  • 想要「分组」,就在 docs/ 下建子目录,目录里放 _category_.json 定义组名和排序。
  • 想要文章内跳转,用 /xxx 形式的绝对路径(构建时会校验,写错会直接构建失败)。

3. 改导航栏、页脚、标题​

编辑 docusaurus.config.js:title / tagline 在顶部,菜单项在 themeConfig.navbar.items, 页脚在 themeConfig.footer。

4. 发布​

在工程目录双击 publish.cmd(或在命令行里执行它)。它会依次:

  1. 调用本地 Node 执行 npm run build,产物在 build/;
  2. 用 scp 把产物上传到服务器 /tmp/wiki-build-new/;
  3. 在服务器执行 /root/wiki-deploy/deploy-static.sh:备份当前站点 → rsync 同步 → chown www:www → 清理超过 5 份的旧备份。

构建失败时脚本会中止,线上不会变动。

5. 回滚​

每次发布都会在服务器留一份备份:

ls -1dt /www/wwwroot/wiki.altcheats.com.bak-* | head
# 回滚:把备份目录内容覆盖回正式目录
rsync -a --delete /www/wwwroot/wiki.altcheats.com.bak-20261030-004512/ /www/wwwroot/wiki.altcheats.com/
chown -R www:www /www/wwwroot/wiki.altcheats.com

常见坑​

  • 提示框标题要用方括号:写 :::tip[标题],不能写 :::tip 标题,后者会被原样输出。 这是 MDX v3 的语法限制。
  • onBrokenLinks: 'throw':文档里写了不存在的站内链接,构建会失败,这是故意的。 需要放宽就改成 'warn'。
  • URL 带尾斜杠:已开启 trailingSlash: true,页面地址统一为 /xxx/。
  • 不要在宝塔面板里保存该站点的 PHP 设置,会覆盖 Nginx 配置。

为什么不直接在服务器上构建​

服务器总共 3.6G 内存,OpenClaw 网关常驻约占 1.5G,另外还有 MySQL、PHP-FPM、宝塔面板。 npm install 加构建的峰值内存很容易触发内核 OOM,而 OOM killer 会优先杀常驻内存最大的进程 ——通常就是 OpenClaw。所以构建放在本地,服务器只接收静态文件。