前言
之前在 github 偶然发现了facebook开源的 docusaurus发现了很多不错的功能:
- 由
MDX提供支持.: 节省时间并专注于文本文档。只需使用MDX编写文档和博客文章,Docusaurus就会将它们构建成静态HTML文件,以便提供服务。借助MDX,您甚至可以在Markdown中嵌入React组件。 - 使用
React构建: 通过编写React组件来扩展和自定义项目的布局。利用可插拔架构,设计您自己的网站,同时重用Docusaurus插件创建的相同数据。 - 提供翻译功能:本地化是开箱即用的。使用
git、Crowdin或任何其他翻译管理器来翻译您的文档并单独部署它们。 - 文档版本控制: 支持项目所有版本的用户。文档版本控制可帮助您使文档与项目发布保持同步。
- 支持内容搜索:让您的社区可以轻松地在您的文档中找到他们需要的内容。支持
Algolia文档搜索。
本节将记录如何通过 docusaurus 搭建个人主页。
准备工作
安装项目脚手架
npx create-docusaurus@latest my-website classic
亦可使用typesecript
npx create-docusaurus@latest my-website classic --typescript
替换安装命令
您还可以使用首选的项目管理器初始化新项目:
- npm
- yarn
- pnpm
npm init docusaurus
yarn create docusaurus
pnpm create docusaurus
项目结构
假设您选择了经典模板并将网站命名为 my-website,您将会在新目录 my-website/ 下看到下列文件:
my-website
├── blog
│ ├── 2019-05-28-hola.md
│ ├── 2019-05-29-hello-world.md
│ └── 2020-05-30-welcome.md
├── docs
│ ├── doc1.md
│ ├── doc2.md
│ ├── doc3.md
│ └── mdx.md
├── src
│ ├── css
│ │ └── custom.css
│ └── pages
│ ├── styles.module.css
│ └── index.js
├── static
│ └── img
├── docusaurus.config.js
├── package.json
├── README.md
├── sidebars.js
└── yarn.lock
解释项目结构
/blog/- 包含博客的 Markdown 文件。 详情可参考/docs/- 包含文档的 Markdown 文件。 您可在 sidebars.js 中自定义文档的侧边栏顺序。 详情可参考/src/- 如页面或自定义 React 组件一类的非文档文件。/src/pages- 您可在页面指南中了解详情
/static/- 静态目录。 此处的所有内容都将被复制进build文件夹的根目录中/docusaurus.config.js- 站点配置文件。/package.json- Docusaurus 网站是一款 React 应用程序。 您可以安装并使用任何 npm 软件包/sidebars.js- sidebar 的相关配置