This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

文档贡献指南

如何为 Dapr 文档做出贡献

1 - 贡献者指南

开始为 Dapr 文档做贡献

在本指南中,您将学习如何为 Dapr 文档库 做出贡献。由于 Dapr 文档发布在 docs.dapr.io,您需要确保您的贡献能够正确编译和发布。

先决条件

在为 Dapr 文档做贡献之前:

分支指导

Dapr 文档的分支管理与大多数代码库不同。没有主分支,每个分支都与运行时发布的主要和次要版本相匹配。完整列表请访问 Docs repo

通常,您所有的文档更新都应提交到 Dapr 最新版本的文档分支。最新版本是默认分支 [https://github.com/dapr/docs]。例如,如果您正在修复拼写错误、添加注释或澄清某个点,请将您的更改提交到默认的 Dapr 分支。

对于适用于候选发布或预发布版本的文档更改,请将您的更改指向该特定分支。例如,如果您正在记录即将对组件或运行时的更改,请将您的更改提交到预发布分支。

风格和语气

在所有 Dapr 文档中应遵循风格和语气惯例,以确保所有文档的一致性:

风格/语气指导
大小写仅在以下情况下使用大写:
  • 句子或标题的开头
  • 专有名词,包括技术名称(Dapr、Redis、Kubernetes 等)
标题和标题标题和标题必须简洁,但描述性和清晰。
使用简单句子写出易于阅读、可扫描的句子。提示:跳过正式语气,像直接与读者交谈一样写作。
避免使用第一人称代替第一人称 “I”、“we” 和 “our”,使用第二人称 “you” 和 “your”。
假设 “新开发者” 受众对于经验丰富的开发者来说一些看似显而易见的步骤可能对新开发者并不那么明显。为读者提供更明确、详尽的说明。
使用现在时避免使用诸如 “this command will install Redis” 的句子。相反,使用 “This command installs Redis”。

图表和图像

图表和图像是文档页面中无价的视觉辅助工具。使用 Dapr 图表模板套件 中的图表样式和图标。

为您的文档创建图表的过程:

  1. 下载 Dapr 图表模板套件 以使用图标和颜色。
  2. 添加新幻灯片并创建您的图表。
  3. 将图表截屏为高分辨率 PNG 文件并保存在 images 文件夹中。
  4. 使用概念或构建块的命名约定命名您的 PNG 文件,以便它们被分组。
  • 例如:service-invocation-overview.png
  • 有关使用短代码调用图像的更多信息,请参见下面的 图像指导 部分。
  1. 使用 HTML <image> 标签将图表添加到文档中的适当部分。
  2. 在您的 PR 中,评论图表幻灯片(而不是截屏),以便维护者可以审查并将其添加到图表套件中。

贡献新文档页面

如果您正在创建新文章,请确保您:

  • 将新文档放置在层次结构中的正确位置。
  • 避免创建新部分。大多数情况下,正确的位置已经在文档层次结构中。
  • 包含完整的 Hugo front-matter

选择下面的主题类型以查看建议的模板,帮助您入门。

主题类型它是什么?
概念回答问题,“这能帮助我解决什么问题?”避免重复 API 或组件规范;提供更多细节。
快速入门提供 “五分钟到 wow” 的体验。快速引导读者通过一个功能或 API 以及它在受控示例中的工作方式。
操作指南提供通过 Dapr 功能或技术的详细、实用的分步指南。鼓励读者尝试自己的场景,而不是快速入门中提供的受控场景。

docs.dapr.io 的要求

确保您的贡献不会破坏网站构建。Hugo 构建网站的方式需要遵循以下指导:

文件和文件夹名称

文件和文件夹名称应在全局范围内唯一。 - \service-invocation - service-invocation-overview.md

Front-matter

Front-matter 是将常规 markdown 文件升级为 Hugo 兼容文档以呈现到导航栏和目录中的内容。

每个页面都需要在文档顶部有一个这样的部分:

---
type: docs
title: "页面标题"
linkTitle: "导航栏短标题"
weight: (数字)
description: "1+ 句描述文章"
---

示例

---
type: docs
title: "服务调用概述"
linkTitle: "概述"
weight: 10
description: "Dapr 服务调用的快速概述以及如何在应用程序中使用它来调用服务"
---

权重决定了左侧边栏中页面的顺序,0 为最顶部。

Front-matter 应包括所有字段,包括 type、title、linkTitle、weight 和 description。

  • title 应为 1 句,末尾无句号
  • linkTitle 应为 1-3 个词,除了 How-to 前缀。
  • description 应为 1-2 句,说明读者将在本文档中学习、完成或执行的内容。

根据 样式惯例,标题应仅大写第一个词和专有名词,除了 “How-To:”

  • “开始使用 Dapr 服务调用”
  • “How-To: 设置本地 Redis 实例”

引用其他页面

Hugo refrelref 短代码 用于引用其他页面和部分。这些短代码还允许在页面被错误重命名或删除时中断构建。

例如,这个短代码,与其余的 markdown 页面内联书写,将链接到该部分/文件夹名称的 _index.md:

{{< ref "folder" >}}

而这个短代码将链接到特定页面:

{{< ref "page.md" >}}

所有页面和文件夹需要有 全局唯一名称 以便 ref 短代码正常工作。如果有重复名称,构建将中断并抛出错误。

引用其他页面中的部分

要引用其他页面中的特定部分,请在引用的末尾添加 #section-short-name

一般规则是,部分短名称是部分标题的文本,全部小写,空格改为 “-”. 您可以通过以下方式检查部分短名称:

  1. 访问网站页面。
  2. 点击部分旁边的链接图标 (🔗)。
  3. 查看 URL 在导航栏中的呈现方式。
  4. 复制 “#” 后的内容作为您的部分短名称。

例如,对于此特定部分,完整的页面和部分引用将是:

{{< ref "contributing-docs.md#referencing-sections-in-other-pages" >}}

短代码

以下是撰写 Dapr 文档的有用短代码

图像

Docsy 和 Hugo 使用的 markdown 规范没有提供使用 markdown 符号调整图像大小的选项。相反,使用原始 HTML。

首先将图像放在 /daprdocs/static/images 下,命名约定为 [page-name]-[image-name].[png|jpg|svg]

然后链接到图像:

<img src="/images/[image-filename]" width=1000 alt="图像描述">

不要忘记设置 alt 属性以保持文档的可读性和可访问性。

示例

此 HTML 将在 overview.md 页面上显示 dapr-overview.png 图像:

<img src="/images/overview-dapr-overview.png" width=1000 alt="Dapr 及其构建块的概述图">

选项卡内容

选项卡通过 Hugo 短代码 实现。

整体格式是:

{{< tabpane text=true>}}

{{% tab header="[Tab1]" %}}
[Tab1 的内容]
{{% /tab %}}

{{% tab header="[Tab2]" %}}
[Tab2 的内容]
{{% /tab %}}

{{< /tabpane >}}

您撰写的所有内容都将被渲染为 markdown,因此您可以包含图像、代码块、YouTube 视频等。

示例

{{< tabpane text=true >}}

{{% tab header="Windows" %}}
```powershell
powershell -Command "iwr -useb https://raw.githubusercontent.com/dapr/cli/master/install/install.ps1 | iex"
```
{{% /tab %}}

{{% tab header="Linux" %}}
```bash
wget -q https://raw.githubusercontent.com/dapr/cli/master/install/install.sh -O - | /bin/bash
```
{{% /tab %}}

{{% tab header="MacOS" %}}
```bash
brew install dapr/tap/dapr-cli
```
{{% /tab %}}

{{< /tabpane >}}

此示例将呈现为:

powershell -Command "iwr -useb https://raw.githubusercontent.com/dapr/cli/master/install/install.ps1 | iex"
wget -q https://raw.githubusercontent.com/dapr/cli/master/install/install.sh -O - | /bin/bash
brew install dapr/tap/dapr-cli

YouTube 视频

Hugo 可以使用短代码自动嵌入 YouTube 视频:

{{< youtube [VIDEO ID] >}}

示例

给定视频 https://youtu.be/dQw4w9WgXcQ

短代码将是:

{{< youtube dQw4w9WgXcQ >}}

按钮

要在网页中创建按钮,请使用 button 短代码。

可选的 “newtab” 参数将指示页面是否应在新选项卡中打开。选项为 “true” 或 “false”。默认值为 “false”,页面将在同一选项卡中打开。

链接到外部页面

{{< button text="我的按钮" link="https://example.com" >}}
我的按钮

链接到其他文档页面

您也可以在按钮中引用页面:

{{< button text="我的按钮" page="contributing" newtab="true" >}}
我的按钮

按钮颜色

您可以使用 Bootstrap 颜色自定义颜色:

{{< button text="我的按钮" link="https://example.com" color="primary" >}}
{{< button text="我的按钮" link="https://example.com" color="secondary" >}}
{{< button text="我的按钮" link="https://example.com" color="success" >}}
{{< button text="我的按钮" link="https://example.com" color="danger" >}}
{{< button text="我的按钮" link="https://example.com" color="warning" >}}
{{< button text="我的按钮" link="https://example.com" color="info" >}}

我的按钮 我的按钮 我的按钮 我的按钮 我的按钮 我的按钮

参考

Docsy 撰写指南

翻译

Dapr 文档支持使用 git 子模块和 Hugo 内置语言支持将语言翻译添加到文档中。

您可以在 PR 1286 中找到添加中文语言支持的示例 PR。

添加语言的步骤:

  • 在文档库中打开一个问题,请求创建一个新的语言特定文档库

  • 创建后,在文档库中创建一个 git 子模块:

    git submodule add <remote_url> translations/<language_code>
    
  • daprdocs/config.toml 中添加一个语言条目:

     [languages.<language_code>]
       title = "Dapr 文档"
       weight = 3
       contentDir = "content/<language_code>"
       languageName = "<language_name>"
    
  • daprdocs/config.toml 中创建一个挂载:

    [[module.mounts]]
      source = "../translations/docs-<language_code>/content/<language_code>"
      target = "content"
      lang = "<language_code>"
    
  • 根据需要为所有其他翻译目录重复上述步骤。

下一步

通过复制并从 Dapr 文档模板 开始。

2 - 维护者指南

成为 Dapr 文档维护者和审批者的入门指南。

在本指南中,您将学习如何履行 Dapr 文档维护者和审批者的日常职责。要成功完成这些任务,您需要在 dapr/docs 仓库中拥有审批者或维护者的权限。

如果您想了解如何为 Dapr 文档做出贡献,请查看 贡献者指南

分支管理指南

Dapr 文档的分支管理与大多数代码仓库不同。没有 main 分支,每个分支都与运行时发布的主要和次要版本相对应。

完整的分支列表请访问 文档仓库

阅读 贡献者指南 以获取有关发布分支的更多信息。

从当前发布分支合并到预发布分支

作为文档审批者或维护者,您需要定期进行合并操作,以确保预发布分支与当前发布分支保持同步。建议每周将当前分支的更新合并到预发布分支。

以下步骤中,将 v1.0 视为当前发布版本,将 v1.1 视为即将发布版本。

  1. 在 Visual Studio Code 中打开 Dapr 文档仓库。

  2. 在本地仓库中,切换到最新分支 (v1.0) 并同步更改:

    git pull upstream v1.0
    git push origin v1.0
    
  3. 切换到即将发布的分支 (v1.1) 并同步更改:

    git pull upstream v1.1
    git push origin v1.1
    
  4. 基于即将发布的版本创建一个新分支:

    git checkout -b upmerge_MM-DD
    
  5. 在终端中,从最新发布分支合并到新建的合并分支:

    git merge --no-ff --no-commit v1.0
    
  6. 在终端中,确保合并的文件准确无误。在 VS Code 中检查是否有合并冲突。删除不需要合并的配置更改或版本信息。

  7. 提交暂存的更改并推送到合并分支 (upmerge_MM-DD)。

  8. 从合并分支创建一个 PR 到即将发布的分支 (v1.1)。

  9. 审查 PR,确保没有意外更改被推送到合并分支。

发布流程

Dapr 文档必须与 Dapr 项目发布中包含的功能和更新保持一致。在 Dapr 发布日期之前,请确保:

  • 所有新功能或更新都已充分记录和审查。
  • 即将发布的文档 PR 指向发布分支。

以下步骤中,将 v1.0 视为最新发布版本,将 v1.1 视为即将发布版本。

文档的发布流程包括以下内容:

  • 将最新发布版本合并到即将发布的分支
  • 更新最新和即将发布的 Hugo 配置文件
  • 为下一个版本创建新的 Azure 静态 Web 应用
  • 为下一个版本的网站创建新的 DNS 条目
  • 为下一个版本创建新的 git 分支

合并操作

首先,从最新发布版本合并到即将发布的分支,执行 文档合并操作

更新 Hugo 配置

合并后,准备文档分支以进行发布。在两个单独的 PR 中,您需要:

  • 存档最新发布版本。
  • 将预览/发布分支作为文档的当前在线版本。
  • 创建一个新的预览分支。

最新发布版本

这些步骤将准备最新发布分支以进行存档。

  1. 在 VS Code 中打开 Dapr 文档仓库。

  2. 切换到最新分支 (v1.0) 并同步更改:

    git pull upstream v1.0
    git push origin v1.0
    
  3. 基于最新发布创建一个新分支:

    git checkout -b release_v1.0
    
  4. 在 VS Code 中,导航到 /daprdocs/config.toml

  5. # Versioning 部分(大约第 154 行)添加以下 TOML:

    version_menu = "v1.0"
    version = "v1.0"
    archived_version = true
    url_latest_version = "https://docs.dapr.io"
    
    [[params.versions]]
      version = "v1.2 (preview)"
      url = "v1-2.docs.dapr.io"
    [[params.versions]]
      version = "v1.1 (latest)"
      url = "#"
    [[params.versions]]
      version = "v1.0"
      url = "https://v1-0.docs.dapr.io"
    
  6. 删除 .github/workflows/website-root.yml

  7. 提交暂存的更改并推送到您的分支 (release_v1.0)。

  8. release_v1.0 打开一个 PR 到 v1.0

  9. 让文档维护者或审批者进行审查。等待合并 PR 直到发布。

即将发布版本

这些步骤将准备即将发布的分支以提升为最新发布。

  1. 在 VS Code 中打开 Dapr 文档仓库。

  2. 切换到即将发布的分支 (v1.1) 并同步更改:

    git pull upstream v1.1
    git push origin v1.1
    
  3. 基于即将发布的版本创建一个新分支:

    git checkout -b release_v1.1
    
  4. 在 VS Code 中,导航到 /daprdocs/config.toml

  5. 更新第 1 行为 baseURL - https://docs.dapr.io/

  6. 更新 # Versioning 部分(大约第 154 行)以显示正确的版本和标签:

    # Versioning
    version_menu = "v1.1 (latest)"
    version = "v1.1"
    archived_version = false
    url_latest_version = "https://docs.dapr.io"
    
    [[params.versions]]
      version = "v1.2 (preview)"
      url = "v1-2.docs.dapr.io"
    [[params.versions]]
      version = "v1.1 (latest)"
      url = "#"
    [[params.versions]]
      version = "v1.0"
      url = "https://v1-0.docs.dapr.io"
    
  7. 导航到 .github/workflows/website-root.yml

  8. 更新触发工作流的分支:

    name: Azure Static Web App Root
    
    on:
      push:
        branches:
          - v1.1
      pull_request:
        types: [opened, synchronize, reopened, closed]
        branches:
          - v1.1
    
  9. 导航到 /README.md

  10. 更新版本表:

| Branch                                                       | Website                    | Description                                                                                      |
| ------------------------------------------------------------ | -------------------------- | ------------------------------------------------------------------------------------------------ |
| [v1.1](https://github.com/dapr/docs) (primary)               | https://docs.dapr.io       | 最新 Dapr 发布文档。拼写错误修正、澄清和大多数文档都在这里。 |
| [v1.2](https://github.com/dapr/docs/tree/v1.2) (pre-release) | https://v1-2.docs.dapr.io/ | 预发布文档。仅适用于 v1.2+ 的文档更新在这里。                |
  1. 更新 dapr-latest-version.html 短代码部分为新的次要/补丁版本(在此示例中为 1.1.01.1)。
  2. 提交暂存的更改并推送到您的分支 (release_v1.1)。
  3. release/v1.1 打开一个 PR 到 v1.1
  4. 让文档维护者或审批者进行审查。等待合并 PR 直到发布。

未来预览分支

创建预览分支
  1. 在 GitHub UI 中,选择分支下拉菜单并选择 查看所有分支
  2. 点击 新建分支
  3. 新分支名称 中,输入预览分支版本号。在此示例中,它将是 v1.2
  4. 选择 v1.1 作为来源。
  5. 点击 创建新分支
配置预览分支
  1. 在终端窗口中,导航到 docs 仓库。

  2. 切换到即将发布的分支 (v1.1) 并同步更改:

    git pull upstream v1.1
    git push origin v1.1
    
  3. 基于 v1.1 创建一个新分支并命名为 v1.2

git checkout -b release_v1.1
  1. 重命名 .github/workflows/website-v1-1.yml.github/workflows/website-v1-2.yml

  2. 在 VS Code 中打开 .github/workflows/website-v1-2.yml 并更新名称、触发器和部署目标为 1.2:

    name: Azure Static Web App v1.2
    
    on:
      push:
        branches:
          - v1.2
      pull_request:
        types: [opened, synchronize, reopened, closed]
        branches:
          - v1.2
    
     ...
    
         with:
           azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_V1_2 }}
           repo_token: ${{ secrets.GITHUB_TOKEN }}
    
     ...
    
         with:
           azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_V1_2 }}
           skip_deploy_on_missing_secrets: true
    
  3. 导航到 daprdocs/config.toml 并更新 baseURL 以指向新的预览网站:

    baseURL = "https://v1-2.docs.dapr.io"
    
  4. 更新 # GitHub Information# Versioning 部分(大约第 148 行)以显示正确的版本和标签:

    # GitHub Information
    github_repo = "https://github.com/dapr/docs"
    github_project_repo = "https://github.com/dapr/dapr"
    github_subdir = "daprdocs"
    github_branch = "v1.2"
    
    # Versioning
    version_menu = "v1.2 (preview)"
    version = "v1.2"
    archived_version = false
    url_latest_version = "https://docs.dapr.io"
    
    [[params.versions]]
      version = "v1.2 (preview)"
      url = "#"
    [[params.versions]]
      version = "v1.1 (latest)"
      url = "https://docs.dapr.io"
    [[params.versions]]
      version = "v1.0"
      url = "https://v1-0.docs.dapr.io"
    
  5. 提交暂存的更改并推送到针对 v1.2 分支的新 PR。

  6. 在发布后以及其他 v1.0v1.1 PR 合并后再合并 PR。

为未来发布创建新网站

接下来,为未来的 Dapr 发布创建一个新网站。为此,您需要:

  • 部署一个 Azure 静态 Web 应用。
  • 通过 CNCF 请求配置 DNS。

先决条件

  • dapr/docs 仓库中拥有文档维护者身份。
  • 访问活动的 Dapr Azure 订阅,并具有创建资源的贡献者或所有者访问权限。
  • 在您的机器上安装 Azure Developer CLI
  • 您自己的 dapr/docs 仓库 的分叉已克隆到您的机器。

部署 Azure 静态 Web 应用

为未来的 Dapr 发布部署一个新的 Azure 静态 Web 应用。在此示例中,我们使用 v1.1 作为未来发布。

  1. 在终端窗口中,导航到 dapr/docs 目录中的 iac/swa 文件夹。

    cd .github/iac/swa
    
  2. 使用 Dapr Azure 订阅登录 Azure Developer CLI (azd)。

    azd login
    
  3. 在浏览器提示中,验证您正在以 Dapr 身份登录并完成登录。

  4. 在新终端中,替换以下值为您偏好的网站值。

    export AZURE_RESOURCE_GROUP=rg-dapr-docs-test
    export IDENTITY_RESOURCE_GROUP=rg-my-identities
    export AZURE_STATICWEBSITE_NAME=daprdocs-latest
    
  5. 创建一个新的 azd 环境

    azd env new
    
  6. 当提示时,输入一个新的环境名称。在此示例中,您可以将环境命名为:dapr-docs-v1-1

  7. 环境创建完成后,使用以下命令将 Dapr 文档 SWA 部署到新环境中:

    azd up
    
  8. 当提示时,选择一个 Azure 订阅和位置。将这些与 Dapr Azure 订阅匹配。

在 Azure 门户中配置 SWA

前往 Azure 门户 中的 Dapr 订阅,并验证您的新 Dapr 文档站点是否已部署。

可选地,使用门户中的 静态 Web 应用 > 访问控制 (IAM) 刀片授予正确的最小权限以进行入站发布和对依赖项的出站访问。

配置 DNS

  1. 在 Azure 门户中,从您刚刚创建的新 SWA 中,导航到左侧菜单中的 自定义域

  2. 复制 Web 应用的 “CNAME” 值。

  3. 使用您自己的帐户,提交 CNCF 工单 以创建一个新的域名映射到您复制的 CNAME 值。对于此示例,要为 Dapr v1.1 创建一个新域,您将请求映射到 v1-1.docs.dapr.io

    请求解决可能需要一些时间。

  4. 确认新域后,返回到门户中的静态 Web 应用。

  5. 导航到 自定义域 刀片并选择 + 添加

  6. 选择 其他 DNS 上的自定义域

  7. 域名 下输入 v1-1.docs.dapr.io。点击 下一步

  8. 主机名记录类型 保持为 CNAME,并复制 的值。

  9. 点击 添加

  10. 导航到 https://v1-1.docs.dapr.io 并验证空白网站是否正确加载。

您可以为任何预览版本重复这些步骤。

在新的 Dapr 发布日期

  1. 等待所有代码/容器/Helm 图表发布。
  2. 合并从 release_v1.0v1.0 的 PR。删除 release/v1.0 分支。
  3. 合并从 release_v1.1v1.1 的 PR。删除 release/v1.1 分支。
  4. 合并从 release_v1.2v1.2 的 PR。删除 release/v1.2 分支。

恭喜发布新文档!🚀 🎉 🎈

拉取 SDK 文档更新

SDK 文档位于每个 SDK 仓库中。对 SDK 文档所做的更改会推送到相关的 SDK 仓库。例如,要更新 Go SDK 文档,您需要将更改推送到 dapr/go-sdk 仓库。在您将最新的 dapr/go-sdk 提交拉入 dapr/docs 当前版本分支之前,您的 Go SDK 文档更新不会反映在 Dapr 文档站点上。

要将 SDK 文档更新带到 Dapr 文档站点,您需要执行一个简单的 git pull。此示例涉及 Go SDK,但适用于所有 SDK。

  1. 将最新的上游拉入您的本地 dapr/docs 版本分支。

  2. 切换到 dapr/docs 目录的根目录。

  3. 切换到 Go SDK 仓库。此命令将您从 dapr/docs 上下文切换到 dapr/go-sdk 上下文。

    cd sdkdocs/go
    
  4. 切换到 dapr/go-sdk 中的 main 分支。

    git checkout main
    
  5. 拉取最新的 Go SDK 提交。

    git pull upstream main
    
  6. 切换到 dapr/docs 上下文以提交、推送并创建 PR。

下一步

有关为 Dapr 文档做出贡献的指导,请阅读 贡献者指南

3 - Dapr 文档模板建议

为新的 Dapr 文档文章提供模板建议

3.1 - 概念文章模板

创建概念文章的建议模板和指导

贡献新的概念或概述文章

概念(或概述)文章旨在回答以下问题:

  • 为什么这个功能对你很重要?
  • 它能帮助你解决哪些问题?

尽管组件、API 或 SDK 规范可以帮助读者理解如何使用这些功能,概念文章则提供了更深入的背景和上下文。请链接到规范文章,但尽量避免简单重复规范内容。

在为你的概念文章命名时,确保其名称、参数和术语与规范保持一致。如有必要,请同时更新两者。

了解更多关于为 Dapr 文档做贡献的信息,例如前置内容短代码

模板

---
type: #必填; docs
title: #必填; 简洁明了的标题
linkTitle: #必填; 简短标题
weight: #必填; 根据层级使用正确的权重
description: #必填; 对文章内容的简短描述
---

<!--
在打开 PR 之前,删除此模板中的所有注释。
-->

<!-- 
H1: Hugo 前置内容中的标题作为文章的 markdown H1。
-->

<!-- 简介段落  
必填。简要介绍文章将涵盖的概念。链接到适当的参考、规范或操作指南以提供上下文。 -->

<!-- 
如果可能,包含图表或图片。
-->

## <章节 1 H2>

<!-- 
在此添加你的内容。
-->

## <章节 2 H2>

<!-- 
每个 H2 步骤应以名词/描述性词语开头。
-->

## <章节 3 H2>

<!--
在此添加你的内容。
-->

<!--
在适用的地方,包含图表或图片。
-->

## 体验 <概念>

<!-- 
如果适用,包含一个部分,链接到相关的快速开始、操作指南或教程。
--> 

### 快速开始和教程

想要体验 Dapr <主题> API?通过以下快速开始和教程来了解 <主题> 的实际应用:

| 快速开始/教程 | 描述 |
| ------------------- | ----------- |
| [<主题> 快速开始](link) | 快速开始的描述。 |
| [<主题> 教程](link) | 教程的描述。 |

### 在你的应用中直接使用 <主题>

想跳过快速开始?没问题。你可以在你的应用中直接使用 <主题> 构建块。在[Dapr 安装完成](link)后,你可以开始使用 <主题> API,从[<主题> 操作指南](link)开始。

-->

## 下一步

<!--
链接到相关页面和示例。例如,相关的 API 规范,相关的构建块等。
-->

3.2 - 快速入门指南模板

创建快速入门指南的建议模板和指导

贡献新的快速入门指南

Dapr 快速入门指南包含一些简明的指令,帮助读者完成一个预先准备好的快速入门项目,这些项目保存在 dapr/quickstarts 仓库中。这些快速入门将整个功能或构建块集中在一起,使读者能够轻松体验其工作原理,而不影响他们自己的项目。

快速入门指令应当简洁明了。快速入门指南的唯一目的是简单地指导读者完成准备好的快速入门。如果您想解释快速入门背后的概念,请将读者引导到相关的概念文章以获取更多背景信息。

了解更多关于如何贡献 Dapr 文档的信息,例如前置内容短代码

模板

---
type: #必填; docs
title: #必填; "快速入门:简洁明了的标题"
linkTitle: #必填; 这将在文档目录中显示
weight: #必填; 根据层级使用正确的权重
description: #必填; 一句话描述文章的预期内容
---

<!--
在提交 PR 之前,删除此模板中的所有注释。
-->

<!-- 
H1:Hugo 前置内容中的标题作为文章的 markdown H1。
-->

<!-- 引言段落  
必填。简要介绍快速入门将涵盖的内容。链接到适当的概念或概述文档以提供背景。 -->

<!-- 
如果可能,包含一个图表或图像。
-->

<!-- 
确保快速入门包含多个编程语言的示例。
-->

## 前置条件

<!--
列出读者在开始快速入门之前可能需要准备的内容,以确保顺利完成。
-->

## 步骤 1:设置环境

<!-- 
提供快速入门示例的链接,供读者克隆。
-->

## 步骤 2:<操作或任务>

<!-- 
每个 H2 步骤应以动词/动作词开头。
-->

<!--
尽可能包含代码片段。
-->

## 告诉我们您的想法!

我们正在不断努力改进我们的快速入门示例,并重视您的反馈。您觉得这个快速入门有帮助吗?您有改进建议吗?

欢迎加入我们的 [discord 频道](https://discord.gg/22ZtJrNe)进行讨论。

<!-- 由于 Dapr 是一个开放的贡献者社区,请确保提供 discord 讨论的链接以欢迎反馈。
-->

## 下一步

<!--
链接到相关页面和示例。例如,构建块概述,SDK 快速入门示例的 HTTP 版本等。
-->

<!--
使用按钮短代码将读者引导到更深入的相关场景,例如 Dapr 教程。
-->

3.3 - 操作指南模板

创建操作指南的建议模板和指导

贡献新的操作指南

操作指南为读者提供逐步的实用指导,帮助他们实现以下目标:

  • 启用某个功能
  • 集成某项技术
  • 在特定场景中使用 Dapr

操作指南相较于快速入门,是更高级别的自助文档。操作场景通常需要更长的时间,并且更容易应用于读者的个人项目或环境。

命名操作文档时,应在文件名中包含子目录名称。如果需要创建新的子目录,请确保其具有描述性,并包含相关组件或概念名称。例如,pubsub-namespaces

了解更多关于贡献 Dapr 文档的信息,例如前置内容短代码

模板

---
type: #必填; docs
title: #必填; "如何:简洁明了的标题"
linkTitle: #必填; "如何:比常规标题更短,以便在目录中显示"
weight: #必填; 根据层级使用正确的权重
description: #必填; 对文章内容的期望进行一句话描述
---

<!--
在提交 PR 之前,请删除此模板中的所有注释。
-->

<!-- 
H1:Hugo 前置内容中的标题作为文章的 markdown H1。
-->

<!-- 引言段落  
必填。简要介绍将涵盖的内容以及任何默认的 Dapr 特性。链接到适当的概念或概述文档以提供背景。 -->

<!-- 
如果可能,包含一个图表或图像。
-->

<!--
如果适用,请在短代码注释或警报中链接到相关的快速入门,文本如:

 如果您还没有,请[尝试 <topic> 快速入门](link),以快速了解如何使用 <topic>。

-->

<!-- 
确保操作指南包含多个编程语言、操作系统或部署目标的示例(如果适用)。
-->

## <操作或任务>

<!-- 
与快速入门不同,不要使用“步骤 1”、“步骤 2”等。
-->

## <操作或任务>

<!-- 
每个 H2 步骤应以动词/动作词开头。
-->

<!--
尽可能包含代码片段。
-->

## 后续步骤

<!--
链接到相关页面和示例。例如,构建块概述、相关教程、API 参考等。
-->