Wave Terminal 文档站点构建指南:基于 Docusaurus 的本地开发、生产构建与自动化部署
Wave Terminal 文档站点构建指南基于 Docusaurus 的本地开发、生产构建与自动化部署【免费下载链接】wavetermAn open-source, AI-integrated, cross-platform terminal for seamless workflows项目地址: https://gitcode.com/GitHub_Trending/wa/wavetermWave Terminaldocs/README.md的官方文档站点是一个基于 Docusaurus 构建的静态网站仓库中的docs目录不仅存放了全部用户文档MDX 源文件还完整承载了文档站的构建、发布与持续集成逻辑。本文以 docs/README.md 为骨架结合 Taskfile.yml、docs/package.json、docs/docusaurus.config.ts 与 .github/workflows/deploy-docsite.yml 等仓库实现系统讲解文档站的本地开发、生产构建与 GitHub Pages 自动化部署的完整链路。读完本文你将能够在本地启动 Wave 文档站开发服务器、产出可静态托管的构建产物并理解其 CI/CD 发布流程。文档站点概览docs 目录的定位与结构docs/README.md的开篇即明确了定位这是 Wave Terminal 文档站点自身的构建与贡献说明面向的是想要本地预览、修改并提交文档的开发者而不是终端用户。终端用户阅读的正式文档位于docs/docs/目录二者职责分明docs/README.md面向维护者说明如何构建、运行与部署文档站docs/docs/文档正文包含index.mdx、gettingstarted.mdx、config.mdx、waveai.mdx、connections.mdx、widgets.mdx、wsh.mdx、wsh-reference.mdx等 20 余篇 MDX 文档覆盖安装、配置、AI、远程连接、布局、按键绑定、遥测等全部功能主题docs/src/站点源码含自定义组件如 card.tsx 实现的首页功能卡片与自定义 SCSSdocs/static/静态资源包括 FontAwesome 图标字体、JetBrains Mono 字体、Logo 与导航图标根级配置文件docusaurus.config.ts、package.json、tsconfig.json、babel.config.js 等。环境准备依赖与 Node 版本要求文档站使用 Docusaurus 3.x 构建对 Node.js 有明确的最低版本约束。查看 docs/package.json 的engines字段engines: { node: 18.0 }依赖清单中值得关注的核心包包括docusaurus/core、docusaurus/theme-classic版本 3.9.2Docusaurus 核心与经典主题docusaurus/plugin-content-docsMDX 文档内容插件负责将docs/docs/下的文档渲染为站点页面docusaurus/plugin-sitemap自动生成sitemap.xml配合docusaurus/theme-search-algolia提供站内搜索docusaurus/plugin-ideal-image、docusaurus/plugin-svgr图片优化与 SVG 导入remark-gfm、rehype-highlight、remark-typescript-code-importMarkdown 扩展与代码高亮docusaurus-plugin-sass与sass支持 SCSS 样式。在仓库根目录下安装文档站依赖不必手动进入docs目录Taskfile.yml 中的docs:npm:install内部任务已经封装好这一步它会在docs目录执行npm install并将docs/package-lock.json与docs/package.json作为增量缓存依据sources字段依赖未变化时不会重复安装。本地开发一条命令启动热重载文档站docs/README.md给出的本地开发入口是task docsite这条命令在 Taskfile.yml 中被定义为docsite:start任务的别名其执行链路如下docsite:start: desc: Start the docsite dev server. cmd: npm run start dir: docs aliases: - docsite deps: - docs:npm:install即先保证依赖就绪docs:npm:install再在docs目录运行npm run start最终调用的是 docs/package.json 中的docusaurus start。Docusaurus 开发服务器会启动一个本地站点并自动打开浏览器窗口默认监听localhost:3000。开发模式的核心体验是热重载修改docs/docs/下的 MDX 文档、docs/src/下的组件或样式后浏览器会实时反映变更无需手动重启服务器这与docs/README.md中Most changes are reflected live without having to restart the server的描述一致。除start外docs/package.json 还提供了docusaurus build生产构建、docusaurus serve本地预览构建产物、docusaurus clear清理缓存、docusaurus swizzle主题定制等标准脚本。生产构建产出可静态托管的 build 目录当文档内容就绪、需要产出可发布产物时使用docs/README.md给出的构建命令task docsite:build:public对应 Taskfile.yml 中的docsite:build:public任务docsite:build:public: desc: Build the full docsite. cmds: - cd docs npm run build env: USE_SIMPLE_CSS_MINIFIER: true sources: - docs/* - docs/src/**/* - docs/docs/**/* - docs/static/**/* generates: - docs/build/**/* deps: - docs:npm:install有几个细节值得注意构建命令cd docs npm run build实际执行docusaurus build最终产物输出到docs/build目录generates字段也声明了这一点该目录是纯静态内容可被任何静态内容托管服务直接托管构建过程会设置环境变量USE_SIMPLE_CSS_MINIFIERtrue指示构建使用简化的 CSS 压缩器sources字段将docs/下全部源码、MDX 与静态资源作为变更跟踪依据保证增量构建的准确性。关于构建产物docusaurus.config.ts 中的onBrokenLinks: throw配置意味着构建阶段一旦检测到死链就会直接报错终止——这是保证文档链接质量的关键防线在 CI 中同样生效。站点配置与内容管线读懂 docusaurus.config.ts理解文档站的构建行为还需要阅读 docs/docusaurus.config.ts它揭示了docs/README.md背后完整的站点配置站点元信息站点标题 Wave Terminal Documentation、标语 Level Up Your Terminal With Graphical Widgets、favicon 指向img/logo/wave-logo_appicon.svg并预置了面向搜索引擎与社交分享的keywords、og:type等 metadata内容插件content-docs插件以docs目录为内容源path: docsrouteBasePath: /使文档直接挂载在站点根路径并接入rehypeHighlight代码高亮ideal-image插件负责响应式图片搜索通过 Algolia 主题提供站内全文搜索索引名为waveterm嵌入式模式配置中大量出现process.env.EMBEDDED判断——当该变量存在时站点以baseUrl /docsite/嵌入其他环境如应用内文档面板并自动隐藏 Storybook、Discord、GitHub 导航项与 Algolia 搜索、OG 图片渲染等外部依赖功能OG 社交卡片通过自研的waveterm/docusaurus-og插件在构建期生成每篇文档的 Open Graph 分享图渲染逻辑定义在 docs/src/renderer/image-renderers.ts深色背景 Wave Logo 文档标题静态资源staticDirectories: [static, storybook]同时引入 FontAwesome 图标字体作为导航与组件图标。文档正文的组织则依赖 MDX 与自定义组件。以 docs/docs/index.mdx 首页为例它通过site/src/components/card提供的CardGroup/Card组件实现在 docs/src/components/card.tsx渲染出 Wave AI、Customization、Key Bindings、Layout、Remote Connections、Widgets、wsh Command 等功能入口卡片。TypeScript 侧docs/tsconfig.json 开启了checkMdx: true可在编辑器与构建中对 MDX 内嵌的 TSX 代码进行严格类型检查。自动化部署CI/CD 工作流解析docs/README.md明确指出部署由 Docsite CI/CD 工作流自动处理无需人工干预。该工作流定义在 .github/workflows/deploy-docsite.yml其设计要点如下触发条件push到main分支构建并部署workflow_dispatch手动触发针对main分支的 PR 在opened/synchronize/reopened/ready_for_review等状态下触发且 PR 路径限定为docs/**、deploy-docsite.yml与Taskfile.yml——即只有改动文档相关文件时才启动构建环境与工具链使用ubuntu-latest、Node.js 22env.NODE_VERSION: 22并安装 Task 3.x用于执行task docsite:build:public构建阶段npm ci --no-audit --no-fund精确安装依赖带重试机制最多 3 次随后执行task docsite:build:public产出静态站点产物上传仅当事件为push到main时将docs/build作为 Pages artifact 上传部署阶段仅push到main时执行通过 GitHub Pages 部署动作发布站点并为部署环境申请pages: write与id-token: write权限。这套流程意味着任何合并到main分支的文档改动都会自动经历依赖安装 → 生产构建含死链检查→ 上传产物 → 部署上线的完整链路而 PR 则只执行测试构建帮助贡献者在合并前提前发现构建错误。排查与常见问题结合上述配置实践中常见的几类问题与排查思路如下本地端口占用Docusaurus 默认使用3000端口若被占用开发服务器可能启动失败可通过docusaurus start --port指定其他端口构建因死链失败onBrokenLinks: throw会使构建在存在失效相对链接时直接报错。文档内相互引用使用相对路径如首页中的./gettingstarted、./config新增文档时务必确保引用目标存在依赖与版本不一致CI 使用npm ci严格按 lockfile 安装本地若修改了依赖版本应同步更新docs/package-lock.json否则 CI 构建可能与本地行为不一致OG 图片/搜索等外部功能非公开构建环境设置EMBEDDED环境变量会跳过 Algolia 搜索、OG 渲染与外部导航链接若本地网络受限导致字体拉取失败可优先验证docusaurus build主流程只想本地预览产物构建完成后可用npm run serve对应docusaurus serve在本地起一个静态服务器预览build目录模拟线上托管效果。总结从docs/README.md的三条核心命令出发本文串联起了 Wave Terminal 文档站的完整技术链路task docsite对应本地热重载开发、task docsite:build:public对应可静态托管的产物构建而线上发布则由 deploy-docsite.yml 在每次main分支推送时自动完成。文档站既是用户文档的载体本身也是一套配置完备、可嵌入EMBEDDED模式、具备搜索引擎优化与社交卡片能力的 Docusaurus 工程——理解了它你既能顺畅地为 Wave 贡献文档也能将其作为 Docusaurus 生产级配置的参考范例。【免费下载链接】wavetermAn open-source, AI-integrated, cross-platform terminal for seamless workflows项目地址: https://gitcode.com/GitHub_Trending/wa/waveterm创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

用最自然的思路理解红黑树——第一章:解构Insert

用最自然的思路理解红黑树——第一章:解构Insert

摘要:本文系统讲解红黑树插入操作中的调整方法,围绕节点命名、黑色高度(bh)等基础概念,重点分析插入后可能出现的六种情况。文章以叔叔节点(u)的存在性与颜色、以及相对位置(同侧异侧…

2026/9/13 22:44:55 阅读更多 →
turbovec 2-bit 搜索性能爬山优化(Hill-Climb):目标度量、三道闸门与验证方法论

turbovec 2-bit 搜索性能爬山优化(Hill-Climb):目标度量、三道闸门与验证方法论

turbovec 2-bit 搜索性能爬山优化(Hill-Climb):目标度量、三道闸门与验证方法论 【免费下载链接】turbovec A vector index built on TurboQuant, written in Rust with Python bindings 项目地址: https://gitcode.com/GitHub_Trending/tu…

2026/9/13 22:43:55 阅读更多 →
PeakTech P1245示波器:隔离通道与嵌入式调试实战指南

PeakTech P1245示波器:隔离通道与嵌入式调试实战指南

1. 这台“德国血统”的台式示波器,为什么在电子维修圈悄悄火了?PeakTech P1245——这个名字在淘宝详情页里常被标成“德国PeakTech原装进口”,在B站维修视频弹幕里频繁刷出“P1245真香”,在电子工程师的闲聊中则常以“那个带隔离通…

2026/9/13 22:43:55 阅读更多 →

最新新闻

Unity 热更资源检出与校验:一次三周迭代的完整记录(catalog 驱动 / 快路径 / 原子提交 / 拷贝与下载分离)

Unity 热更资源检出与校验:一次三周迭代的完整记录(catalog 驱动 / 快路径 / 原子提交 / 拷贝与下载分离)

目录 一、这段流程要解决什么问题 二、四条核心设计原则 原则 1:以最终 catalog 为唯一权威 原则 2:catalog 落地 = 本次更新成功(原子提交) 原则 3:信任上一次成功提交,能不算就不算 原则 4:做减法,而不是加机制 三、迭代时间线:关键节点与事件 三个最值得复盘的节点…

2026/9/13 23:42:18 阅读更多 →
基于 STM32 的老人健康检测与跌倒监测系统

基于 STM32 的老人健康检测与跌倒监测系统

基于 STM32 的老人健康检测与跌倒监测系统设计 导语一、系统功能总览二、核心模块选型对比 2.1 主控模块选型2.2 心率血氧模块选型2.3 温度模块选型2.4 加速度模块选型2.5 蓝牙模块选型 三、系统接线总表四、系统软件设计 4.1 主程序流程4.2 跌倒检测流程4.3 心率血氧采集流程4…

2026/9/13 23:42:18 阅读更多 →
CopilotKit × Google ADK:工具渲染与推理链(Tool Rendering + Reasoning Chain)Demo 的架构原理与 QA 验证指南

CopilotKit × Google ADK:工具渲染与推理链(Tool Rendering + Reasoning Chain)Demo 的架构原理与 QA 验证指南

CopilotKit Google ADK:工具渲染与推理链(Tool Rendering Reasoning Chain)Demo 的架构原理与 QA 验证指南 【免费下载链接】CopilotKit The Frontend Stack for Agents & Generative UI. React, Angular, Mobile, Slack, and more. Ma…

2026/9/13 23:42:18 阅读更多 →
AI降重工具原理与使用指南:率零降AI率实战

AI降重工具原理与使用指南:率零降AI率实战

1. 项目背景与需求分析"率零降AI率使用教程"这个标题直指当前学术写作领域的一个痛点需求——如何有效降低论文中被AI检测工具识别出的"AI生成率"。随着AI写作工具的普及,学术机构普遍加强了对AI生成内容的检测力度,这使得许多合理使…

2026/9/13 23:42:18 阅读更多 →
Backstage v1.44.0-next.1 版本解读:配置键支持冒号与全量依赖更新全景

Backstage v1.44.0-next.1 版本解读:配置键支持冒号与全量依赖更新全景

Backstage v1.44.0-next.1 版本解读:配置键支持冒号与全量依赖更新全景 【免费下载链接】backstage Backstage is an open framework for building developer portals 项目地址: https://gitcode.com/GitHub_Trending/ba/backstage 本篇基于仓库内发布的 doc…

2026/9/13 23:42:18 阅读更多 →
Wasp 脚手架模板机制全解析:`wasp new` 如何三步生成一个可运行的全栈项目

Wasp 脚手架模板机制全解析:`wasp new` 如何三步生成一个可运行的全栈项目

Wasp 脚手架模板机制全解析:wasp new 如何三步生成一个可运行的全栈项目 【免费下载链接】wasp The batteries-included full-stack framework for the AI era. Develop JS/TS web apps (React, Node.js, and Prisma) using declarative code that abstracts away c…

2026/9/13 23:41:18 阅读更多 →

日新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/13 0:00:24 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/13 0:00:24 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/13 0:00:24 阅读更多 →

周新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/13 0:00:24 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/13 0:00:24 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/13 0:00:24 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/13 16:51:11 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/12 18:29:34 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/12 19:02:44 阅读更多 →