文档结构
Grafana Labs 文档团队负责决定如何组织和构建产品文档。本页讨论的主题层级反映了常见的用户目标。例如,首次使用 Grafana 的用户必须先了解基本概念,然后才能安装产品。
在开始贡献文档之前,了解内容的结构非常重要。
用户目标与文档结构
编写文档时,请关注用户的目标是什么。
利用文档结构反映用户的目标。思考您的用户想做什么,他们需要知道什么,以及如何完成任务。
这种方法不仅适用于页面上的内容,也适用于如何组织一套文档,无论它是针对产品还是某个功能。
有了结构良好的内容,您可以快速轻松地找到所需信息。主题按逻辑顺序展开。
已发布内容的结构
通常,文档结构决定了内容的组织方式:
- 标题
- 分组
- 与其他相关内容组合(或不组合)
跨文档集的标准化内容结构提供了统一的用户体验。信息从较高(不太具体)的层级流向较低(更具体)的层级。例如,新 Grafana 用户首先想了解概念信息,因此介绍放在安装之前。
使用您需要的主题
根据您的产品设计和成熟度,您可能不需要所有主题
- 如果某个主题不适用于您的项目,则无需使用它。
- 例如,对于 Grafana OSS,您可能会使用所有标题。
- 例如,对于 Grafana Enterprise Traces,您可能只使用部分主题。
有些主题是可选的,通常在特定上下文中出现。例如,创建和监控主题在 Grafana OnCall 中使用,但在 Grafana Tempo 中不使用。
突出重要主题
当您的顶级目录不长时,可以将其作为独立主题或对标准主题列表的修改,包含在顶级目录中。
例如,Metrics-generator 和 TraceQL 是 Tempo 文档中最常被查看的两个主题。Metrics-generator 是一个顶级主题,而 TraceQL 位于 Query with TraceQL 主题下,它是标准 Query data 主题的修改。
避免额外的层级结构
当您只有一个主题时,不要仅仅为了使用标准主题列表而将其嵌套在标准主题下。
例如,在 Tempo 文档中,API documentation 将是 References 标准主题下的唯一条目。此时,不应在目录中增加一层,而是将 API documentation 直接放在顶级。
主题列表
您可以使用以下高级主题来分组内容。在编写新内容时,请根据此内容结构考虑它应出现在哪里。例如,解释指标的概念性页面应放在介绍主题下。
主题 | 示例链接 | 内容 |
---|---|---|
介绍 | Grafana 介绍 | 概念性、基础性或架构性信息。 |
入门 | Grafana Tempo 入门 | 精心设计的演练和教程。 |
设置 | 设置 Grafana | 系统要求,以及标题为设置、配置、升级或迁移的子章节。 |
配置 | 配置 Tempo | 如果页面数量较多,配置可以作为独立的章节目录。这并非精确科学;请凭您的最佳判断来决定。 |
创建警报 | 创建 Grafana 托管警报规则 | 特定于 Grafana Ops 产品,如 Alerting、OnCall、Incident 和 SLO。词语警报可能会根据产品而改变。如果与 Grafana SLO 一起使用,则此主题将是创建 SLO。不要用于后端数据库产品,如 Tempo 和 Loki。应使用警报,并参考操作性产品获取详细信息。 |
管理警报 | 管理 SLO | 特定于 Grafana Ops 产品,如 Alerting、OnCall、Incident 和 SLO。词语警报可能会根据产品而改变。如果与 Grafana SLO 一起使用,则此主题将是创建 SLO。不要用于后端数据库产品,如 Tempo 和 Loki。应使用警报,并参考操作性产品获取详细信息。 |
集成 [<产品>] 或 发送数据 | 埋点并将数据发送到 Grafana Cloud | 如何设置数据集成、产品集成、数据源、客户端、插件等。 |
查询数据 | 使用 TraceQL 查询 | 查询语言、查询工具和示例。 |
可视化数据 | 仪表盘 | 仪表盘概念和流程。链接到仪表盘文档的权威来源,而不是在此处重复信息。 |
警报 | 警报和记录规则 | 此主题级别用于讨论警报功能的页面,例如 Grafana Loki 中的警报规则。它为不特定于 Grafana Operations 产品的警报内容提供了一个位置。 |
管理 <产品> | 管理 Grafana OnCall 的用户和团队 | 关于管理 Grafana Labs 产品的信息。例如,此主题中的内容可帮助您查看、编辑和迭代您安装的 Grafana 产品。 |
监控 <产品> | 监控 Grafana Mimir | 关于使用工具监控 Grafana Labs 产品的信息。 |
参考 | Grafana Mimir 参考 | API、配置参考、SDK 等。通常不是过程性的材料。 |
目录层级
目录包含以下章节层级。
顶级:目录的顶级代表产品的特性和功能分组。贡献文档的第一步是确定您将贡献到哪个顶级实体。
注意
不要向目录添加顶级实体。如果您不确定您的文档应属于何处,请联系技术文档团队。
父级:每个顶级实体有一个或多个父级,它们是相关功能内容的分组。父级主题帮助用户导航到子级主题。
子级:此信息架构层级包括概念、任务或参考主题。
父级目录结构
在顶级目录内,有一个父级目录。
下图显示了仓库中 user-management
父级目录的结构。
- 父级目录中有一个
_index.md
文件,作为子级主题的着陆页。在大多数情况下,_index.md
包含概念性内容。有关您可以添加到_index.md
文件的概念内容类型的信息,请参阅概念。 - 父级目录中还有四个任务主题,每个主题都有一个目录和一个
index.md
文件。
有关如何编写概念的更多信息,请参阅概念。有关如何编写任务的更多信息,请参阅任务。
注意
如果一个目录包含多个页面或子目录,它就是一个分支捆绑 (branch bundle),并且必须包含一个
_index.md
文件。
页面和页面捆绑
Hugo 生成的每个网页来自以下三种源文件之一:
page/_index.md
: Hugo 分支捆绑 (branch bundle)page/index.md
: Hugo 叶子捆绑 (leaf bundle)page.md
: Hugo 页面
尽管以上示例都生成相同的 URL (/page/
),但 Hugo 对每个源文件的处理方式不同。
分支捆绑 (page/_index.md
) 生成页面层级结构。要生成 /page/subpage/
URL,首先必须有一个 page/_index.md
分支捆绑源文件。
叶子捆绑 (page/index.md
) 捆绑页面资产。要使用链接 ./style.css
引用样式表 page/style.css
,该链接必须位于 page/index.md
叶子捆绑源文件中。
如果您打算使用 Hugo mount 将网站的一部分内容挂载到另一部分,则需要使用叶子捆绑。Hugo mount 在网站生成之前使用虚拟文件系统,并且您只能挂载目录。要将页面 /page/
挂载到 /other/page/
,首先必须有一个 page/index.md
叶子捆绑源文件。
如果您不确定是否需要挂载叶子捆绑,那么很可能不需要,并且可以默认使用页面。
页面 (page.md
) 是除叶子捆绑或分支捆绑之外的任何源文件。当您不需要叶子捆绑或分支捆绑的任何行为时,使用页面很方便,因为在某些文本编辑器或 IDE 中更容易区分两个源文件。
有关分支捆绑和叶子捆绑的更多信息,请参阅页面捆绑。