Diem 开发者文档站点构建与部署完全指南:基于 Docusaurus 的本地开发、静态构建与发布
Diem 开发者文档站点构建与部署完全指南基于 Docusaurus 的本地开发、静态构建与发布【免费下载链接】diemDiem’s mission is to build a trusted and innovative financial network that empowers people and businesses around the world.项目地址: https://gitcode.com/gh_mirrors/di/diemDiem 开发者文档网站developers.diem.com是 Diem 区块链项目的官方技术文档门户基于 Docusaurus 静态站点生成器构建。本文以仓库中的 developers.diem.com/src/README.md 为主体结合 developers.diem.com/package.json、developers.diem.com/scripts/build_docs.sh 与 developers.diem.com/docusaurus.config.js 等源码级细节完整讲解如何搭建本地开发环境、启动热更新服务器、自动生成 Rustdoc 与 Python SDK 的 API 参考文档、产出静态构建产物并发布上线。读完本文你将能独立完成 Diem 文档站点的构建、预览与部署全流程。文档站点概览从website到developers.diem.com原 README 中提到的website目录是早期版本的历史路径在当前仓库中该文档站点实际位于 developers.diem.com 目录下。这一点可以从构建脚本得到印证scripts/build_docs.sh 在启动时会强制检查当前目录名是否为developers.diem.com否则直接报错退出。因此本文所有命令均以该目录为基准。站点本身是一个 Docusaurus 项目当前 package.json 声明使用docusaurus/core与docusaurus/preset-classic的^2.0.0-beta.4版本文档内容分布在docs/教程、参考、技术论文、blog/官方技术博客与src/自定义 React 组件与主题中侧边栏结构由 sidebars/index.js 定义。此外站点还集成了 Algolia 站内搜索索引名为diem_developer_website与 Google Analytics相关配置见 docusaurus.config.js。环境准备Node 与 Yarn 版本要求根据 developers.diem.com/src/README.md构建该站点需要满足以下工具链Node.js 8.xDocusaurus 运行时的 JavaScript 运行时Yarn 1.5包管理器用于安装依赖与执行docusaurus相关脚本。需要说明的是这是文档声明的基础版本门槛鉴于项目实际依赖 Docusaurus 2.0 beta 版本见 package.json实践上建议使用更新的 Node.js 长期支持版本以获得最佳兼容性。依赖安装通过yarn install完成仓库根目录已附带 yarn.lock 锁定精确依赖版本保证可复现构建。本地开发启动开发服务器在满足环境要求后进入developers.diem.com目录并启动 Docusaurus 开发服务器cd developers.diem.com yarn startyarn start对应 package.json 中的docusaurus start脚本。启动成功后浏览器会自动打开http://localhost:3000若未自动打开请手动访问该地址开发服务器支持实时热更新任何时候修改页面内容如docs/下的 Markdown 或src/下的组件页面会自动重新编译并刷新无需手动重启这是日常撰写文档、调试组件时最常用的工作流。如果希望启用无障碍Accessibility检查模式package.json中还提供了yarn start-with-ada对应TEST_ADA1 docusaurus start它会结合 axe-core/react 在开发阶段对页面进行可访问性审计适合在提交面向公众的文档改动前使用。生成 API 参考文档Rustdoc 与 Python SDKyarn start只编译 Markdown 文档与网站本身不会重新生成 API 参考页面。API 参考由 Rustdoc 与 Protogen 自动生成原 README 明确说明因此需要额外的构建步骤。仓库中的 scripts/build_docs.sh 提供了完整的自动生成能力其支持的参数如下参数作用-b构建静态版本文档否则启动开发服务器-r构建 Diem Rust crate 的文档Rustdoc-p构建 Diem Python Client SDK 文档-h显示帮助信息运行构建脚本在developers.diem.com目录下执行./scripts/build_docs.sh该脚本的核心逻辑分为三部分安装 Rust 工具链脚本会检查rustup是否可用缺失时通过curl https://sh.rustup.rs -sSf安装默认 stable 工具链build_docs.sh#L21-L29生成 Rustdoc-r脚本切回仓库根目录使用以下命令为整个 workspace 生成 crate 文档RUSTC_BOOTSTRAP1 RUSTDOCFLAGS-Z unstable-options --enable-index-page cargo doc --no-deps --workspace --lib其中RUSTC_BOOTSTRAP与--enable-index-page用于为 workspace 生成index.html着陆页。产物位于target/doc/随后被复制到static/docs/rustdocs/build_docs.sh#L84-L105生成 Python SDK 文档-p脚本要求 Python 3.7创建虚拟环境后安装diem-client-sdk与pdoc3再以pdoc3 diem --html生成文档到static/docs/python-client-sdk-docs/build_docs.sh#L107-L134。完成 API 参考生成后脚本统一执行yarn install并进入下一步构建。生成静态构建产物要将网站构建为可直接部署的静态文件输出到website/build目录使用-b参数./scripts/build_docs.sh -b在-b模式下脚本执行yarn build对应 package.json 中的NODE_ENVproduction docusaurus build生成生产环境优化后的静态站点。值得注意的是仓库中同时提供了 vercel.json为所有页面配置了X-Robots-Tag: noindex响应头——这是 Vercel 预览部署环境下防止文档站点被搜索引擎收录的工程化细节可作为部署配置的参考。另外docusaurus.config.js 中注册了docusaurus/plugin-client-redirects重定向插件任何包含/overview的路径都会被追加生成一条去掉/overview的等价路径用于兼容旧版 URL保证历史链接不失效。部署与分发打包上传与服务器解压开发或预览构建完成后如需在更广范围内进行测试原 README 给出了经典的打包分发流程。首先在仓库根目录或文档站点上级目录将构建产物压缩zip diem.zip -r website/build随后通过scp将压缩包上传到目标服务器scp -r website/build/ userserver:/path在服务器上解压即可完成部署unzip diem.zip这种方式适合临时测试环境或无法直接推送静态文件的场景。需要提醒的是当前仓库中静态构建的实际输出目录以yarn build的 Docusaurus 配置为准baseUrl为/见 docusaurus.config.js实际部署时应以构建后生成的真实目录为准进行打包。发布GitHub Pages 与持续发布原 README 说明网站的正式发布通过 GitHub Pages 承载发布目标为独立网站仓库的gh-pages分支。其流程大致为将静态构建产物提交/推送到gh-pages分支由 GitHub Pages 自动对外提供服务。与此同时docusaurus.config.js 中为文档与博客分别配置了editUrl指向 Diem 主仓库的developers.diem.com/路径这意味着 Docusaurus 会在每个页面上渲染编辑此页链接方便社区读者直接跳转到源码提交文档修改——这是文档站点维护协作的重要入口。此外package.json 还提供了deploy-staging脚本npm run build-staging npx now用于构建 staging 版本并发布到 Vercel 平台进行预发布验证配合上文提到的noindex头使用属于正式发布前的重要质量关卡。总结Diem 开发者文档站点虽然是一个文档项目但其工程化程度与主代码库相当本地开发有热更新、API 参考有自动生成脚本、部署有静态构建与多渠道发布。核心操作路径可归纳为三条日常写作cd developers.diem.com yarn start访问http://localhost:3000实时预览完整构建./scripts/build_docs.sh必要时追加-r/-p生成 API 参考追加-b输出静态产物发布部署将构建产物打包上传解压或通过gh-pages分支 / Vercel staging 渠道发布。掌握以上流程无论是为 Diem 贡献文档、构建本地开发预览还是搭建完整的文档发布管线都能在 developers.diem.com 目录下独立完成。【免费下载链接】diemDiem’s mission is to build a trusted and innovative financial network that empowers people and businesses around the world.项目地址: https://gitcode.com/gh_mirrors/di/diem创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Flink 流式概念:Table API  SQL 流批统一下的状态管理、状态 TTL 与算子级生命周期配置

Flink 流式概念:Table API SQL 流批统一下的状态管理、状态 TTL 与算子级生命周期配置

大数据流处理批处理数据工程 【免费下载链接】flink 项目地址: https://gitcode.com/gh_mirrors/fli/flink 点击查看 免费下载 Flink 的 Table API 与 SQL 是一套流批统一的声明式 API,在有限的批式输入和无限的流式输入下具备相同的语义。由于关系代数…

2026/9/22 20:34:29 阅读更多 →
LangChain工具开发实战:提升AI应用效能300%

LangChain工具开发实战:提升AI应用效能300%

1. LangChain工具生态全景认知在当今AI应用开发领域,LangChain已经成为连接大语言模型与实际业务场景的重要桥梁。作为这个生态系统的核心组件之一,Tool机制让开发者能够将各种能力模块化封装,赋予LLM调用外部功能的能力。我通过多个企业级项…

2026/9/23 1:58:20 阅读更多 →
gbrain v0.19.0 代码索引实战指南:让代码成为大脑中的一等公民

gbrain v0.19.0 代码索引实战指南:让代码成为大脑中的一等公民

gbrain v0.19.0 代码索引实战指南:让代码成为大脑中的一等公民 【免费下载链接】gbrain Garrys Opinionated OpenClaw/Hermes Agent Brain 项目地址: https://gitcode.com/gh_mirrors/gb/gbrain 本指南基于 gbrain 仓库的 v0.19.0 迁移文档,完整讲…

2026/9/23 12:19:11 阅读更多 →

最新新闻

基于Python的淘宝京东商品评论爬虫与情感分析系统实战解析

基于Python的淘宝京东商品评论爬虫与情感分析系统实战解析

简介:这是一份基于Python开发、面向毕业设计与期末大作业场景的商品评价系统完整资源,覆盖淘宝、京东商品评论爬虫采集与情感分析全流程。系统整合了Python爬虫、数据处理及LSTM等情感分析模型,适合需要完成电商评论分析类项目的计算机专业学…

2026/9/23 23:01:12 阅读更多 →
Java坦克大战毕业设计全攻略:从源码调试到论文答辩一站式拆解

Java坦克大战毕业设计全攻略:从源码调试到论文答辩一站式拆解

简介:这份基于Java Swing的坦克大战游戏开发资料包,面向需要完成毕业设计或Java课程项目的计算机专业学生。资源内含毕业论文、完整可运行源码和答辩PPT,内容覆盖系统分析、可行性分析、需求分析、概要设计中的工作流程图与项目规划&#xff…

2026/9/23 23:01:12 阅读更多 →
Atlas 300V 24G部署YOLO全攻略:从推理卡定位到模型转换

Atlas 300V 24G部署YOLO全攻略:从推理卡定位到模型转换

在项目现场待久了,经常被同事问到一个问题:“这块Atlas 300V 24G到底算不算运算加速卡?”刚接触昇腾平台的人,看到“加速卡”三个字容易下意识往GPU上想,看到“24G”又会误以为和显卡显存一样。其实这个问题的答案直接…

2026/9/23 23:01:12 阅读更多 →
Faster-RCNN PCB缺陷检测实战:数据准备、训练与评估全解析

Faster-RCNN PCB缺陷检测实战:数据准备、训练与评估全解析

简介:基于Python和Faster-RCNN的PCB元器件缺陷检测项目,提供完整源码、开发文档与项目解析,面向毕业设计、课程设计与实际项目开发场景。项目代码已经过严格测试,可直接运行并在此基础上二次扩展。资源包共79个文件,其…

2026/9/23 23:01:12 阅读更多 →
双色球杀号公式实战:缩水工具与回测方法论

双色球杀号公式实战:缩水工具与回测方法论

1. 杀号公式到底在杀什么:先搞清楚它的数学边界很多人第一次接触“杀号公式”这四个字,脑子里浮现的画面是某种能精准排除废号的神秘算法。我刚开始研究这个方向时也这么想,后来把最近几十期的开奖数据拉出来做了几轮回测,才意识到…

2026/9/23 23:01:12 阅读更多 →
uv工具:Python开发者的效率革命与实战指南

uv工具:Python开发者的效率革命与实战指南

1. 初识uv:Python开发者的效率革命第一次听说uv这个工具时,我正在为一个跨平台Python项目焦头烂额。当时需要同时管理多个虚拟环境,处理不同版本的依赖冲突,还要确保团队成员的开发环境一致。传统的venvpip组合虽然能用&#xff0…

2026/9/23 23:00:11 阅读更多 →

日新闻

3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A…

2026/9/23 0:00:23 阅读更多 →
2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我

2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我

2k显示屏性能优化踩坑:版本升级后API全变了,这份源码解析救了我 刚把开发环境的显示器从1080P换到2K,跑老项目直接报错,版本升级后 API…

2026/9/23 0:01:25 阅读更多 →
3步搞定美眉图实战项目,告别官方文档抓不住重点

3步搞定美眉图实战项目,告别官方文档抓不住重点

3步搞定美眉图实战项目,告别官方文档抓不住重点 官方文档翻了三遍还是云里雾里?别急,美眉图在实战项目中常被用来做数据可视化,但它的原理比你想的简单。今天咱们直接上手,用一个完整的小项目把美眉图跑通,不再死磕那些冗长的理论说明。…

2026/9/23 0:01:25 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/23 4:55:02 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/23 4:49:06 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/23 9:53:41 阅读更多 →

月新闻

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

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

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

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

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

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

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

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

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

2026/9/23 9:53:40 阅读更多 →