About AxVisor document
The AxVisor documentation built using Docusaurus
简介
Docusaurus 是 Facebook(现更名为 Meta)开源的一个用于创建、维护和部署静态网站的工具。它适用于创建项目文档、团队文档和任何其他类型的文档。Docusaurus 集成了 Markdown、React 和一些自定义配置选项,可以帮助开发人员快速创建漂亮的文档网站。
- 官网:https://docusaurus.io/
- 源码:https://github.com/facebook/docusaurus
- 环境:2.x 版本要求 Node.js 16.14 及以上,3.x 版本要求 18.0 及以上
创建项目
要创建一个 Docusaurus 项目可以使用 Docusaurus 脚手架命令行工具 npx create-docusaurus@latest my-website classic
,也可以直接使用原始命令 npm init docusaurus
或 yarn create docusaurus
来进行创建,创建过程中会让我们选择几个基本配置。
- 脚手架命令
npx create-docusaurus@latest my-website classic
实际上是对npm init docusaurus
的进一步封装,创建出来的项目目录与后者创建的是一样的 - 参数 classic 表示使用 classic 模板作为网站的基本样式;my-website 是存放 Docusaurus 项目源码文件的目录名字以及我们的网站的名字;JavaScript 表示 Docusaurus 的开发语言
配置
无论使用哪个命令来创建项目,创建后的项目的目录结构如下所示,整个站点的主要配置都位于 docusaurus.config.js
中。
blog
Docusaurus 通过 Blog Plugin 这个插件为我们提供了一个功能齐全的 blog 发布页面的特性,对应于 blog
目录中的各种 Markdown 文件。
-
通过在
docusaurus.config.js
中添加或删除如下配置项可以选择启用或禁用博客插件,禁用后则可以删除blog
目录,也可以在设置路径选项后更改其名称。export default {
themeConfig: {
// ...
navbar: {
items: [
// ...
// to: 指定 blog 对应的路径;label: 指定早导航栏中显示的名字;position: 指定 label 在导航栏的位置
{to: 'blog', label: 'Blog', position: 'left'}, // or position: 'right'
],
},
},
}; -
在默认情况下,博客的索引页面(默认情况下,它位于
/blog
)是博客列表页面,所有的博客文章都在这个页面上显示。
docs
docs
包含文档的 Markdown 文件。在 sidebars.js 中自定义 docs 侧边栏的顺序。如果您已经禁用了 docs 插件,您可以删除该目录,或者您可以在设置 path 选项后更改其名称。
src
src
目录中是一些非文档文件,如页面或自定义 React 组件。
pages
: 此目录中的任何 JSX/TSX/MDX 文件都将转换为网站页面。components
: 存放一些共用的组件css
:存放针对当前主题的自定义样式
static
static
静态目录中的任何内容都将被复制到最终构建目录的根目录中
其他文件
docusaurus.config.js
: 一个包含站点配置的配置文件,相当于 Docusaurus v1 中的 siteConfig.jspackage.json
: 使用的 npm 包sidebars.js
: 由文档使用,用于指定边栏中文档的顺序
部署
Docusaurus 最终为我们提供一个网站作为文档的浏览界面。
本地部署
可以使用像 Apache2 或 Nginx 这样的 HTTP 服务器进行再本地进行自主托管。只需要执行 npm run serve -- --build --port 80 --host 0.0.0.0
或 yarn serve --build --port 80 --host 0.0.0.0
命令就可以使用 docusaurus serve
自我托管 Docusaurus 网站。
如果省略
--port 80 --host 0.0.0.0
则默认为 127.0.0.1:3000,可以方便我们在本地调试
Github Pages
要将我们的 Docusaurus 网站部署在 Github Pages 上,首先需要在 Github 上创建一个仓库。在仓库的设置中可以看到,现在的 Github Pages 支持 Deploy from a branch
和 GitHub Actions
两种部署类型,Docusaurus 对这两种部署方式都是支持的。