菜单
开源
上次评审时间:2024 年 4 月 15 日

短代码

短代码是您在源文件中使用的片段,用于调用内置或自定义模板。短代码模板避免了在 Markdown 中使用 HTML 的需要,并确保了整个文档集的一致性。

以下部分描述了可在 Grafana Markdown 文件中使用的短代码。要了解其他短代码,请参阅 Hugo 短代码文档

注意

网站团队在网站仓库的 layouts/shortcodes 文件夹中维护短代码模板,该文件夹仅 Grafana Labs 员工可访问。要请求自定义短代码,请创建问题

Anchorize

anchorize 短代码插入提供的第一个参数的锚点片段。您可以在 URL 中使用锚点片段来链接到具有特定标识符的 HTML 标签。

参数描述是否必需
位置 0字符串

示例

以下示例插入 Writers' Toolkit 的锚点片段。

markdown
{{< anchorize "Writers' Toolkit" >}}

生成

writers-toolkit

Admonition

admonition 短代码将其内容渲染为块引用或风格化的横幅。风格取决于 Writers' Toolkit 风格约定中定义的提醒类型。

提醒的内容必须包含在开始和结束标签之间,提醒的类型必须用引号括起来。

参数描述是否必需
type提醒的类型。可以是 cautionnotetipwarning 中的一个。

当您想向读者展示如何执行某些可能并非显而易见的操作时,请使用提示。提示应该是有帮助的补充信息。您可以将某些提示视为技巧。如果读者愿意,可以随意跳过它们,因为它们不贡献于核心理解。

警告

如果您使用在主题级别定义的引用链接,则 [link text][label][link text][] 等引用样式链接在短代码的内部文本中不起作用。要在提醒内使用引用链接,您必须使用标准的行内 Markdown 链接或在提醒短代码内定义引用链接。

有关更多信息,请参阅短代码中的 Markdown 引用链接

示例

以下示例渲染一个类型为 note 的提醒,消息为 Kingston is the capital of Jamaica.

markdown
{{< admonition type="note" >}}
Kingston is the capital of Jamaica.
{{< /admonition >}}

生成

注意

Kingston is the capital of Jamaica.

以下示例渲染一个类型为 tip 的提醒,消息为 This also applies to headings that contain a forward slash or parentheses or square brackets.

markdown
{{< admonition type="tip" >}}
This also applies to headings that contain a forward slash or parentheses or square brackets.
{{< /admonition >}}

生成

Tip

This also applies to headings that contain a forward slash or parentheses or square brackets.

卡片网格

card-grid 短代码渲染一个自适应的卡片元素网格,其宽度适应其容器的宽度。

网格参数

参数描述是否必需
keyHero 字段的 Front matter 参数名称。默认值:hero
items卡片参数的 Front matter 数组
type要使用的卡片类型。当前唯一选项是:simple。默认值:simple
min设置最小卡片宽度。这会影响每行的卡片数量以及卡片换行的断点。选项:xssmmdlg。这些对应于 100px250px350px500px 的最小卡片宽度。默认值:sm
wrapper_class包装器元素的可选 CSS 类。
grid_class网格元素的 optional CSS 类。
card_class卡片的可选 CSS 类。

卡片参数 (type="simple")

参数描述是否必需
title卡片标题文本。
href卡片目标的 URL。对于 grafana.com 域的链接,使用相对路径。例如,/docs/grafana/latest/
description描述文本。接受 Markdown。
logoLogo 图片 URL。
width对于位图图像(pngjpgwebp),这是图像的自然宽度。对于矢量图像(svg),这是期望的显示宽度。接受数字(像素)或百分比。像素值**不得**包含 px。默认值:auto
height对于位图图像(pngjpgwebp),这是图像的自然高度。对于矢量图像(svg),这是期望的显示高度。接受数字(像素)或百分比。像素值**不得**包含 px。默认值:auto

示例

渲染最小卡片宽度为 sm 且卡片类型为 simple 的卡片网格

markdown
---
my_card_grid:
  type: simple
  min: sm
  items:
    - title: Grafana Alerting
      href: /docs/grafana-cloud/alerting-and-irm/alerting/
      description: >-
        Allows you to learn about problems in your systems moments after they occur. Monitor your incoming metrics data or log entries and set up your Alerting system to watch for specific events or circumstances and then send notifications when those things are found.
      logo: /media/docs/grafana-cloud/alerting-and-irm/grafana-icon-alerting.svg
      height: 24
    - title: Grafana SLO
      href: /docs/grafana-cloud/alerting-and-irm/slo/
      description: >-
        Provides a framework for measuring the quality of service you provide to users. Use SLOs to collect data on the reliability of your systems over time and as a result, help engineering teams reduce alert fatigue, focus on reliability, and provide better service to your customers.
      logo: /media/docs/grafana-cloud/alerting-and-irm/grafana-icon-slo.svg
      height: 24
---

{{< card-grid key="my_card_grid" >}}

代码

code 短代码提供了以不同语言显示多个代码片段的能力。当用户选择一种语言时,页面上的其他代码块会切换到该语言。网站会将选择的语言保存在浏览器存储中,并在导航时保持。

示例

注意

如果您的仓库使用 prettier 格式化文件,请在短代码标签周围使用 HTML 注释 <!-- prettier-ignore-start --><!-- prettier-ignore-end --> 以确保正确渲染。

markdown
{{< code >}}

```bash
curl "https://your-stack.grafana.net/api/plugins/grafana-incident-app/resources/api/v1/ActivityService.AddActivity"
```

```go
package main

import (
  "context"
)

func main() {

  ...
```

```javascript
import { GrafanaIncidentClient, ActivityService } from '@grafana/incident-node';

// https://grafana.org.cn/docs/grafana-cloud/incident/api/auth/#get-a-service-account-token
const serviceAccountToken = process.env.GRAFANA_CLOUD_SERVICE_ACCOUNT_TOKEN;
const client = new GrafanaIncidentClient(
  "https://your-stack.grafana.net",
  serviceAccountToken
);

...
```

```json
POST https://your-stack.grafana.net/api/plugins/grafana-incident-app/resources/api/v1/ActivityService.AddActivity
Content-Type="application/json; charset=utf-8"
Authorization: Bearer glsa_HOruNAb7SOiCdshU9algkrq7F...
```

{{< /code >}}

生成

bash
curl "https://your-stack.grafana.net/api/plugins/grafana-incident-app/resources/api/v1/ActivityService.AddActivity"
Go
package main

import (
  "context"
)

func main() {

  ...
JavaScript
import { GrafanaIncidentClient, ActivityService } from '@grafana/incident-node';

// https://grafana.org.cn/docs/grafana-cloud/incident/api/auth/#get-a-service-account-token
const serviceAccountToken = process.env.GRAFANA_CLOUD_SERVICE_ACCOUNT_TOKEN;
const client = new GrafanaIncidentClient(
  "https://your-stack.grafana.net",
  serviceAccountToken
);

...
json
POST https://your-stack.grafana.net/api/plugins/grafana-incident-app/resources/api/v1/ActivityService.AddActivity
Content-Type="application/json; charset=utf-8"
Authorization: Bearer glsa_HOruNAb7SOiCdshU9algkrq7F...

可折叠

collapse 短代码切换内容部分的可见性,这在隐藏和显示大量内容时很有帮助。

参数描述是否必需
title解释隐藏内容的文本。

示例

markdown
{{< collapse title="Title of hidden content" >}}
Kingston is the capital of Jamaica.
{{< /collapse >}}

生成

使用此短代码用于

添加一句引言和一个标题,两者结合起来要能充分描述折叠内容中包含的内容。不要在标题参数中重复标题。

您不能使用此短代码执行以下操作

  • 将其用作页面标题
  • 控制标题文本的大小
  • 在短代码标签之间添加图片或视频

废弃示例

markdown
#### BoltDB (deprecated)

The following example is for a deprecated store and you shouldn't use it for new Loki deployments:

{{< collapse title="boltdb-shipper" >}}
Also known as _boltdb-shipper_ during development.
The single store configurations for Loki utilize the chunk store for both chunks and the index, requiring just one store to run Loki.
{{< /collapse >}}

生成

BoltDB (废弃)

以下示例是关于已废弃存储的,不应在新的 Loki 部署中使用

配置选项示例

markdown
#### `6-Compactor-Snippet.yaml`

The following partial configuration sets the compactor to use S3 and run the compaction every five minutes.

{{< collapse title="Example" >}}

```yaml
compactor:
  working_directory: /tmp/loki/compactor
  shared_store: s3
  compaction_interval: 5m
```

{{< /collapse >}}

生成

6-Compactor-Snippet.yaml

以下部分配置将 compactor 设置为使用 Amazon S3,并每隔 5 分钟运行一次压缩。

列式列表

将列表格式化为多列。内容在列之间平均分配,除非使用 count 参数指定。

参数描述是否必需
count桌面视图中的列数。您可以指定最少两列,最多四列。

示例

markdown
{{< column-list >}}

- Alertmanager
- Amazon CloudWatch
- Azure Monitor
- Elasticsearch
- Google Cloud Monitoring
- Graphite
- InfluxDB
- Jaeger
- Loki
- Microsoft SQL Server (MSSQL)
- MySQL
- OpenTSDB
- PostgreSQL
- Prometheus
- Pyroscope
- Tempo
- Zipkin

{{< /column-list >}}

生成

  • Alertmanager
  • Amazon CloudWatch
  • Azure Monitor
  • Elasticsearch
  • Google Cloud Monitoring
  • Graphite
  • InfluxDB
  • Jaeger
  • Loki
  • Microsoft SQL Server (MSSQL)
  • MySQL
  • OpenTSDB
  • PostgreSQL
  • Prometheus
  • Pyroscope
  • Tempo
  • Zipkin

Docs/alias

docs/alias 短代码确定两个页面之间的相对别名。它可以渲染为行内代码、表格行或完整的输出表格。

参数描述是否必需
from旧页面的 URL 路径。
to新页面的 URL 路径。
output可以是 "table""row""string" 中的一个。默认值为 "table"

有关特定用法说明,请参阅使用 docs/alias 短代码

Docs/copy

docs/copy 短代码注入网站仓库数据中维护的通用文本。

Grafana Labs 技术文档团队内部维护这些文本。如果您是 Grafana Labs 员工并想进行更改,请编辑copy.yaml。如果您不是 Grafana Labs 员工,请通过创建问题来请求更改。

参数描述是否必需
name数据 YAML 文件中的键的名称。

Docs/experimental-deployment

docs/experimental-deployment 短代码生成一个注意提醒,其中包含解释所述部署是实验性的首选文本。

它不接受任何参数。

示例

markdown
{{< docs/experimental-deployment >}}

生成

注意

此部署仅作为示例提供;工程和排班支持不可用。文档有限或仅在代码注释中提供。不提供 SLA。此示例主要面向开源工程师。由于这是一个示例,因此不适用于生产环境,风险未知/高。

Docs/experimental

docs/experimental 短代码生成一个注意提醒,其中包含解释所述产品或功能是实验性的首选文本。

参数描述是否必需
product产品或功能的名称。
featureFlag用户用于启用产品或功能的标志名称。

示例

markdown
{{< docs/experimental product="experimental-feature" featureFlag="its-feature-flag" >}}

生成

注意

experimental-feature 是一个实验性功能。Grafana Labs 提供尽力而为的支持,在功能正式发布之前可能会发生重大更改。在 Grafana 中启用 its-feature-flag 功能标志以使用此功能。联系 Grafana Support 以在 Grafana Cloud 中启用此功能。

Docs/ignore

docs/ignore 短代码忽略开始和结束标记之间的内容,因此它不会显示在渲染的网页中。

当您想将源文档转换为 Killercoda 教程,并希望某些内容仅存在于教程输出中时,请使用此短代码。您应该只使用普通 Markdown 作为短代码的内部内容。

有关 Killercoda 转换的更多信息,请参阅关于转换器工具

示例

markdown
This is rendered before the ignore.

{{< docs/ignore >}}
This isn't rendered.
{{< /docs/ignore >}}

This is rendered after the ignore.

生成

此内容在忽略之前渲染。

此内容在忽略之后渲染。

Docs/openapi/info

显示有关 OpenAPI 3.0+ 规范的信息,使用 urldata 参数指定 OpenAPI 规范。

参数描述是否必需
url要获取的 OpenAPI 规范的 URL。
data要使用的 OpenAPI 规范的文件名,该文件位于网站 data/docs/openapi/ 目录中。

从 URL 获取远程规范

markdown
{{< docs/openapi/info url="<SPECIFICATION_URL>" >}}

使用网站 data/docs/openapi/ 目录中的本地规范

markdown
{{< docs/openapi/info data="<SPECIFICATION_FILENAME>" >}}

示例

显示 https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/examples/v3.0/petstore-expanded.json 处远程规范的 API 信息

markdown
{{< docs/openapi/info url="https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/examples/v3.0/petstore-expanded.json" >}}

显示名为 grafana 的本地规范的 API 信息

markdown
{{< docs/openapi/info data="grafana" >}}

Docs/openapi/path

显示 API 路径信息,使用 urldata 参数指定 OpenAPI 规范。

参数描述是否必需
url要获取的 OpenAPI 规范的 URL。
title要使用的 OpenAPI 规范的文件名,该文件位于网站 data/docs/openapi/ 目录中。
scope用于限定输出范围的路径标签。

Grafana Cloud k6 REST API v6 文档使用 OpenAPI 短代码生成 API 文档。

如果您想与文档和技术写作团队合作发布您的 API 文档,请在 #docs Slack 频道中联系。

示例

显示 grafana 数据规范的所有路径

markdown
{{< docs/openapi/path data="grafana" >}}
or
{{< docs/openapi/path data="grafana" scope="" >}}

仅显示带有 enterprise 标签的 grafana 数据规范的路径

markdown
{{< docs/openapi/path data="grafana" scope="enterprise" >}}

Docs/play

docs/play 短代码生成一个注意提醒,其中包含链接到 Grafana Play 仪表盘的首选文本。

参数描述是否必需
titleGrafana Play 仪表盘的标题。
urlGrafana Play 仪表盘的 URL。

示例

markdown
{{< docs/play title="Time Series Visualizations" url="https://play.grafana.org/d/000000016/1-time-series-graphs" >}}

生成

Give it a try using Grafana Play
使用 Grafana Play 试试看

通过 Grafana Play,您可以探索并了解它是如何工作的,从实际示例中学习,从而加速您的开发。此功能可在时间序列可视化中看到。

Docs/private-preview

docs/private-preview 短代码生成一个注意提醒,其中包含解释所述产品或功能处于私有预览阶段的首选文本。

参数描述是否必需
product产品或功能的名称。
markdown
{{< docs/private-preview product="private-preview-feature" >}}

生成

注意

private-preview-feature 目前处于私有预览阶段。Grafana Labs 提供尽力而为的支持,在功能正式发布之前可能会发生重大更改。

Docs/public-preview

docs/public-preview 短代码生成一个注意提醒,其中包含解释所述产品或功能处于公开预览阶段的首选文本。

参数描述是否必需
product产品或功能的名称。
featureFlag用户用于启用产品或功能的标志名称。
markdown
{{< docs/public-preview product="public-preview-feature" >}}

生成

注意

public-preview-feature 目前处于公开预览阶段。Grafana Labs 提供有限支持,在功能正式发布之前可能会发生重大更改。

markdown
{{< docs/public-preview product="public-preview-feature" featureFlag="its-feature-flag" >}}

生成

注意

public-preview-feature 目前处于公开预览阶段。Grafana Labs 提供有限支持,在功能正式发布之前可能会发生重大更改。

要使用此功能,请在您的 Grafana 配置文件中或在 Grafana Cloud 的 **Administration > General > Feature toggles** 中启用 its-feature-flag 功能标志。

markdown
{{< docs/public-preview featureFlag="a-feature-flag" >}}

生成

注意

要使用此功能,请在您的 Grafana 配置文件中或在 Grafana Cloud 的 **Administration > General > Feature toggles** 中启用 a-feature-flag 功能标志。

Docs/reference

警告

此短代码在文档中存在,但您应优先使用 ref URIs。创建新文档或更新现有文档时请勿使用它。

有关更多信息,请参阅链接

docs/reference 短代码允许您为同一个链接指定不同的目标,具体取决于您发布源文件的位置。

您可以在文件的一部分(通常是文件末尾,如页脚)设置所有可能的目标。

例如,版本化 Grafana 文档中的页面也挂载在 Grafana Cloud 文档中。Grafana 中的页面应链接到 Grafana 仪表盘页面,但 Grafana Cloud 中的页面应链接到 Grafana Cloud 仪表盘页面。

按如下方式在页面末尾设置引用

markdown
{{% docs/reference %}}
[dashboards]: "/docs/grafana/ -> /docs/grafana/<GRAFANA_VERSION>/dashboards"
[dashboards]: "/docs/grafana-cloud/ -> /docs/grafana-cloud/dashboards"
{{% /docs/reference %}}

短代码标签中的内容如下

[LABEL]: "PROJECT PATH PREFIX -> REFERENCE"

  • _<LABEL>_ - 您将在文件中引用样式链接中使用的标签。在上面的示例中,标签是 dashboards。标签可以是多个词,例如 [dashboard docs],并且可以包含空格。

  • _<PROJECT PATH PREFIX>_ - 指定目标项目。在前面的示例中,Grafana 的路径前缀是 /docs/grafana/,Cloud 的路径前缀是 /docs/grafana-cloud/

  • _<REFERENCE>_ - 目标文件的路径。此短代码支持使用 <GRAFANA_VERSION> 等值进行版本替换。要了解版本替换,请参阅关于版本替换。路径中不要包含尾部斜杠。

然后按以下格式在文件主体中添加链接

markdown
For more information about Grafana dashboards, refer to [Dashboards][dashboards].
  • 如果您所在的页面是 /docs/grafana-cloud/alerting/,则返回的链接是 /docs/grafana-cloud/dashboards/
  • 如果您所在的页面是 /docs/grafana/latest/alerting/,则推断的版本是 latest,返回的链接是 /docs/grafana/latest/dashboards/
  • 如果您所在的页面是 /docs/grafana/next/alerting/,则推断的版本是 next,返回的链接是 /docs/grafana/next/dashboards/

其他用例

当您想在一个文件中多次链接到同一个目标时,Markdown 引用样式链接也很有用。它允许您指定链接目标一次,而多次使用标签。例如

参考

markdown
[grafana website]: www.grafana.com

正文

markdown
Find more information on [Grafana][grafana website].

Docs/shared

docs/shared 短代码通过包含源内容仓库中的共享页面,允许您在整个 Grafana 网站上复用内容。源内容仓库必须通过将其放置在其 shared 目录中来明确共享该页面。

要共享内容,请按照以下步骤操作

  1. 创建一个包含共享源的 Markdown 文件,并在 front matter 中包含 headless: true,以防止网站发布该页面。
  2. 将文件存储在共享文件夹中。
  3. 要在 Markdown 文件中包含共享内容,请插入 docs/shared 短代码,并包含以下命名参数

有关更详细的说明,请参阅复用共享内容

参数描述是否必需
lookup相对于共享目录根目录的包含内容的路径。
source网站上显示的源内容的名称。例如,对于https://grafana.org.cn/docs/enterprise-metrics/ 内容,*source* 是 enterprise-metrics
version要包含的源内容的版本。对于没有版本的源内容,请使用空字符串 "" 作为值。此短代码支持使用 <GRAFANA_VERSION> 等值进行版本替换。要了解版本替换,请参阅关于版本替换
leveloffset操作源内容标题,最高级别为 h6。仅支持正偏移。leveloffset="+5" 确保源内容中的 h1 在目标内容中是 h6

注意

当源文件在磁盘上发生变化时,Hugo 不会重新构建目标文件。要在更改源文件后触发重新构建,请对目标文件进行微小更改,并保存。

共享文件和标题

Hugo 单独于页面渲染短代码。因此,如果共享文件和包含它的页面中存在相同的标题,它们将具有相同的标题标识符。这种标题标识符的重复破坏了正确链接到标题的能力。

为了解决此问题,请在共享文件中设置标题标识符。如果存在两个共享文件包含相同标题,则只需在其中一个文件中设置标题标识符。要设置标题标识符,请参阅Markdown 指南

指导

当包含 docs/shared 短代码的页面包含来自同一项目的共享页面时,您应该对 version 参数使用版本替换语法。这可以确保 docs/shared 短代码包含来自与短代码所在页面相同版本的页面。

否则,您应该使用适合您文档的版本。使用版本替换语法,并在项目根目录的 _index.md 文件中的 cascading front matter 中设置期望的版本。

示例

以下短代码插入来自 oauth2-block.md 文件的内容。lookup 路径相对于 agent 源仓库中的 shared 文件夹。

markdown
{{< docs/shared lookup="flow/reference/components/oauth2-block.md" source="agent" version="<AGENT VERSION>" >}}

以下短代码插入来自 enterprise-metrics 项目的 shared 文件夹中的 shared-page.md。使用的版本与包含文件的页面版本匹配。标题偏移一个级别,因此如果源内容包含 h1,则生成的标题是 h2

markdown
{{< docs/shared lookup="shared-page.md" source="enterprise-metrics" version="<GEM_VERSION>" leveloffset="+1" >}}

固定宽度表格

fixed-table 短代码通过在任何字符处(而不仅仅是单词之间的空格)将内容断到新行来防止列溢出。

示例

markdown
{{< fixed-table >}}

| Metric                         | CloudWatch Metric | Statistics                                                               |
| ------------------------------ | ----------------- | ------------------------------------------------------------------------ |
| **aws_amazonmq_info**          |                   |
| **aws_amazonmq_ack_rate**      | AckRate           | **Average**, Maximum, Minimum, Sum, SampleCount, p50, p75, p90, p95, p99 |
| **aws_amazonmq_burst_balance** | BurstBalance      | **Average**, Maximum, Minimum, Sum, SampleCount, p50, p75, p90, p95, p99 |

{{< /fixed-table >}}

生成

指标CloudWatch 指标统计
aws_amazonmq_info
aws_amazonmq_ack_rateAckRate平均、最大值、最小值、总和、SampleCount、p50、p75、p90、p95、p99
aws_amazonmq_burst_balanceBurstBalance平均、最大值、最小值、总和、SampleCount、p50、p75、p90、p95、p99

不使用此短代码的情况

指标CloudWatch 指标统计
aws_amazonmq_info
aws_amazonmq_ack_rateAckRate平均、最大值、最小值、总和、SampleCount、p50、p75、p90、p95、p99
aws_amazonmq_burst_balanceBurstBalance平均、最大值、最小值、总和、SampleCount、p50、p75、p90、p95、p99

figure 短代码使用 HTML <figure> 元素渲染带有图注的图片。此短代码允许您更精细地控制如何渲染图片,但如果您不需要这些选项,可以使用基本 Markdown 添加图片

要添加图,请插入 figure 短代码,并包含以下命名参数

参数描述是否必需
alt如果设置,alt 指定图片的 alt 文本。
animated-gif如果设置,HTML 包含一个带有图片链接的 div,而不是 <figure> 元素。它通常用于动态截图。设置此参数后,短代码会忽略其他参数,除了 captionmaxWidth
caption使用 <figcaption> 元素描述图。如果未设置 alt,则短代码使用 caption 作为 alt 文本。
caption-align更改 caption 属性的对齐方式。可接受的值为 leftcenterright
class覆盖 <figure> 元素的 HTML 类。
link-class覆盖 <a> 元素的 HTML 类。
lazy如果设置为 "false",则**不**会向图片应用额外的 lazyload 类。lazyload 类允许浏览器在图图片加载之前渲染页面。图片加载后,占位符框会过渡到加载的图片。默认为 "true"
lightbox如果设置为 "true",短代码会向 <figure> 应用额外的 figure-wrapper__lightbox 类。
link如果设置,该值会覆盖 src 短代码参数,作为 <figure><a> 元素中 href 的值。
height如果设置,_height_ 使用 height CSS 属性控制 <img> 元素的高度。指定值时,它应该是一个表示像素的整数,不带末尾的 "px" 字符串,例如 "500"
width如果设置,_width_ 使用 width CSS 属性控制 <img> 元素的宽度。指定值时,它应该是一个表示像素的整数,不带末尾的 "px" 字符串,例如 "500"
max-width如果设置,_max-width_ 使用 max-width CSS 属性控制 <figure> 元素的最大宽度。指定长度或百分比时,值应包含度量单位,例如 "75px""25%"
show-caption如果设置为 "true",则渲染的 <figure> 包含一个带有在 *caption* 中设置的图注的 <figcaption> 元素。默认为 "true"
src设置图片的源。

注意

强烈建议包含原始图片尺寸作为 'width' 和 'height' 属性,因为这可以提高页面性能和 SEO。

这些值**仅**用于确定图片宽高比,并不等于最终显示的尺寸。

图片居中示例

您可以使用 figure 短代码通过添加以下属性来将图片居中

  • 添加 class="w-100p" 属性。

  • 添加 link-class="w-fit mx-auto d-flex flex-direction-column" 属性。

  • 添加 max-width="WIDTHpx" 属性,将 WIDTH 替换为您希望显示图片的 最大宽度 值。此属性仅影响原始宽度大于此属性值的位图图像,例如 PNG 或 JPG 文件。

  • 您可以选择添加 widthheight 属性作为最佳实践,以帮助图片和页面优化。

    对于位图图像,例如 PNG 或 JPG 文件,您可以将属性设置为原始图片值,不带像素或百分比。例如,对于原始尺寸为 800x600 像素的 PNG 文件,您可以添加 width="800" height="600"

    对于矢量图像,根据所需图片宽度使用公式计算值:(new_width / full_width) * full_height = new_height。有关此步骤的详细说明,请参阅后面的**图片居中属性**部分。

以下示例展示了如何将原始尺寸为 1275x738 像素的 PNG 文件居中

markdown
{{< figure src="/static/img/docs/grafana-cloud/k8sPods.png" width="1275" height="738" max-width="500px" class="w-100p" link-class="w-fit mx-auto d-flex flex-direction-column" caption="Pod view in Grafana Kubernetes Monitoring" caption-align="center" >}}

有关每个参数作用的更多详细信息,请参阅以下部分。

示例

在此示例中,图片有一个 CSS 类,使其浮动到右侧显示。

markdown
{{< figure class="float-right" src="/static/img/docs/grafana-cloud/k8sPods.png" caption="Pod view in Grafana Kubernetes Monitoring" >}}

此示例将图片的显示尺寸的最大宽度设置为 50%。max-width 值必须包含度量单位,例如像素或百分比。

markdown
{{< figure max-width="50%" src="/static/img/docs/grafana-cloud/k8sPods.png" caption="Pod view in Grafana Kubernetes Monitoring" >}}

Grot 指南

Grot 指南是嵌入在文档页面中的交互式指南,人们可以按照这些指南获取主题的帮助和指导,并指向文档资源。

要了解有关 Grot 指南的更多信息,请参阅 Writers' Toolkit 中的Grot 指南文档。

主图 (简单)

主图部分是一个较大的部分,包含标题、描述和图片,通常放置在页面顶部。

hero-simple 短代码渲染一个带有可选标题、描述和图片的主图部分。要添加简单主图,请使用以下命名参数插入 hero-simple 短代码

参数描述是否必需
keyHero 字段的 Front matter 参数名称。默认值:hero
title标题文本。
level标题级别。默认值:3
image图片 URL。
width对于位图图像(pngjpgwebp),这是图像的自然宽度。对于矢量图像(svg),这是期望的显示宽度。接受数字(像素)或百分比。像素值**不得**包含 px。默认值:auto
height对于位图图像(pngjpgwebp),这是图像的自然高度。对于矢量图像(svg),这是期望的显示高度。接受数字(像素)或百分比。像素值**不得**包含 px。默认值:auto
description描述文本。接受 Markdown。
wrapper_class包装器元素的可选 CSS 类。
hero_class主图元素的可选 CSS 类。
img_class图片容器元素的可选 CSS 类。
title_class标题元素的可选 CSS 类。
description_class描述元素的可选 CSS 类。

您可以通过以下方式提供短代码参数

  • 添加 front matter 并使用 key 参数引用 front matter。
  • 直接将它们添加到短代码本身。

短代码参数会覆盖 front matter 中的参数。如果您不提供任何参数,短代码将使用默认值。

示例

使用 front matter 插入简单主图

markdown
---
my_hero:
  title: Alerts and IRM
  level: 1
  image: /media/docs/grafana-cloud/alerting-and-irm/grafana-cloud-docs-hero-alerts-irm.svg
  width: 110
  height: 110
  description: >-
    Alerts & IRM is Grafana Cloud's Incident Response Management (IRM) solution, which enables you to detect, respond, and learn from incidents in one centralized platform.
---

{{< hero-simple key="my_hero" >}}

使用短代码参数插入简单主图

markdown
{{< hero-simple title="Alerts and IRM" level="1" image="/media/docs/grafana-cloud/alerting-and-irm/grafana-cloud-docs-hero-alerts-irm.svg" width="110" height="110" description="Alerts & IRM is Grafana Cloud's Incident Response Management (IRM) solution, which enables you to detect, respond, and learn from incidents in one centralized platform." >}}

Param

param 短代码提供了构建时变量替换。

要添加新的变量定义

  1. 在父主题中定义cascade 变量
  2. 在父主题和子主题中需要的位置插入 param 变量。

如果在标题中使用 param 短代码,则必须使用 % 代替 <>。例如

markdown
# Heading {{% param VARIABLE %}}

示例

产品版本的 front matter 定义

yaml
cascade:
  PRODUCT_VERSION: 10.2

主题正文文本中的 param 短代码

markdown
Welcome to Grafana {{< param PRODUCT_VERSION >}}. Read on to learn about changes to dashboards and visualizations, data sources, security and authentication, and more.

主题标题中的 param 短代码

markdown
## What's new in Grafana {{% param PRODUCT_VERSION %}}.

Pyroscope 火焰图

pyro-flame-graph 短代码嵌入上传到https://flamegraph.com/ 的 Pyroscope 火焰图。

参数描述是否必需
id火焰图 ID

火焰图 id 值是火焰图 URL 中 /share/ 后面的路径元素。

例如,要嵌入 URL 为https://flamegraph.com/share/a8c6e7a9-f360-11ec-bcfa-beb8fdeeb850 的火焰图,请使用以下短代码

markdown
{{< pyro-flamegraph id="a8c6e7a9-f360-11ec-bcfa-beb8fdeeb850" >}}

Relref

警告

此短代码在文档中存在,但您应优先使用完整 URL。创建新文档或更新现有文档时请勿使用它。

有关更多信息,请参阅链接

relref 短代码提供了构建时链接检查,以确保目标文件存在。

例如:{{< relref "./path/to/file" >}}

参数描述是否必需
位置 0文件查找。

参数是绝对或相对文件查找。绝对查找以斜杠 (/) 开头,并从站点根目录开始。例如,要链接到 Grafana Cloud 索引页,relref 短代码参数是 {{< relref "/docs/grafana-cloud/_index.md" >}}

使用包含扩展名的完整文件路径可能会在目标文件从页面更改为 leaf 或 branch bundle 时破坏查找。为避免这种情况,请省略文件扩展名以及查找中的任何 /_index/index 部分。使用前面 Grafana Cloud 索引页的示例,首选的 relref 短代码参数是 {{< relref "/docs/grafana-cloud" >}}

Hugo 链接检查仅适用于构建时可用的内容。在大多数项目中,本地构建和 CI 期间唯一可用的内容是当前项目文档。

Hugo 在构建文档时会发出 REF_NOT_FOUND 警告,指示此类引用的文件名和位置,例如在 grafana/grafana 中运行 make docs 或在 grafana/website 中运行 make server-quick

WARN 2022/08/04 21:35:37 [en] REF_NOT_FOUND: Ref "../../enterprise": "/hugo/content/docs/grafana/next/administration/roles-and-permissions/access-control/assign-rbac-roles.md:14:47": page not found

在此示例中,

  • Ref "../../enterprise" 是 Hugo 无法解析的引用的目标
  • \/hugo/content/docs/grafana/next/administration/roles-and-permissions/access-control/assign-rbac-roles.md 是包含引用的文档,其中 /next/ 后面的路径是相对于组件仓库的文档根目录的
  • :14 表示包含未解析引用的行号
  • :47 表示该行中未解析引用开始的字符位置

如果您看到此错误,则引用的目标无效。这可能是由于引用中的拼写错误或到目标目录的路径不正确。通过更正引用目标来修复错误。

有关 Hugo 错误输出的其他信息,请参阅测试文档修改

确定 relref 短代码参数

要确定源内容和目标内容之间的路径,请执行以下操作

找到目标内容所在的目录。找到源目录和目标目录共有的目录。记下从共有目录到目标目录的相对路径。计算从源目录到共有目录的文件夹数量,该数量等于需要添加到相对路径中的父目录路径元素 (..) 的数量。使用正斜杠 (/) 将所有路径元素连接起来。

例如,对于以下文件夹结构

Vehicles
├── Trucks
│   ├── F150
│   └── 1999 F150
└── Vans

在此示例中,源内容位于 1999 F150 目录中,目标内容位于 Vans 目录中。两个内容共有的文件夹是 Vehicles 目录。

1999 F150 的父目录是 Trucks,需要一个 .. 路径元素。Trucks 的父目录是 Vehicles,需要另一个 .. 路径元素。因此,从源目录 1999 F150 到共有目录 Vehicles 的相对路径是 ../..

从共有目录 Vehicles 到目标目录 Vans 的路径是 vans。相对路径是 ../../vans

如果源目录是 Vans,目标是 1999 F150,则相对路径将是 ../trucks/F150/1999-F150

章节

section 短代码渲染一个无序列表,包含指向页面子页面的链接。要添加章节,请插入 section 短代码,并包含以下可选参数

参数描述是否必需
menuTitle如果设置为 "true",则 menuTitle 参数会修改模板,以使用子页面的 menuTitle front matter 作为链接文本,而不是使用页面标题。如果子页面没有 menuTitle 参数,短代码将使用 title
ordered如果设置为 "true",则 ordered 参数会修改模板,使用有序列表而不是无序列表,每个项目显示一个数字标记
withDescriptions如果设置为 "true",则 withDescriptions 参数会修改模板,以包含具有 front matter 描述的子页面的描述内容。
depth控制输出中包含多少层子页面。默认深度为 "1",仅显示直接子页面。

示例

以下短代码插入一个指向子页面的链接列表。链接文本使用子页面 front matter 中 menuTitle 的值。

markdown
{{< section menuTitle="true">}}

以下短代码插入一个指向子页面的链接列表,并包含每个子页面 front matter 中的 description 内容。

markdown
{{< section withDescriptions="true">}}

共享

shared 短代码设置一个用于共享的片段。您可以使用 shared-snippet 短代码在另一个页面中复用该片段。

参数描述是否必需
id指定给片段的标识符,在页面内唯一

共享片段

shared-snippet 短代码包含另一页面中标记在 section HTML 标签之间的部分。您应该只在学习旅程中使用此短代码。

要设置共享片段,请将其包裹在带有有意义 ID 的 shared shortcode 中。例如

markdown
A Grafana dashboard is a set of one or more 

  
  
  panels, organized and arranged into one or more rows, that provide an at-a-glance view of related information. These panels are created using components that query and transform raw data from a data source into charts, graphs, and other visualizations.

然后您可以使用 shared-snippet shortcode 在另一个页面中使用该部分

markdown
{{% shared-snippet path="/docs/grafana/next/dashboards/_index.md" id="dashboard-overview" %}}

注意

对于 shared-snippet shortcode,您必须使用百分号 (%) shortcode 语法,因为它返回的是 Markdown 而不是 HTML。

shared shortcode 返回其内部内容为 HTML,应使用常规的 shortcode 语法。

参数描述是否必需
路径页面源文件路径
idshared shortcode 上设置的 id 匹配的标识符

目录

table-of-contents shortcode 在页面正文中渲染页面的目录。通常应避免使用此 shortcode,因为每个文档页面都已在页面正文中渲染了目录。

markdown
{{< table-of-contents >}}

选项卡

tabs shortcode 创建通用的选项卡式内容。网站会将选定的选项卡保存到浏览器存储中,并在导航过程中保留。

您可以在 tabs shortcode 中使用 tab-content shortcode 创建选项卡。tab-content 的内部可以是任何 Markdown 内容。

注意

您可以将 code shortcode 嵌套在 tab-content shortcode 中,但不能将 tabs shortcode 嵌套在 tab-content shortcode 中。

参数描述是否必需
name选项卡头部显示的选项卡名称

示例

markdown
{{< tabs >}}
{{< tab-content name="One" >}}
This is the first tab.
{{< /tab-content >}}
{{< tab-content name="Two" >}}
This is the second tab.
{{< /tab-content >}}
{{< /tabs >}}

生成

这是第一个选项卡。
这是第二个选项卡。

术语

term shortcode 允许在用户将鼠标悬停在被该 shortcode 包围的文本上时显示工具提示。

参数描述是否必需
位置 0术语表查找键

示例

markdown
{{< term "data source" >}}data sources{{< /term >}}
markdown
Grafana comes with built-in support for many {{< term "data source" >}}data sources{{< /term >}}.

生成

Grafana 内置支持多种数据源

Grafana Labs 技术文档团队内部维护相关定义。如果您是 Grafana Labs 员工并希望进行更改,请编辑 glossary.yaml。如果您不是 Grafana Labs 员工,请通过创建问题请求更改。

指导

对于具有多个定义的术语,请遵循通用词典的做法,对每个备选定义进行编号。例如,请参阅 graph 的定义。

翻译

translate shortcode 在 Hugo 国际化表中查找一个键,并返回该键在页面语言中引用的单词或短语。

网站使用国际化表来翻译页面模板 HTML 中的一些单词和短语,例如 本页面有帮助吗? 标题。

参数描述是否必需
位置 0查找键

该 shortcode 需要一个参数作为查找键。例如,{{< translate "docs_feedback_heading" >}}。Grafana Labs 的员工可以在国际化目录中查找这些键。

示例

markdown
{{< translate "docs_feedback_heading" >}}

生成

本页面有帮助吗?

视频嵌入

video-embed shortcode 在页面中嵌入视频。请使用 10 MB 或更小的 .mp4 文件。

该 shortcode 需要一个参数 src 来设置图像源。为此,请使用录制文件的路径

{{< video-embed src="<PATH>" >}}

Vimeo

vimeo shortcode 嵌入托管在 vimeo.com 上的视频。

参数描述是否必需
位置 0视频 ID

该 shortcode 需要一个参数作为视频 ID。例如,{{< vimeo 1111111 >}}

您可以在 URL 的末尾找到视频 ID。在此示例中,视频是 Tempo 2.0 和 TraceQL 的预览:https://vimeo.com/773194063

{{< vimeo 773194063 >}}

YouTube

youtube shortcode 嵌入托管在 YouTube 上的视频。

参数描述是否必需
id视频 ID
开始开始时间(秒)
结束结束时间(秒)

id 是 YouTube URL 中的 v URL 参数。例如,对于 YouTube URL https://www.youtube.com/watch?v=g97CjKOZqT4,shortcode 如下

markdown
{{< youtube id="g97CjKOZqT4" >}}

您可以配置 startend(以秒为单位),使用

markdown
{{< youtube id="g97CjKOZqT4" start="100" end="200" >}}

您可以配置自动播放,使用

markdown
{{< youtube id="g97CjKOZqT4" autoplay="true" >}}

转义 Hugo shortcode

如果您需要显示 shortcode 的语法,可以使用此语法进行转义

Escaped shortcode

生成

markdown
{{< myshortcode >}}

关于版本替换

版本替换允许使用绝对路径,无论版本如何都能正确解析。它使用尖括号分隔符的特殊语法,例如 <GRAFANA_VERSION>

按照惯例,目标项目的名称使用全大写。例如,grafana 变成 GRAFANAgrafana-cloud 变成 GRAFANA_CLOUD

该 shortcode 将特殊语法 <SOMETHING_VERSION> 替换为从页面 URL 推断出的版本。如果页面 URL 具有前缀 /docs/grafana/latest/,则 shortcode 会将语法 <SOMETHING_VERSION> 在最终 URL 中替换为 latest

您可以通过在文件的前置元数据 (front matter) 中包含额外信息来覆盖版本推断。要覆盖 <GRAFANA_VERSION> 的值,请在页面前置元数据中设置 GRAFANA_VERSION 参数。例如,无论源内容版本如何,要将版本设置为 next,请在前置元数据中添加以下内容:GRAFANA_VERSION: next