This is the multi-page printable view of this section. Click here to print.
文档贡献指南
- 1: 贡献者指南
- 2: 维护者指南
- 3: 建议的 Dapr 文档模板
- 3.1: 概念文章模板
- 3.2: 快速入门指南模板
- 3.3: How-to 指南模板
1 - 贡献者指南
在本指南中,你将学习如何为 Dapr 文档仓库 贡献内容。由于 Dapr 文档发布在 docs.dapr.io 上,你必须确保你的贡献能够正确编译和发布。
前置条件
在为 Dapr 文档做贡献之前:
- 查看 Dapr 项目一般贡献指南。
- 安装并设置本地环境,使用 Hugo 和 Docsy 主题。按照仓库 README.md 中的说明进行操作。
- Fork 并克隆 文档仓库。
分支指南
Dapr 文档处理分支的方式与大多数代码仓库不同。它不使用 main 分支,而是每个分支都标记为与运行时发布的主版本和次版本相匹配。完整列表请访问 Docs 仓库
一般来说,所有文档更新都应指向 Dapr 最新发布的文档分支。最新发布是默认分支 [https://github.com/dapr/docs]。例如,如果你要修复拼写错误、添加注释或澄清某个观点,请将你的更改提交到默认的 Dapr 分支。
对于适用于候选版本或预发布版本文档的任何文档更改,请将你的更改指向该特定分支。例如,如果你要记录即将对某个组件或运行时进行的更改,请将你的更改提交到预发布分支。
风格和语气
风格和语气约定应贯穿所有 Dapr 文档,以保持文档的一致性:
| 风格/语气 | 指导原则 |
|---|---|
| 大小写 | 仅使用大写:
|
| 标题和标题 | 标题必须简短,但描述性强且清晰。 |
| 使用简单的句子 | 编写易于阅读和浏览的句子。提示:去掉正式语气,就像直接与读者交谈一样。 |
| 避免使用第一人称 | 不要使用第一人称 “我”、“我们” 和 “我们的”,而应使用第二人称 “你” 和 “你的”。 |
| 假设读者是"新开发者" | 对有经验的开发者来说显而易见的步骤,对新开发者可能并不那么明显。为读者提供更明确、更详细的说明。 |
| 使用现在时 | 避免使用 “此命令 将 安装 Redis” 这样的句子。而应使用 “此命令安装 Redis”。 |
图表和图像
图表和图像是文档页面的宝贵视觉辅助工具。使用 Dapr 图表模板库 中的图表风格和图标。
为文档创建图表的流程:
- 下载 Dapr 图表模板库,使用其中的图标和颜色。
- 添加新幻灯片并创建你的图表。
- 将图表截取为高分辨率 PNG 文件,保存到 images 文件夹。
- 使用概念或构建块的命名约定来命名 PNG 文件,以便它们归为一组。
- 例如:
service-invocation-overview.png。 - 有关使用 shortcode 调用图像的更多信息,请参阅下面的 图像指南。
- 例如:
- 使用 HTML
<image>标签将图表添加到文档的适当部分。 - 在你的 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:
- 访问网站页面。
- 点击 section 旁边的链接图标(🔗)。
- 查看导航栏中 URL 的呈现方式。
- 复制 “#” 之后的内容作为你的 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" %}}
参考资料
翻译
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/docs 仓库中拥有审批者或维护者身份。
要了解如何为 Dapr 文档做出贡献,请参阅贡献者指南。
分支指南
Dapr 文档的分支处理方式与大多数代码仓库不同。它没有 main 分支,每个分支都标记为与运行时发布的主版本号和次版本号相匹配。
有关完整列表,请访问 Docs 仓库。
阅读贡献者指南以了解有关发布分支的更多信息。
从当前发布分支向上合并到预发布分支
作为文档审批者或维护者,您需要执行常规向上合并,以保持预发布分支与当前发布分支的更新保持一致。建议每周将当前分支向上合并到预发布分支中一次。
在以下步骤中,将 v1.0 视为当前发布版本,将 v1.1 视为即将发布的版本。
打开 Visual Studio Code 并切换到 Dapr 文档仓库。
在本地仓库中,切换到最新分支(
v1.0)并同步更改:git pull upstream v1.0 git push origin v1.0切换到即将发布的分支(
v1.1)并同步更改:git pull upstream v1.1 git push origin v1.1基于即将发布的版本创建一个新分支:
git checkout -b upmerge_MM-DD打开终端,暂存从最新发布版本到向上合并分支的合并:
git merge --no-ff --no-commit v1.0在终端中,确保包含的文件看起来准确无误。在 VS Code 中检查任何合并冲突。删除不需要合并的配置更改或版本信息。
提交暂存的更改并推送到向上合并分支(
upmerge_MM-DD)。从向上合并分支向即将发布的分支(
v1.1)打开一个 PR。审查该 PR 并仔细检查没有将非预期的更改推送到向上合并分支。
发布流程
Dapr 文档必须与 Dapr 项目发布中包含的功能和更新保持一致。在 Dapr 发布日期之前,请确保:
- 所有新功能或更新都已充分记录并经过审查。
- 即将发布的文档 PR 指向发布分支。
在以下步骤中,将 v1.0 视为最新发布版本,将 v1.1 视为即将发布的版本。
文档的发布流程需要以下内容:
- 将最新发布版本向上合并到即将发布的分支
- 更新最新和即将发布的 Hugo 配置文件
- 为下一个版本创建新的 Azure 静态 Web 应用
- 为下一个版本的网站创建新的 DNS 条目
- 为下一个版本创建新的 git 分支
向上合并
首先,执行从最新发布版本到即将发布分支的文档向上合并。
更新 Hugo 配置
向上合并后,为发布准备文档分支。在两个独立的 PR 中,您需要:
- 归档最新发布版本。
- 将预览/发布分支作为文档的当前实时版本。
- 创建一个新的预览分支。
最新发布版本
这些步骤将为归档准备最新发布分支。
打开 VS Code 并切换到 Dapr 文档仓库。
切换到最新分支(
v1.0)并同步更改:git pull upstream v1.0 git push origin v1.0基于最新发布版本创建一个新分支:
git checkout -b release_v1.0在 VS Code 中,导航到位于根目录的
hugo.yaml。将以下配置添加到
# 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删除
.github/workflows/website-root.yml。提交暂存的更改并推送到您的分支(
release_v1.0)。从
release_v1.0向v1.0打开一个 PR。请文档维护者或审批者进行审查。等待发布后再合并该 PR。
即将发布的版本
这些步骤将为即将发布分支准备提升为最新发布版本。
打开 VS Code 并切换到 Dapr 文档仓库。
切换到即将发布的分支(
v1.1)并同步更改:git pull upstream v1.1 git push origin v1.1基于即将发布的版本创建一个新分支:
git checkout -b release_v1.1在 VS Code 中,导航到位于根目录的
hugo.yaml。将第 1 行更新为
baseURL: https://docs.dapr.io/。更新
# 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导航到
.github/workflows/website-root.yml。更新触发工作流的分支:
name: Azure Static Web App Root on: push: branches: - v1.1 pull_request: types: [opened, synchronize, reopened, closed] branches: - v1.1导航到
/README.md。更新版本表:
| 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. |
- 更新
support-release-policy.md中的 Supported versions 表;在表顶部添加一行新的运行时和 SDK 版本。将早于 n-2 的发布版本更改为Unsupported。 - 将
dapr-latest-version.htmlshortcode partial 更新为新的次版本/补丁版本(在此示例中为1.1.0和1.1)。 - 提交暂存的更改并推送到您的分支(
release_v1.1)。 - 从
release/v1.1向v1.1打开一个 PR。 - 请文档维护者或审批者进行审查。等待发布后再合并该 PR。
未来预览分支
创建预览分支
- 在 GitHub UI 中,选择分支下拉菜单并选择 View all branches。
- 点击 New branch。
- 在 New branch name 中,输入预览分支版本号。在此示例中,应该是
v1.2。 - 选择 v1.1 作为源。
- 点击 Create new branch。
配置预览分支
在终端窗口中,导航到
docs仓库。切换到即将发布的分支(
v1.1)并同步更改:git pull upstream v1.1 git push origin v1.1基于
v1.1创建一个新分支并将其命名为v1.2:
git checkout -b release_v1.1
将
.github/workflows/website-v1-1.yml重命名为.github/workflows/website-v1-2.yml。在 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导航到
daprdocs/config.toml并更新baseURL以指向新的预览网站:baseURL = "https://v1-2.docs.dapr.io"更新
# 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"提交暂存的更改并针对 v1.2 分支推送到一个新的 PR。
在发布和其他
v1.0和v1.1PR 合并之前,暂缓合并该 PR。
为未来发布创建新网站
接下来,为未来的 Dapr 发布创建一个新网站。为此,您需要:
- 部署 Azure 静态 Web 应用。
- 通过 CNCF 请求配置 DNS。
先决条件
- 在
dapr/docs仓库中拥有文档维护者身份。 - 访问活动 Dapr Azure 订阅,具有贡献者或所有者访问权限以创建资源。
- 在您的机器上安装 Azure Developer CLI。
- 将您自己的
dapr/docs仓库 fork 克隆到您的机器上。
部署 Azure 静态 Web 应用
为未来的 Dapr 发布部署一个新的 Azure 静态 Web 应用。在此示例中,我们使用 v1.1 作为未来发布版本。
在终端窗口中,导航到
dapr/docs目录中的iac/swa文件夹。cd .github/iac/swa使用 Dapr Azure 订阅登录 Azure Developer CLI (
azd)。azd login在浏览器提示中,验证您以 Dapr 身份登录并完成登录。
在同一终端中,设置这些环境变量:
export AZURE_RESOURCE_GROUP=docs-website export IDENTITY_RESOURCE_GROUP=dapr-identities export AZURE_STATICWEBSITE_NAME==daprdocs-v1-1
其中 daprdocs-v1-1 应更新为新的预览版本。
创建一个新的
azd环境。azd env new出现提示时,输入一个新的环境名称。在此示例中,您可以将环境命名为:
dapr-docs-v1-1。创建环境后,使用以下命令将 Dapr 文档 SWA 部署到新环境中:
azd up出现提示时,选择一个 Azure 订阅(Dapr Tests)和部署位置(West US 2)。
在 Azure 门户中配置 SWA
前往 Azure 门户 中的 Dapr 订阅,并验证您的新 Dapr 文档站点是否已部署。
可选地,使用门户中的 Static Web App > Access control (IAM) 边栏选项卡,为入站发布和出站访问依赖项授予正确的最小权限。
配置 DNS
在 Azure 门户中,从您刚创建的新 SWA 中,从左侧菜单导航到 Custom domains。
复制 Web 应用的 “CNAME” 值。
使用您自己的账户,提交 CNCF 工单以创建一个映射到您复制的 CNAME 值的新域名。在此示例中,要为 Dapr v1.1 创建一个新域名,您需要请求映射到
v1-1.docs.dapr.io。请求解析可能需要一些时间。
确认新域名后,返回门户中的静态 Web 应用。
导航到 Custom domains 边栏选项卡并选择 + Add。
选择 Custom domain on other DNS。
在 Domain name 下输入
v1-1.docs.dapr.io。点击 Next。将 Hostname record type 保留为
CNAME,并复制 Value 的值。点击 Add。
导航到
https://v1-1.docs.dapr.io并验证空白网站是否正确加载。
您可以对任何预览版本重复这些步骤。
在新的 Dapr 发布日期
- 等待所有代码/容器/Helm chart 发布完成。
- 将从
release_v1.0到v1.0的 PR 合并。删除 release/v1.0 分支。 - 将从
release_v1.1到v1.1的 PR 合并。删除 release/v1.1 分支。 - 将从
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。
将最新的上游拉取到本地
dapr/docs版本分支中。更改到
dapr/docs目录的根目录。更改到 Go SDK 仓库。此命令将您带出
dapr/docs上下文并进入dapr/go-sdk上下文。cd sdkdocs/go切换到
dapr/go-sdk中的main分支。git checkout main拉取最新的 Go SDK 提交。
git pull upstream main更改到
dapr/docs上下文以提交、推送和创建 PR。
后续步骤
3 - 建议的 Dapr 文档模板
3.1 - 概念文章模板
贡献新的概念或概述文章
概念(或概述)文章回答以下问题:
- 为什么要关注此功能?
- 它能帮助你解决哪些问题?
虽然组件、API 或 SDK 规范可能帮助读者了解如何使用或使用这些功能,但概念文章提供了更深层次和上下文。可以链接到规范文章,但尽量不要简单重复规范内容。
在命名概念文章时,确保名称、参数和术语与规范保持一致。必要时确保两者都得到更新。
Note
此模板仅是建议。可根据文档目的自由更改。了解更多关于贡献 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 指南为以下读者提供循序渐进的实践指导:
- 启用某个功能
- 集成某项技术
- 在特定场景中使用 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 参考等。
-->