Doucsaurus配置
create-docusaurus是一个创建 Docusaurus 应用的脚手架工具。
初始化项目:
npx create-docusaurus@latest my-website classic --typescript --package-manager pnpm
- 项目名:my-website
- 模板:classic
- 使用 typescript
- 使用 pnpm
如果查看 tsconfig.json 或者执行pnpm typecheck
报错,安装以下依赖:
pnpm add -D @docusaurus/theme-classic @types/node
CLI 命令解析
https://docusaurus.io/docs/cli
在 package.json
中,可以找到以下命令:
{
"scripts": {
"docusaurus": "docusaurus",
"start": "docusaurus start",
"build": "docusaurus build",
"swizzle": "docusaurus swizzle",
"deploy": "docusaurus deploy",
"clear": "docusaurus clear",
"serve": "docusaurus serve",
"write-translations": "docusaurus write-translations",
"write-heading-ids": "docusaurus write-heading-ids",
"typecheck": "tsc"
}
}
docusaurus
:运行 Docusaurus 命令start
:启动开发服务器,访问http://localhost:3000
build
:构建项目,生成静态文件swizzle
:用于自定义主题,修改默认主题deploy
:将构建好的静态文件部署到 GitHub Pagesclear
:清除缓存serve
:启动本地服务器托管构建后的项目write-translations
:生成翻译文件,用于翻译write-heading-ids
:为标题添加 id,方便跳转typecheck
:类型检查
blog 配置
Docusaurus 博客功能 由 blog plugin 提供支持。
只需将 Markdown 文件(或文件夹)添加到 blog
目录即可。文件夹便于将相关图片放在一起。
如果不想要博客就删除 blog 目录,在 docusaurus.config.ts
中配置 blog: false
即可。
文件命名
- 日期 + 标题,可以从文件名中提取文章日期,例如:
2024-06-08-welcome.md
- 标题,例如:
welcome.md
,然后在文件中编写元数据 date :
---
title: welcome
date: 2024-06-08
---
如果没有设置日期,则默认显示当天的日期。
以日期开头的文件,排序更清晰,但是会在路径中显示日期,如:/blog/2024/07/15/docusaurus
配置作者信息
可以将常规博客作者添加到 authors.yml
文件
zgh:
name: zgh
title: Front-end Engineer
url: https://github.com/Ivanzgh
image_url: https://avatars.githubusercontent.com/u/26456994?v=4
也可以直接在文件中配置,但是建议集中在一个地方,方便管理,使用 authors: zgh
即可。
---
title: First Blog Post
authors:
name: zgh
title: Front-end Engineer
url: https://github.com/Ivanzgh
image_url: https://avatars.githubusercontent.com/u/26456994?v=4
---
配置标签
tags.yml
文件是集中管理标签的地方。配置 tags.yml
文件:
react:
label: React
permalink: /react
description: React tag description
vue:
label: Vue
permalink: /vue
description: Vue tag description
docusaurus:
label: Docusaurus
permalink: /docusaurus
description: Docusaurus tag description
在文件开头写入以下内容,在页面的底部会显示标签。
---
tags:
- react
- docusaurus
---
- 访问
/docs/tags
,可以看到所有 tag - 访问
/docs/archive
,可以看到所有博客,归档
配置元数据
---
title: Doucsaurus配置
authors: zgh
tags: [docusaurus]
---
<!--truncate-->
slug: file-url
自定义文件路径draft: true
草稿
隐藏更多内容
使用 <!--truncate-->
限制博客列表内容的长度,点击「阅读更多」查看更多内容。
编写 MDX 文件
博客文章支持 Docusaurus Markdown 功能,例如 MDX。
可以创建一个.mdx
后缀的文件,例如 2024-01-01-docusaurus.mdx
。也可以直接在 .md
后缀的文件中编写。
然后写入如下内容,点击按钮,实现交互效果。
<button onClick={() => alert('button clicked!')}>Click me!</button>
swizzle
swizzle 支持自定义布局,可以在默认主题的基础上,修改某些组件。
例如修改博客详情组件,执行以下命令,会出现 src/theme/BlogPostItem
目录:
pnpm run swizzle @docusaurus/theme-classic BlogPostItem --wrap --typescript