文档微件可简化文档中使用的信息并提供单一信息来源。
Fuchsia.dev 文档 widget 是使用 Jinja2 宏创建的,并且也支持 Markdown 格式。widget 从 Markdown 转换为实际 Jinja2 宏的过程发生在页面发布到 fuchsia.dev 之前。如需详细了解 Jinja2 宏,请参阅宏。
所有文档 widget 都在 //docs/_common/_doc_widgets.md 中定义。
前提条件:(仅限 HTML/Jinja2)
您必须先将文档 widget 导入到 Markdown (.md) 文件中,然后才能在 HTML/Jinja2 中使用它们。在文件顶部,指定以下内容:
{% import 'fuchsia-src/_common/_doc_widgets.md' as widgets %}
常规 widget
inline_toc
基于 _toc.yaml 文件创建目录 (TOC) 的项目符号列表。
示例
目录的项目符号列表:
已呈现
HTML/Jinja2
{% set tocmeta | yamlloads %}
{% include "fuchsia-src/contribute/docs/_toc.yaml" %} {% endset %}{{ widgets.inline_toc () }}
用法
由于存在限制,您无法将 _toc.yaml 文件指定为 widget 的参数。
{% set tocmeta | yamlloads %}
{% include "_toc_file.yaml" %}
{% endset %}
{{ widgets.inline_toc () }}
参数
此 widget 不使用参数,请务必在使用此 widget 之前指定前提条件。
术语库
这些 widget 专门用于处理 //docs/glossary/glossary.yaml 中定义的术语。
如需启用悬停定义,您必须使用下列语法之一。建议使用 Markdown 版本。使用任何其他语法都会生成没有悬停定义的简单链接。
如需详细了解如何向术语表中添加术语,请参阅添加术语表条目。
glossary_simple
创建术语的悬停定义 short_description,并提供指向术语表术语的链接。此术语也可以选择设置为不可点击。
示例
可点击的悬停定义:
已呈现
不可点击的悬停定义:
已呈现
ABI 的定义。 ABI <0
用法
您可以通过多种方式使用此 widget:
Markdown
- Xref 链接(首选):
[display_name][glossary.term]
或者,您也可以不指定 display_name,这样系统就会将实际的字词用作 display_name:
[glossary.term]
对于这两种格式,您都必须在 Markdown 文件底部定义 Xref。例如:
[glossary.display_name]: /docs/glossary/README.md#term
- 内嵌链接:
[display_name](/docs/glossary/README.md#term)
- 内嵌链接(缩短):
[display_name](/docs/glossary#term)
HTML/Jinja2
{{ widgets.glossary_simple ('term', 'display_name', 'notClickable')}}
参数
Markdown
| 参数 | |
|---|---|
display_name |
必需 指定 Markdown 文件中将包含悬停文本的文本。 如果使用 [glossary.term] 的交叉引用语法,则不需要此参数。在这种情况下,词汇表术语会用作 display_name。 |
term |
必需 指定在 _glossary.yaml 文件中定义的术语。 |
HTML/Jinja2
| 参数 | |
|---|---|
term |
必需 指定在 _glossary.yaml 文件中定义的术语。 |
display_name |
可选 指定 Markdown 文件中将包含悬停文本的文本。 |
notClickable |
可选 如果使用 display_name,则为必需项。用于确定术语是否链接到完整词汇表。如果未指定此属性,则术语将变为可点击,并链接到其词汇表条目。 |
glossary_box
创建术语的 full_description 定义框。如果相应字词没有 full_description,则使用 short_description。
定义框还会显示一个修改按钮,供贡献者修改词汇表。
示例
定义框:
已呈现
用法
您可以通过多种方式使用此 widget:
Markdown
- Xref 链接(首选):
[display_name][glossary.box.term]
然后,您必须在 Markdown 文件底部定义 Xref。例如:
[glossary.box.display_name]: /docs/glossary/README.md#term
- 内嵌链接:
[display_name](/docs/glossary/README.md?style=box#term)
- 内嵌链接(缩短):
[display_name](/docs/glossary?style=box#term)
HTML/Jinja2
{{ widgets.glossary_box ('term', 'display_name') }}
参数
| 参数 | |
|---|---|
term |
必需 指定在 _glossary.yaml 文件中定义的术语。 |
display_name |
必需 此参数是必需的,可防止出现错误,但不会执行任何操作。 |