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 文档处理分支的方式与大多数代码仓库不同。它不使用 main 分支,而是每个分支都标记为与运行时发布的主版本和次版本相匹配。完整列表请访问 Docs 仓库

一般来说,所有文档更新都应指向 Dapr 最新发布的文档分支。最新发布是默认分支 [https://github.com/dapr/docs]。例如,如果你要修复拼写错误、添加注释或澄清某个观点,请将你的更改提交到默认的 Dapr 分支。

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

风格和语气

风格和语气约定应贯穿所有 Dapr 文档,以保持文档的一致性:

风格/语气指导原则
大小写仅使用大写:
  • 句子或标题开头
  • 专有名词,包括技术名称(Dapr、Redis、Kubernetes 等)
标题和标题标题必须简短,但描述性强且清晰。
使用简单的句子编写易于阅读和浏览的句子。提示:去掉正式语气,就像直接与读者交谈一样。
避免使用第一人称不要使用第一人称 “我”、“我们” 和 “我们的”,而应使用第二人称 “你” 和 “你的”。
假设读者是"新开发者"对有经验的开发者来说显而易见的步骤,对新开发者可能并不那么明显。为读者提供更明确、更详细的说明。
使用现在时避免使用 “此命令 将 安装 Redis” 这样的句子。而应使用 “此命令安装 Redis”。

图表和图像

图表和图像是文档页面的宝贵视觉辅助工具。使用 Dapr 图表模板库 中的图表风格和图标。

为文档创建图表的流程:

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

贡献新的文档页面

如果你要创建新文章,请确保:

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

选择下面的主题类型,查看建议的模板以帮助你开始。

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

docs.dapr.io 的要求

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

文件和文件夹名称

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

Front-matter

Front-matter 是将常规 markdown 文件升级为 Hugo 兼容文档的要素,用于在导航栏和目录中呈现。

每个页面都需要在文档顶部包含如下部分:

---
type: docs
title: "PAGE TITLE"
linkTitle: "NAV BAR SHORT TITLE"
weight: (number)
description: "1+ SENTENCES DESCRIBING THE ARTICLE"
---

示例

---
type: docs
title: "Service invocation overview"
linkTitle: "Overview"
weight: 10
description: "A quick overview of Dapr service invocation and how to use it to invoke services within your application"
---

Weight 决定页面在左侧边栏中的顺序,0 为最顶部。

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

  • title 应为一句话,末尾无句号
  • linkTitle 应为 1-3 个单词,操作指南除外。
  • description 应为 1-2 句话,描述读者将在本文档中学到、完成或做什么。

根据 样式约定,标题应仅首字母和专有名词大写,“How-To:” 除外:

  • “Getting started with Dapr service invocation”
  • “How-To: Setup a local Redis instance”

引用其他页面

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

例如,这个 shortcode,与 markdown 页面的其余内容一起内联编写,将链接到 section/folder 名称的 _index.md:

{{% ref "folder" %}}

而这个 shortcode 将链接到特定页面:

{{% ref "page" %}}

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

引用其他页面中的部分

要引用另一个页面中的特定部分,请在引用末尾添加 #section-short-name。

通常,section short name 是 section 标题的文本,全部小写,空格改为 “-"。你可以通过以下方式检查 section short name:

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

例如,对于这个特定部分,页面和部分的完整引用为:

{{% ref "contributing-docs#referencing-sections-in-other-pages" %}}

Shortcodes

以下是对 Dapr 文档编写有用的 shortcodes

图像

Docsy 和 Hugo 使用的 markdown 规范不支持使用 markdown 符号调整图像大小。而是使用原始 HTML。

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

然后使用以下方式链接图像:

<img src="/images/[image-filename]" width=1000 alt="Description of image">

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

示例

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

<img src="/images/overview-dapr-overview.png" width=1000 alt="Overview diagram of Dapr and its building blocks">

选项卡内容

选项卡通过 Hugo shortcodes 实现。

整体格式为:









[Tab1 的内容]

[Tab2 的内容]

你创作的所有内容都将呈现为 markdown,因此你可以包含图像、代码块、YouTube 视频等。

示例











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

此示例将呈现为:

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 可以使用 shortcode 自动嵌入 YouTube 视频:

{{% youtube [VIDEO ID] %}}

示例

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

shortcode 为:

{{% youtube dQw4w9WgXcQ %}}

按钮

要在网页中创建按钮,请使用 button shortcode。

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

链接到外部页面

{{% button text="My Button" link="https://example.com" %}}
My Button

链接到其他文档页面

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

{{% button text="My Button" page="contributing" newtab="true" %}}
My Button

按钮颜色

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

{{% button text="My Button" link="https://example.com" color="primary" %}}
{{% button text="My Button" link="https://example.com" color="secondary" %}}
{{% button text="My Button" link="https://example.com" color="success" %}}
{{% button text="My Button" link="https://example.com" color="danger" %}}
{{% button text="My Button" link="https://example.com" color="warning" %}}
{{% button text="My Button" link="https://example.com" color="info" %}}

My Button

My Button

My Button

My Button

My Button

My Button

参考资料

Docsy 编写指南

翻译

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

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

添加语言的步骤:

  • 在 Docs 仓库中开一个 issue,请求创建新的语言特定文档仓库

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

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

     [languages.<language_code>]
       title = "Dapr Docs"
       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 分支,每个分支都标记为与运行时发布的主版本号和次版本号相匹配。

有关完整列表,请访问 Docs 仓库。

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

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

作为文档审批者或维护者,您需要执行常规向上合并,以保持预发布分支与当前发布分支的更新保持一致。建议每周将当前分支向上合并到预发布分支中一次。

在以下步骤中,将 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. 从向上合并分支向即将发布的分支(v1.1)打开一个 PR。

  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 中,导航到位于根目录的 hugo.yaml。

  5. 将以下配置添加到 # Versioning 部分(大约第 121 行及以后):

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

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

  8. 从 release_v1.0 向 v1.0 打开一个 PR。

  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 中,导航到位于根目录的 hugo.yaml。

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

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

    # Versioning
    version_menu: "v1.1 (latest)"
    version: "v1.1"
    archived_version: false
    url_latest_version: https://docs.dapr.io
    github_branch: v1.1
    
    versions:
     - version: v1.2 (preview)
       url: https://v1-2.docs.dapr.io
     - version: v1.1 (latest)
       url: "#"
     - 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       | Latest Dapr release documentation. Typo fixes, clarifications, and most documentation goes here. |
| [v1.2](https://github.com/dapr/docs/tree/v1.2) (pre-release) | https://v1-2.docs.dapr.io/ | Pre-release documentation. Doc updates that are only applicable to v1.2+ go here.                |
  1. 更新 support-release-policy.md 中的 Supported versions 表;在表顶部添加一行新的运行时和 SDK 版本。将早于 n-2 的发布版本更改为 Unsupported。
  2. 将 dapr-latest-version.html shortcode partial 更新为新的次版本/补丁版本(在此示例中为 1.1.0 和 1.1)。
  3. 提交暂存的更改并推送到您的分支(release_v1.1)。
  4. 从 release/v1.1 向 v1.1 打开一个 PR。
  5. 请文档维护者或审批者进行审查。等待发布后再合并该 PR。

未来预览分支

创建预览分支
  1. 在 GitHub UI 中,选择分支下拉菜单并选择 View all branches。
  2. 点击 New branch。
  3. 在 New branch name 中,输入预览分支版本号。在此示例中,应该是 v1.2。
  4. 选择 v1.1 作为源。
  5. 点击 Create new branch。
配置预览分支
  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.0 和 v1.1 PR 合并之前,暂缓合并该 PR。

为未来发布创建新网站

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

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

先决条件

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

部署 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=docs-website
    export IDENTITY_RESOURCE_GROUP=dapr-identities
    export AZURE_STATICWEBSITE_NAME==daprdocs-v1-1
    

其中 daprdocs-v1-1 应更新为新的预览版本。

  1. 创建一个新的 azd 环境。

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

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

    azd up
    
  4. 出现提示时,选择一个 Azure 订阅(Dapr Tests)和部署位置(West US 2)。

在 Azure 门户中配置 SWA

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

可选地,使用门户中的 Static Web App > Access control (IAM) 边栏选项卡,为入站发布和出站访问依赖项授予正确的最小权限。

配置 DNS

  1. 在 Azure 门户中,从您刚创建的新 SWA 中,从左侧菜单导航到 Custom domains。

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

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

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

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

  5. 导航到 Custom domains 边栏选项卡并选择 + Add。

  6. 选择 Custom domain on other DNS。

  7. 在 Domain name 下输入 v1-1.docs.dapr.io。点击 Next。

  8. 将 Hostname record type 保留为 CNAME,并复制 Value 的值。

  9. 点击 Add。

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

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

在新的 Dapr 发布日期

  1. 等待所有代码/容器/Helm chart 发布完成。
  2. 将从 release_v1.0 到 v1.0 的 PR 合并。删除 release/v1.0 分支。
  3. 将从 release_v1.1 到 v1.1 的 PR 合并。删除 release/v1.1 分支。
  4. 将从 release_v1.2 到 v1.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。

后续步骤

3 - 建议的 Dapr 文档模板

新 Dapr 文档文章的建议模板指南

3.1 - 概念文章模板

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

贡献新的概念或概述文章

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

  • 为什么要关注此功能?
  • 它能帮助你解决哪些问题?

虽然组件、API 或 SDK 规范可能帮助读者了解如何使用或使用这些功能,但概念文章提供了更深层次和上下文。可以链接到规范文章,但尽量不要简单重复规范内容。

在命名概念文章时,确保名称、参数和术语与规范保持一致。必要时确保两者都得到更新。

了解更多关于贡献 Dapr 文档的信息,例如 front-matter 和 shortcodes。

模板

---
type: #Required; docs
title: #Required; 简短、清晰的标题
linkTitle: #Required; 简短标题
weight: #Required; 根据层级使用正确的权重
description: #Required; 一句话描述文章内容
---

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

<!-- 
H1:Hugo front-matter 中的标题作为文章的 markdown H1。 
-->

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

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

## <第 1 节 H2>

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

## <第 2 节 H2>

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

## <第 3 节 H2>

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

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

## 尝试 <概念>

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

### 快速入门和教程

想要测试 Dapr <主题> API?完成以下快速入门和教程,查看 <主题> 的实际应用:

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

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

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


-->

## 后续步骤

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

3.2 - 快速入门指南模板

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

贡献新的快速入门指南

Dapr 快速入门指南包含简明的说明,引导读者完成准备好的快速入门,这些内容保存在 dapr/quickstarts 仓库中。这些快速入门将整个功能或构建块打包在一起,使读者能够轻松体验其工作方式,而无需影响自己的项目。

快速入门说明应简洁、直接、清晰。快速入门指南的唯一目的是简单地指导读者完成准备好的快速入门。如果您想解释快速入门背后的概念,请引导读者阅读概念文章以获取更多背景信息。

了解有关贡献 Dapr 文档的更多信息,例如 front-matter 和 shortcodes。

模板

---
type: #必需;docs
title: #必需;"Quickstart: 简洁、清晰的标题"
linkTitle: #必需;这将显示在文档目录中
weight: #必需;根据层级使用正确的权重
description: #必需;一句话描述文章内容
---

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

<!-- 
H1:Hugo front-matter 中的标题作为文章的 markdown H1。 
-->

<!-- 介绍性段落  
必需。简短的介绍,简要描述快速入门将涵盖的内容。链接到相应的概念或概述文档以提供背景信息。 -->

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

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

## 前置条件

<!--
通过列出读者可能需要的内容,确保读者为成功完成快速入门做好准备。
-->

## 步骤 1:设置环境

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

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

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

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

## 告诉我们您的想法!

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

加入我们的 [discord 频道](https://discord.gg/22ZtJrNe)参与讨论。

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

## 后续步骤

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

<!--
使用按钮 shortcode 引导读者访问更深入的相关场景,例如 Dapr 教程。
-->

3.3 - How-to 指南模板

创建 how-to 指南的建议模板和指导

贡献新的 how-to 指南

How-to 指南为以下读者提供循序渐进的实践指导:

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

与快速入门相比,how-to 指南可以被视为"进阶版"的自引导文档。How-to 场景所需时间更长,且更容易应用到读者的个人项目或环境中。

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

了解更多关于为 Dapr 文档做贡献的信息,例如 front-matter 和 短代码。

模板

---
type: #Required; docs
title: #Required; "How to: Brief, clear title"
linkTitle: #Required; "How to: Shorter than regular title, to show in table of contents"
weight: #Required; Use the correct weight based on hierarchy
description: #Required; One-sentence description of what to expect in the article
---

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

<!-- 
H1:Hugo front-matter 中的标题作为文章的 markdown H1。 
-->

<!-- 导言段落  
必填。简短的介绍,简要描述 how-to 将涵盖的内容以及任何默认的 Dapr 特性。链接到相应的概念或概述文档以提供背景。-->

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

<!--
如果适用,在短代码注释或提示中链接到相关的快速入门,例如:

 如果尚未尝试,请先[试用 <主题> 快速入门](link),以快速了解如何使用 <主题>。

-->

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

## <操作或任务>

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

## <操作或任务>

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

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

## 下一步

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