尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Docusaurus 站点零配置部署 Vercel:examples 仓库 Docusaurus Boilerplate 结构解析与实战指南

Docusaurus 站点零配置部署 Vercel:examples 仓库 Docusaurus Boilerplate 结构解析与实战指南 Docusaurus 站点零配置部署 Vercelexamples 仓库 Docusaurus Boilerplate 结构解析与实战指南【免费下载链接】examplesEnjoy our curated collection of examples and solutions. Use these patterns to build your own robust and scalable applications.项目地址: https://gitcode.com/GitHub_Trending/examples1/examples本文以当前仓库 framework-boilerplates/docusaurus 目录为蓝本讲解如何将一个 Docusaurus 静态站点项目在 Vercel 上以零配置方式完成部署。读完本文你将掌握该 Boilerplate 的完整目录结构、docusaurus-init初始化命令、siteConfig.js站点配置体系、文档组织方式以及本地开发与生产构建的全套流程可直接复用到自己的文档站项目中。Docusaurus Boilerplate 示例概览该目录是仓库中一个典型的Docusaurus 静态站点示例boilerplate其定位正如 README.md 所述一个可以零配置zero configuration部署到 Vercel 的 Docusaurus 站点。它既是一份可直接运行的示例代码也是理解文档站项目如何为部署平台做工程化组织的参考模板。从源码结构看该示例采用了Docusaurus v1体系package.json 中声明docusaurus: ^1.12.0整体布局如下framework-boilerplates/docusaurus/ ├── blog/ # 博客文章Markdown frontmatter ├── core/ │ └── Footer.js # 站点页脚组件React ├── docs/ # 文档正文doc1~doc3、exampledoc4/5 ├── pages/ │ └── en/ │ ├── index.js # 首页HomeSplash 特性区块 │ ├── help.js # Help 页面 │ └── users.js # 用户展示页 ├── static/ │ ├── css/custom.css # 自定义样式 │ └── img/ # favicon 与插画资源 ├── package.json # 脚本与依赖声明 ├── sidebars.json # 文档侧边栏结构 └── siteConfig.js # 站点全局配置核心这种配置驱动 目录约定的布局是 Docusaurus 项目能够被 Vercel 自动识别并零配置构建的前提。零配置部署到 VercelREADME 的核心卖点就是Deploy Your Own一键部署到 Vercel。所谓零配置指的是框架自动识别Vercel 部署平台会自动检测项目中的docusaurus依赖与build脚本无需手工指定构建命令与输出目录模板一键克隆README 中提供了 Deploy with Vercel 按钮式入口点击即可基于该示例模板创建新项目并完成部署开箱即用的线上示例README 给出了 Live Example线上示例地址用于验证部署结果——这也是所有 framework-boilerplates 示例的标准呈现方式。对于仓库内的开发者等效的手工操作路径是将framework-boilerplates/docusaurus目录内容作为项目根目录推送到自己的 Git 仓库然后在 Vercel 上导入该仓库Vercel 读取package.json后会自动执行安装与构建无需编写任何平台配置文件该目录也确无vercel.json这正是零配置的代码级证据。需要说明的是上述部署能力依赖 Vercel 平台自身的框架检测机制当前仓库中没有任何自定义部署配置因此所有构建参数均取 Docusaurus 与 Vercel 的默认约定。本地初始化docusaurus-init 命令README 在 How We Created This Example 一节中明确记录了示例的初始化方式——使用 Docusaurus CLI 的初始化命令$ docusaurus-init执行该命令会在当前目录生成一个包含docs/、blog/、pages/、static/等标准目录的 Docusaurus 项目骨架与仓库中 framework-boilerplates/docusaurus 的目录布局一一对应。它是 Docusaurus v1 时代的初始化入口对应package.json中的docusaurus: ^1.12.0依赖版本因此该示例整体遵循 v1 的配置与目录约定例如siteConfig.js、sidebars.json这类 v1 专有文件。本地开发与构建package.json 脚本全解析日常开发依赖 package.json 中声明的 8 个 npm 脚本。它们全部来自 Docusaurus v1 的命令行工具含义如下脚本命令作用examplesdocusaurus-examples生成示例文件如 pages、blog 的样板内容startdocusaurus-start启动本地开发服务器支持热更新devdocusaurus-start --port $PORT以指定端口启动开发服务器$PORT为环境变量便于平台注入端口builddocusaurus-build构建静态站点到build/目录是部署时执行的命令publish-gh-pagesdocusaurus-publish发布到 GitHub Pageswrite-translationsdocusaurus-write-translations抽取文案生成翻译文件versiondocusaurus-version为文档打版本rename-versiondocusaurus-rename-version重命名文档版本其中与 Vercel 部署最相关的是buildVercel 检测到docusaurus依赖后会调用该脚本产出静态文件并托管。本地联调则用npm start或npm run dev后者显式传入--port $PORT体现了面向平台化部署的端口约定。站点全局配置 siteConfig.js 深度解析示例的核心配置文件是 siteConfig.js它导出一个配置对象驱动站点的标题、导航、主题色、图标、SEO 等所有全局行为。逐项拆解如下站点身份与 URLtitle: Test Site, // 站点标题 tagline: A website for testing, // 副标题标语 url: https://your-docusaurus-test-site.com, // 站点正式 URL baseUrl: /, // 站点根路径前缀默认 / projectName: test-site, // 项目名发布 GitHub Pages 时使用 organizationName: facebook, // 组织/用户名GitHub Pages 路径组成若部署在github.io子路径下如https://facebook.github.io/test-site/需要把url与baseUrl分别改为https://facebook.github.io和/test-site/——这是注释中明确给出的用法部署到 Vercel 时通常保持baseUrl: /即可。顶部导航 headerLinksheaderLinks: [ { doc: doc1, label: Docs }, // 指向 id 为 doc1 的文档 { doc: doc4, label: API }, // 指向 docs-other 分组中的 doc4 { page: help, label: Help }, // 指向 pages/en/help.js 页面 { blog: true, label: Blog }, // 博客入口 ],导航项支持doc文档页、page自定义页面、blog博客三类label为展示文本若不需要导航链接可设为headerLinks: []。图标与颜色headerIcon: img/favicon.ico, // 页头图标 footerIcon: img/favicon.ico, // 页脚图标 favicon: img/favicon.ico, // 浏览器 favicon colors: { primaryColor: #03453a, secondaryColor: #023028, },图标路径相对static/目录即 static/img/favicon.ico主题色影响整个站点的品牌视觉。SEO 与代码高亮highlight: { theme: default }, // 代码块高亮主题Highlight.js ogImage: img/undraw_online.svg, // Open Graph 分享图 twitterImage: img/undraw_tweetstorm.svg, // Twitter Card 图 cleanUrl: true, // 路径不带 .html 后缀 onPageNav: separate, // 文档页右侧子导航ogImage/twitterImage分别对应社交平台分享卡片路径同样相对static/示例中使用的是 static/img 下 unDraw 风格的 SVG 插画。其他可用配置copyright: Copyright © ${new Date().getFullYear()} Your Name or Your Company Name, scripts: [https://buttons.github.io/buttons.js], // 注入 script enableUpdateBy: true, // 文档页显示最近贡献者默认注释关闭 enableUpdateTime: true, // 文档页显示最近更新时间默认注释关闭 repoUrl: https://github.com/facebook/test-site, // 仓库地址注释示例其中customDocsPath: path.basename(__dirname) /docs是一项值得注意的约束文档目录必须与package.json同级注释明确要求 keep the docs folder in the same folder as the package.json这也是 Vercel 构建时能正确找到文档内容的前提之一。文档组织sidebars.json 与 docs 目录文档侧边栏结构由 sidebars.json 定义{ docs: { Docusaurus: [doc1], First Category: [doc2], Second Category: [doc3] }, docs-other: { First Category: [doc4, doc5] } }它把docs/目录中的文档按分组组织成两套侧边栏主侧边栏docs与二级侧边栏docs-other后者的文档通过headerLinks中的{ doc: doc4, label: API }接入。侧边栏的键值引用文档frontmatter 中的id而id默认取文件名不含扩展名docs/doc1.md 通过 frontmatter 声明id: doc1、title: Latin-ish、sidebar_label: Example Page侧边栏显示名docs/doc2.md 演示了文档间相对链接[another document.](https://link.gitcode.com/i/0e7e804b2d8745ff5a963956198e65d3)与外部链接的写法docs/doc3.md 提供常规正文示例docs-other分组中的doc4、doc5实际对应 docs/exampledoc4.md 与 docs/exampledoc5.md其 frontmatter 中id: doc4即侧边栏引用依据——这体现了Docusaurus 以 frontmatter 的 id 为文档唯一标识的机制。blog/ 目录存放博客文章Markdown 文件按日期命名Docusaurus 会自动解析并生成博客列表与 RSS。页面与组件定制pages 与 core除文档与博客外站点还支持 React 自定义页面与组件pages/en/index.js 是首页实现通过HomeSplash、Features、Showcase等区块组合出落地页并复用 static/img 下的 unDraw SVG 插画做特性展示Showcase区块会读取siteConfig.users中pinned: true的用户展示 Logopages/en/help.js 是帮助页面通过GridBlock排版出 Browse Docs / Join the community / Stay up to date 三类支持入口pages/en/users.js 渲染siteConfig.users列表作为用户展示页core/Footer.js 是全局页脚组件其docUrl/pageUrl方法基于baseUrl、docsUrl动态拼接链接并展示siteConfig.copyright与 footerIcon。这些文件说明Docusaurus 的定制能力并不局限于 Markdown任何页面都可以用 React 组件深度改造同时保持与siteConfig配置的联动。部署要点与注意事项结合源码梳理部署 Docusaurus 示例到 Vercel 的完整链路初始化docusaurus-init生成项目骨架如本示例所示配置修改 siteConfig.js 中的title、url、baseUrl、colors等组织 docs 与 sidebars.json本地验证npm start预览npm run build确认构建产物正常产出部署将项目推送到 Git 仓库后导入 Vercel或直接使用 README 中的一键部署模板Vercel 自动识别 Docusaurus 框架并执行build全程无需手写部署配置——这正是该 Boilerplate 命名为零配置的依据。两点前提与限制需要留意本示例基于Docusaurus v1docusaurus ^1.12.0其配置体系siteConfig.js、docusaurus-init与 v2/v3 的docusaurus.config.js完全不同若参照本文改造新项目请先确认目标 Docusaurus 大版本文章所述部署流程以 Vercel 平台默认的框架识别与构建行为为前提当前仓库未包含任何vercel.json等平台配置因此不涉及自定义路由、重写等高级部署特性。总而言之framework-boilerplates/docusaurus 以最精简的形式演示了Docusaurus 文档站 零配置部署这一高频实战场景先由docusaurus-init生成标准骨架再通过siteConfig.js与sidebars.json完成站点与文档组织最后交给 Vercel 自动构建上线。这套模式可以原样复用于团队文档站、开源项目官网等场景是理解静态文档站工程化与平台化部署的绝佳起点。【免费下载链接】examplesEnjoy our curated collection of examples and solutions. Use these patterns to build your own robust and scalable applications.项目地址: https://gitcode.com/GitHub_Trending/examples1/examples创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表