更多设置
GemBook 允许在 Markdown 文件的开头添加 yaml 格式(称为 FrontMatter)的数据,
以设置文档在侧边栏和导航栏中的显示方式。例如:
---
title: 侧边栏标题
description: 页面的描述 # 默认使用第一段文字
sidebarIgnore: true # 不在侧边栏中显示
isNav: true # 显示到顶部导航栏
navTitle: 顶部导航栏标题
navOrder: 2 # 顶部导航栏位置
redirect: ./new.md # 如果文档移动或者重命名,可以使用重定向防止链接失效
---
# 标题首页
启用 homeModeindex.md 或者 readme.md 渲染成首页,
首页还支持 hero features,例如:
docs/zh/README.md
---
hero:
title: GemBook
desc: 简单、快速创建你的文档网站
actions:
- text: 快速开始
link: ./guide/README.md
features:
- title: 开箱即用
icon: 📝
desc: 只需运行一条命令就能构建所有前端资源,让所有注意力都能放在文档编写上。
- title: 高性能
icon: /logo.png
desc: 构建时把每个页面渲染成 HTML,不需要等待 JavaScript 加载就能看到内容。
- title: 可插拔可扩展
icon: 👩🎨
desc: 在 Markdown 中使用自定义元素扩展文档,例如可运行的示例、API 文档和搜索。文件夹设置
对 Markdown 的设置同样适用于文件夹,只需在文件夹中添加 config.yml 即可,例如:
docs/zh/guide/config.yml
title: 指南另外,文件夹还有两个特殊的设置:
isNav 的文件夹是独立的一部分文档,只显示在导航栏中,当前页面在其中时侧边栏只显示该文件夹的文档。
完整定义
app/lib/frontmatter.ts
export interface FrontMatter {
title?: string;
/** 页面的 `<meta name="description">`,默认使用首页的 `hero.desc` 或者第一段文本 */
description?: string;
isNav?: boolean;
navTitle?: string;
navOrder?: number;
sidebarIgnore?: boolean;
redirect?: string;
/** below only dir */
reverse?: boolean;
groups?: { title: string; members: string[] }[];
/** below only homepage */
hero?: Hero;
features?: Feature[];
}
export interface Hero {
title?: string;
desc?: string;
actions?: { text: string; link: string }[];
}
export interface Feature {
icon?: string;
title: string;
desc: string;
}