diff --git a/content/zh/docs/contribute/style/_index.md b/content/zh/docs/contribute/style/_index.md
index aacaf26575a..2b50a245fa8 100644
--- a/content/zh/docs/contribute/style/_index.md
+++ b/content/zh/docs/contribute/style/_index.md
@@ -1,15 +1,13 @@
---
-title: 文档风格概述
+title: 文档样式概述
main_menu: true
weight: 80
---
-
-本节的主题是提供有关编写风格、内容格式和组织以及使用 Hugo 定制生成 Kubernetes 文档的指导。
+本节的主题是提供有关写作风格、内容格式和组织以及如何使用
+特定于 Kubernetes 文档的 Hugo 定制代码的指导。
diff --git a/content/zh/docs/contribute/style/content-guide.md b/content/zh/docs/contribute/style/content-guide.md
new file mode 100644
index 00000000000..3c5cfa6e1b2
--- /dev/null
+++ b/content/zh/docs/contribute/style/content-guide.md
@@ -0,0 +1,142 @@
+---
+title: 文档内容指南
+linktitle: 内容指南
+content_type: concept
+weight: 10
+---
+
+
+
+
+本页包含 Kubernetes 文档的一些指南。
+
+如果你不清楚哪些事情是可以做的,请加入到
+[Kubernetes Slack](http://slack.k8s.io/) 的 `#sig-docs` 频道提问!
+你可以在 http://slack.k8s.io 注册到 Kubernetes Slack。
+
+关于为 Kubernetes 文档创建新内容的更多信息,可参考
+[样式指南](/zh/docs/contribute/style/style-guide)。
+
+
+
+
+## 概述 {#overview}
+
+Kubernetes 网站(包括其文档)源代码位于
+[kubernetes/website](https://github.com/kubernetes/website) 仓库中。
+
+在 `kubernetes/website/content/<语言代码>/docs` 目录下, 绝大多数 Kubernetes
+文档都是特定于 [Kubernetes 项目](https://github.com/kubernetes/kubernetes)的。
+
+## 可以发布的内容 {#whats-allowed}
+
+只有当以下条件满足时,Kuberentes 文档才允许第三方项目的内容:
+
+- 内容所描述的软件在 Kubernetes 项目内
+- 内容所描述的软件不在 Kubernetes 项目内,却是让 Kubernetes 正常工作所必需的
+- 内容是被 kubernetes.io 域名收编的,或者是其他位置的标准典型内容
+
+
+### 第三方内容 {#third-party-content}
+
+Kubernetes 文档包含 Kubernetes 项目下的多个项目的应用示例。
+这里的 Kubernetes 项目指的是 [kubernetes](https://github.com/kubernetes) 和
+[kubernetes-sigs](https://github.com/kubernetes-sigs) GitHub 组织
+下的项目。
+
+链接到 Kubernetes 项目中活跃的内容是一直允许的。
+
+Kubernetes 需要某些第三方内容才能正常工作。例如
+容器运行时(containerd、CRI-O、Docker),
+[联网策略](/zh/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/)
+(CNI 插件),[Ingress 控制器](/zh/docs/concepts/services-networking/ingress-controllers/)
+以及[日志](https://kubernetes.io/zh/docs/concepts/cluster-administration/logging/)等。
+
+只有对应的第三方开源软件(OSS)是运行 Kubernetes 所必需的,才可以在文档中包含
+指向这些 Kubernetes 项目之外的软件的链接。
+
+
+### 双重来源的内容 {#dual-sourced-content}
+
+只要有可能,Kubernetes 文档应该指向标准典型的信息源而不是直接托管多重来源的内容。
+
+双重来源的内容需要双倍(甚至更多)的投入才能维护,而且通常很快就会变得停滞不前。
+
+{{< note >}}
+如果你是一个 Kubernetes 项目的维护者,需要帮忙托管你的文档,
+请在 Kubernetes 的 [#sig-docs 频道](https://kubernetes.slack.com/messages/C1J0BPD2M/)
+提出请求。
+{{< /note >}}
+
+
+### 更多信息 {#more-information}
+
+如果你对允许出现的内容有疑问,请加入到 [Kubernetes Slack](http://slack.k8s.io/)
+的 `#sig-docs` 频道提问!
+
+## {{% heading "whatsnext" %}}
+
+* 阅读[样式指南](/zh/docs/contribute/style/style-guide)。
+
+
diff --git a/content/zh/docs/contribute/style/content-organization.md b/content/zh/docs/contribute/style/content-organization.md
index b8976252fca..cd9ebcd0b13 100644
--- a/content/zh/docs/contribute/style/content-organization.md
+++ b/content/zh/docs/contribute/style/content-organization.md
@@ -3,99 +3,80 @@ title: 内容组织
content_type: concept
weight: 40
---
-
-
-
本网站使用了 Hugo。在 Hugo 中,[内容组织](https://gohugo.io/content-management/organization/) 是一个核心概念。
-
-
-
-{{% note %}}
-**Hugo 提示:** 用 `hugo server --navigateToChanged` 命令启动 Hugo 以进行内容编辑会话。
-{{% /note %}}
+{{< note >}}
+**Hugo 提示:** 用 `hugo server --navigateToChanged` 命令启动 Hugo 以进行内容编辑会话。
+{{< /note >}}
## 页面列表
-
-
### 页面顺序
-
+文档侧方菜单、文档页面浏览器等以 Hugo 的默认排序顺序列出。Hugo 会按照权重(从 1 开始)、
+日期(最新的排最前面)排序,最后按链接标题排序。
-文档侧方菜单、文档页面浏览器等以 Hugo 的默认排序顺序列出,它按照权重(从1开始)、日期(最新的排第一个)排序,最后按链接标题排序。
-
-
-
-如果你想提升一个页面或一个章节,请在页面头部设置一个较高的权重:
+有鉴于此,如果你想将一个页面或一个章节前移,请在页面头部设置一个较高的权重:
```yaml
title: My Page
weight: 10
```
-
-{{% note %}}
-
-对于页面的权重,不建议使用连续的数值,比如1、2、3...,而是采用间隔的数值,比如10、20、30...,这样你可以将后续的页面插入到想要的位置。
-{{% /note %}}
-
+{{< note >}}
+对于页面的权重,不建议使用连续的数值,比如1、2、3...,而应采用间隔的数值,比如10、20、30...
+这样将来你可以将其他页面插入到想要的位置。
+{{< /note >}}
-### 文档主菜单
-
-
+### 文档主菜单
-`Documentation` 主菜单是从 `docs/` 下面的章节构建的,它在 `_index.md` 章节内容文件的头部设置了 `main_menu` 标志:
-
+`文档` 主菜单是从 `docs/` 下面的章节构建的。
+这些章节在其章节内容文件 `_index.md` 的头部设置了 `main_menu` 标志:
```yaml
main_menu: true
```
-
-
-注意,链接标题是从页面的 `linkTitle` 中提取的,因此如果希望它与标题不同,请在内容文件中更改它:
-
+注意,链接标题来自页面的 `linkTitle` 字段,因此如果希望它与页面标题不同,请在内容文件中更改它:
```yaml
main_menu: true
@@ -103,36 +84,31 @@ title: Page Title
linkTitle: Title used in links
```
-
-{{% note %}}
-以上每种语言都需要完成。如果在菜单中没有看到你的章节,这可能是因为它没有被 Hugo 标识为一个章节。请在章节对应的目录下创建 `_index.md` 内容文件。
-{{% /note %}}
+{{< note >}}
+以上操作需要为每种语言分别完成。如果在菜单中没有看到你的章节,这可能是因为它没有被 Hugo 识别为一个章节。
+请在章节对应的目录下创建 `_index.md` 内容文件。
+{{< /note >}}
+The documentation side-bar menu is built from the _current section tree_ starting below `docs/`.
+
+It will show all sections and their pages.
+
+If you don't want to list a section or page, set the `toc_hide` flag to `true` in front matter:
+
+When you navigate to a section that has content, the specific section or page (e.g. `_index.md`) is shown. Else, the first page inside that section is shown.
+-->
### 文档侧方菜单
-
+文档侧方菜单是基于 `docs/` 下面的 _当前章节的内容树_ 构建的。
-文档侧方菜单是从 `docs/` 下面的 _current 章节的 tree_ 开始构建的。
-
-
-
-它将显示所有的章节和它们的页面。
-
-
+菜单默认显示所有的章节和它们的页面。
如果你不想列出某个章节或页面,请在页面头部将 `toc_hide` 标志设置为 `true`。
@@ -140,27 +116,19 @@ If you don't want to list a section or page, set the `toc_hide` flag to `true` i
toc_hide: true
```
-
-
-当导航到具有内容的章节时,将显示出指定的章节或页面(例如 `_index.md`)。否则,将显示该章节里的第一个页面。
+当导航到具有内容的章节时,网站将显示出指定的章节或页面(例如 `_index.md`)。
+否则,将显示该章节里的第一个页面。
-### 文档浏览器
-
-
-文档主页上的页面浏览器是用 `docs section` 下一层的所有章节和页面构建的。
-
-
+### 文档浏览器 {#documentation-browser}
+
+文档主页上的页面浏览器是基于 `docs section` 下一层的所有章节和页面构建的。
如果你不想列出某个章节或页面,请在页面头部将 `toc_hide` 标志设置为 `true`。
@@ -170,34 +138,30 @@ toc_hide: true
-### 主菜单
-
-
+### 主菜单
-右上菜单中的网站链接(也在页脚中)是通过页面查找构建的。这是为了确保页面实际存在。因此,如果 `case-studies` 章节在网站中不存在(按语言),则它将链接不到。
-
+右上菜单中的网站链接(也出现在页脚中)是通过页面查找构建的。
+这是为了确保页面实际存在。因此,如果 `case-studies` 章节在网站(或者其本地化版本)中不存在,
+则不会出现对应的链接。
-## 页面包
-
-
-除了独立的内容页面(Markdown文件),Hugo 还支持 [页面包](https://gohugo.io/content-management/page-bundles/)。
-
-
+## 页面包
-一个例子是 [定制 Hugo 短代码](/docs/contribute/style/hugo-shortcodes/)。它被认为是 `leaf bundle`。目录下的所有内容,包括 `index.md`,都是包的一部分。这还包括页面相关的链接、可被处理的图像等:
+除了独立的内容页面(Markdown 文件),Hugo 还支持
+[页面包](https://gohugo.io/content-management/page-bundles/)。
+
+一个例子是[定制的 Hugo 短代码(shortcodes)](/zh/docs/contribute/style/hugo-shortcodes/)。
+它被认为是 `leaf bundle`(叶子包)。
+目录下的所有内容,包括 `index.md`,都是包的一部分。此外还包括页面间相对链接、可被处理的图像等:
```bash
en/docs/home/contribute/includes
@@ -210,8 +174,8 @@ en/docs/home/contribute/includes
-
-另一个广泛使用的例子是 `includes` 包。它在页面头部设置 `headless: true`,这意味着它没有得到自己的 URL。它只用于其他页面。
+另一个广泛使用的例子是 `includes` 包。
+这类包在页面头部设置 `headless: true`,意味着它没有得到自己的 URL。它只用于其他页面。
```bash
en/includes
@@ -228,44 +192,39 @@ en/includes
-包中文件的一些重要说明:
-
-
+有关包中文件的一些重要说明:
-* 对于已翻译的包,任何丢失的非内容文件将从上面的语言继承。这避免了重复。
-* 包中的所有文件都是 Hugo 所指的 `Resources`,你可以为每种语言提供元数据,例如参数和标题,即使它不支持头部设置(YAML 文件等)。参见[页面资源元数据](https://gohugo.io/content-management/page-resources/#page-resources-metadata)。
-* 从 `Resource` 的 `.RelPermalink` 中获得的值是页面相关的。参见 [Permalinks](https://gohugo.io/content-management/urls/#permalinks)。
-
+* 已翻译的包会从上面的语言继承所有缺失的、非内容文件。这一设计可以避免重复。
+* 包中的所有文件都是 Hugo 所指的 `Resources`,你可以为用不同语言为其提供元数据,
+ 例如参数和标题,即使它不支持头部设置(YAML 文件等)。
+ 参见[页面资源元数据](https://gohugo.io/content-management/page-resources/#page-resources-metadata)。
+* 从 `Resource` 的 `.RelPermalink` 中获得的值是相对于当前页面的。
+ 参见 [Permalinks](https://gohugo.io/content-management/urls/#permalinks)。
-## 样式
-
-
+## 样式 {#styles}
-本网站的样式表的 `SASS` 源存储在 `src/sass` 下面,可以用 `make sass` 构建(Hugo很快就会得到 `SASS` 的支持,参见https://github.com/gohugoio/hugo/issues/4243)。
-
-
+网站的样式表的 `SASS` 源文件存储在 `src/sass` 下面,可以用 `make sass` 构建
+(Hugo 很快就提供 `SASS` 的支持,参见 https://github.com/gohugoio/hugo/issues/4243)。
## {{% heading "whatsnext" %}}
-
-* [定制 Hugo 短代码](/docs/contribute/style/hugo-shortcodes/)
-* [样式指南](/docs/contribute/style/style-guide)
-
+* 了解[定制 Hugo 短代码](/zh/docs/contribute/style/hugo-shortcodes/)
+* 了解[样式指南](/zh/docs/contribute/style/style-guide)
+* 了解[内容指南](/zh/docs/contribute/style/content-guide)
diff --git a/content/zh/docs/contribute/style/hugo-shortcodes/example1.md b/content/zh/docs/contribute/style/hugo-shortcodes/example1.md
index 0656ce48839..9359bf1c164 100644
--- a/content/zh/docs/contribute/style/hugo-shortcodes/example1.md
+++ b/content/zh/docs/contribute/style/hugo-shortcodes/example1.md
@@ -3,21 +3,18 @@ title: 例子 #1
---
-
这是一个内容文件**示例**,位于一个**includes**叶子包中。
-{{< note >}}
+{{< note >}}
+被包含的内容文件也可以包含短代码。
+{{< /note >}}
-包含的内容文件也可以包含短代码。
-{{< /note >}}
\ No newline at end of file
diff --git a/content/zh/docs/contribute/style/hugo-shortcodes/example2.md b/content/zh/docs/contribute/style/hugo-shortcodes/example2.md
index 356983f3c00..5648fdc1997 100644
--- a/content/zh/docs/contribute/style/hugo-shortcodes/example2.md
+++ b/content/zh/docs/contribute/style/hugo-shortcodes/example2.md
@@ -1,17 +1,12 @@
---
title: 例子 #1
---
-
-
这是另一个内容文件**示例**,位于一个**includes**叶子包中。
-
diff --git a/content/zh/docs/contribute/style/hugo-shortcodes/index.md b/content/zh/docs/contribute/style/hugo-shortcodes/index.md
index 8f9a3a260bc..7e12d2da8a9 100644
--- a/content/zh/docs/contribute/style/hugo-shortcodes/index.md
+++ b/content/zh/docs/contribute/style/hugo-shortcodes/index.md
@@ -1,37 +1,41 @@
---
-approvers:
-- chenopis
title: 定制 Hugo 短代码
content_type: concept
---
-
-
+-->
+
本页面将介绍定制 Hugo 短代码,可以用于 Kubernetes markdown 文档书写。
-更多关于短代码参见 [Hugo 文档](https://gohugo.io/content-management/shortcodes)。
-
+关于短代码的更多信息可参见 [Hugo 文档](https://gohugo.io/content-management/shortcodes)。
-
+
+
## 功能状态
-
-本站上面的 markdown 页面,你可以加入短代码来展示已经文档介绍的功能的版本和状态(state)。
+在本站的 markdown 页面中,你可以加入短代码来展示所描述的功能特性的版本和状态。
-
-### 功能状态演示
+
-下面是一个功能状态代码段的演示,表明这个功能已经在 Kubernetes v1.10时就已经稳定了。
+Below is a demo of the feature state snippet, which displays the feature as stable
+in Kubernetes version 1.10.
+-->
+### 功能状态示例
+
+下面是一个功能状态代码段的演示,表明这个功能已经在 Kubernetes v1.10 时就已经稳定了。
```
{{* feature-state for_k8s_version="v1.10" state="stable" */>}}
@@ -43,32 +47,33 @@ content_type: concept
{{< feature-state for_k8s_version="v1.10" state="stable" >}}
-`state`的可选值如下:
+`state` 的可选值如下:
* alpha
* beta
* deprecated
* stable
-
+
### 功能状态代码
-
-下面是为每个现有的功能状态的模板代码。
-
-
-
-显示的 Kubernetes 默认为该页或站点版本。
-这个可以通过修改 for_k8s_version 短代码参数来调整。
+所显示的 Kubernetes 默认为该页或站点版本。
+可以通过修改 for_k8s_version 短代码参数来调整要显示的版本。
```
-{{* feature-state for_k8s_version="v1.10" state="stable" */>}}
+{{* feature-state for_k8s_version="v1.11" state="stable" */>}}
```
会转换为:
-{{< feature-state for_k8s_version="v1.10" state="stable" >}}
+{{< feature-state for_k8s_version="v1.11" state="stable" >}}
#### Alpha 功能
@@ -82,7 +87,6 @@ content_type: concept
{{< feature-state state="alpha" >}}
-
#### Beta 功能
@@ -119,63 +123,165 @@ content_type: concept
{{< feature-state state="deprecated" >}}
-
+
## 词汇
-
-
-你可以通过加入术语词汇的短代码,来自动更新和替换相应链接中的内容([我们的词汇库](/docs/reference/glossary/))
+你可以通过加入术语词汇的短代码,来自动更新和替换相应链接中的内容
+([我们的词汇库](/zh/docs/reference/glossary/))
这样,在浏览在线文档,鼠标移到术语上时,术语解释就会显示在提示框中。
-
+
词汇术语的原始数据保存在 [https://github.com/kubernetes/website/tree/master/content/en/docs/reference/glossary](https://github.com/kubernetes/website/tree/master/content/en/docs/reference/glossary),每个内容文件对应相应的术语解释。
-
+
### 词汇演示
-
+例如,下面的代码在 markdown 中将会转换为 `{{< glossary_tooltip text="cluster" term_id="cluster" >}}`,
+然后在提示框中显示。
-例如,下面的代码在 markdown 中将会转换为 `{{< glossary_tooltip text="cluster" term_id="cluster" >}}`,然后在提示框中显示。
-
-````liquid
+```liquid
{{* glossary_tooltip text="cluster" term_id="cluster" */>}}
-````
+```
-
-## 标签页
+
-在本站的 markdown 页面(`.md` 文件)中,你可以加入一个标签页集来显示不同形式的解决方案。
-
-
-标签页的短代码包含以下参数:
-
-
-
-* `name`: 标签页上的名字。
-* `codelang`: 如果要在`tab`短代码中加入内部内容,需要告知 Hugo 使用的是什么代码语言,方便代码高亮。
-* `include`: 标签页中所要包含的文件。如果标签页是在 Hugo 的页面包([leaf bundle](https://gohugo.io/content-management/page-bundles/#leaf-bundles))中,文件(可以是 Hugo 所支持的 MIME 类型文件)将会在包中查找。如果不是,所要包含的内容页面将会在当前路径的相关路径下查找。注意,在`include`属性部分,不能加入短代码内部内容,必须要使用自结束(self-closing)的语法。
-非内容文件将会被代码高亮。如果没有在`codelang`进行声明的话,所用的代码语言将会来自文件名。
-
-
-
-* 如果内部内容是 markdown, 你必须要使用 `%` 分隔符来包装标签页,例如,`{{%/* tab name="Tab 1" %}}This is **markdown**{{% /tab */%}}`
-* 可以在标签页集中混合使用上面的各种变形。
-
-
-下面是演示标签页短代码。
+You can make tables more accessible to screen readers by adding a table caption. To add a [caption](https://www.w3schools.com/tags/tag_caption.asp) to a table, enclose the table with a `table` shortcode and specify the caption with the `caption` parameter.
{{< note >}}
-The tab **name** in a `tabs` definition must be unique within a content page.
-一个内容页面下的,标签页定义中的标签页 **名** 必须是唯一的。
+Table captions are visible to screen readers but invisible when viewed in standard HTML.
{{< /note >}}
-
+Here's an example:
+-->
+## 表格标题 {#table-captions}
+
+通过添加表格标题,你可以让表格能够被屏幕阅读器读取。
+要向表格添加[标题(Caption)](https://www.w3schools.com/tags/tag_caption.asp),
+可用 `table` 短代码包围表格定义,并使用 `caption` 参数给出表格标题。
+
+{{< note >}}
+表格标题对屏幕阅读器是可见的,但在标准 HTML 中查看时是不可见的。
+{{< /note >}}
+
+下面是一个例子:
+
+
+
+```go-html-template
+{{* table caption="配置参数" >}}
+参数 | 描述 | 默认值
+:---------|:------------|:-------
+`timeout` | 请求的超时时长 | `30s`
+`logLevel` | 日志输出的级别 | `INFO`
+{{< /table */>}}
+```
+
+所渲染的表格如下:
+
+{{< table caption="配置参数" >}}
+参数 | 描述 | 默认值
+:---------|:------------|:-------
+`timeout` | 请求的超时时长 | `30s`
+`logLevel` | 日志输出的级别 | `INFO`
+{{< /table >}}
+
+
+如果你查看表格的 HTML 输出结果,你会看到 `
` 元素
+后面紧接着下面的元素:
+
+```html
+配置参数
+```
+
+
+## 标签页
+
+在本站的 markdown 页面(`.md` 文件)中,你可以加入一个标签页集来显示
+某解决方案的不同形式。
+
+标签页的短代码包含以下参数:
+
+
+* `name`: 标签页上显示的名字。
+* `codelang`: 如果要在 `tab` 短代码中加入内部内容,需要告知 Hugo 使用的是什么代码语言,方便代码高亮。
+* `include`: 标签页中所要包含的文件。如果标签页是在 Hugo 的
+ [叶子包](https://gohugo.io/content-management/page-bundles/#leaf-bundles)中定义,
+ Hugo 会在包内查找文件(可以是 Hugo 所支持的任何 MIME 类型文件)。
+ 否则,Hugo 会在当前路径的相对路径下查找所要包含的内容页面。
+ 注意,在 `include` 页面中不能包含短代码内容,必须要使用自结束(self-closing)语法。
+ 非内容文件将会被代码高亮。
+ 如果没有在 `codelang` 进行声明的话,Hugo 会根据文件名推测所用的语言。
+
+* 如果内部内容是 Markdown,你必须要使用 `%` 分隔符来包装标签页。
+ 例如,`{{%/* tab name="Tab 1" %}}This is **markdown**{{% /tab */%}}`。
+* 可以在标签页集中混合使用上面的各种变形。
+
+
+下面是标签页短代码的示例。
+
+{{< note >}}
+内容页面下的 **tabs** 定义中的标签页 **name** 必须是唯一的。
+{{< /note >}}
+
+
### 标签页演示:代码高亮
```go-text-template
@@ -255,20 +361,17 @@ println "This is tab 2."
{{< tab name="JSON File" include="podtemplate" />}}
{{< /tabs >}}
-
-
-
## {{% heading "whatsnext" %}}
-
+
* 了解 [Hugo](https://gohugo.io/)。
-* 了解 [撰写新的话题](/docs/home/contribute/write-new-topic/)。
-* 了解 [使用页面模板](/docs/home/contribute/page-templates/)。
-* 了解 [暂存修改](/docs/home/contribute/stage-documentation-changes/)。
-* 了解 [创建 pull request](/docs/home/contribute/create-pull-request/)。
+* 了解 [撰写新的话题](/zh/docs/contribute/write-new-topic/)。
+* 了解 [使用页面类型](/zh/docs/contribute/style/page-content-types/)。
+* 了解 [发起 PR](/zh/docs/contribute/new-content/create-a-pr/)。
diff --git a/content/zh/docs/contribute/style/page-content-types.md b/content/zh/docs/contribute/style/page-content-types.md
new file mode 100644
index 00000000000..241f440e73e
--- /dev/null
+++ b/content/zh/docs/contribute/style/page-content-types.md
@@ -0,0 +1,412 @@
+---
+title: 页面内容类型
+content_type: concept
+weight: 30
+card:
+ name: 贡献
+ weight: 30
+---
+
+
+
+
+
+Kubernetes 文档包含以下几种页面内容类型:
+
+- 概念(Concept)
+- 任务(Task)
+- 教程(Tutorial)
+- 参考(Reference)
+
+
+
+
+## 内容章节 {#content-sections}
+
+每种页面内容类型都有一些使用 Markdown 注释和 HTML 标题定义的章节。
+你可以使用 `heading` 短代码将内容标题添加到你的页面中。
+注释和标题有助于维护对应页面内容类型的结构组织。
+
+定义页面内容章节的 Markdown 注释示例:
+
+```markdown
+
+```
+
+```markdown
+
+```
+
+
+要在内容页面中创建通用的标题,可以使用 `heading` 短代码加上标题字符串。
+
+标题字符串示例:
+
+- whatsnext
+- prerequisites
+- objectives
+- cleanup
+- synopsis
+- seealso
+- options
+
+例如,要创建一个 `whatsnext` 标题,添加 heading 短代码并指定 "whatsnext" 字符串:
+
+```none
+## {{%/* heading "whatsnext" */%}}
+```
+
+
+你可以像下面这样声明一个 `prerequisites` 标题:
+
+```none
+## {{%/* heading "prerequisites" */%}}
+```
+
+
+短代码 `heading` 需要一个字符串参数。
+该字符串参数要与 `i18n/<语言>.toml` 文件中以其为前缀的某个变量匹配。
+例如:
+
+`i18n/en.toml`:
+
+```toml
+[whatsnext_heading]
+other = "What's next"
+```
+
+`i18n/ko.toml`:
+
+```toml
+[whatsnext_heading]
+other = "다음 내용"
+```
+
+
+## 内容类型 {#content-types}
+
+每种内容类型都非正式地定义了期望的页面结构组织。
+请按照所建议的页面章节来创建内容页面。
+
+
+### 概念 {#concept}
+
+概念页面用来解释 Kubernetes 的某些方面。例如,概念页面可以用来描述 Kubernetes
+中的 Deployment 对象,解释其作为应用的角色如何部署、扩缩和更新。
+通常,概念页面不需要包含步骤序列,但包含指向任务或教程的链接。
+
+要编写一个新的概念页面,在 `/content/en/docs/concepts` 目录下面的子目录中新建
+一个 Markdown 文件。该文件具有以下特点。
+
+概念页面分为三个章节:
+
+| 页面章节 |
+|--------------------|
+| overview (概述) |
+| body (主体) |
+| whatsnext (接下来)|
+
+
+其中的 `overview` 和 `body` 章节在概念页面中显示为注释。
+你可以使用 `heading` 短代码向页面添加 `wahtsnext` 节。
+
+在为每个章节撰写内容时,遵从一些规定:
+
+- 使用二级和三级标题(H2、H3)来组织内容
+- 在 `overview` 节中,使用一段文字来为主体部分铺陈上下文;
+- 在 `body` 节中,详细解释对应概念;
+- 对于 `whatsnext` 节,提供一个项目符号列表(最多 5 个),帮助读者进一步学习掌握概念
+
+[注解](/zh/docs/concepts/overview/working-with-objects/annotations/)页面是一个已经
+上线的概念页面的例子。
+
+
+### 任务(Task) {#task}
+
+任务页面讲解如何完成某项工作,通常包含由为数不多的几个步骤组成的序列。
+任务页面的讲解文字很少,不过通常会包含指向概念主题的链接,以便读者
+能够了解相关的背景和知识。
+
+编写新的任务页面时,在 `/content/en/docs/tasks` 目录下的子目录中创建一个
+新的 Markdown 文件。该文件特点如下。
+
+| 页面章节 |
+|---------------------------|
+| overview (概述) |
+| prerequisites (准备工作)|
+| steps (步骤) |
+| discussion (讨论) |
+| whatsnext (接下来) |
+
+
+其中的 `overview`、`steps` 和 `discussion` 节在任务页面中显示为注释。
+你可以使用 `heading` 短代码添加 `prerequisites` 和 `whatsnext` 小节。
+
+在每个小节内撰写内容时注意以下规定:
+
+- 最低使用二级标题(H2,标题行前带两个 `#` 字符)。每个小节都会由模版自动给出标题。
+- 在 `overview` 节中,用一个段落为整个任务主体设定语境;
+- 在 `prerequisites` 节中,尽可能使用项目符号列表。
+ 额外的环境准备条件要加在 `include` 短代码之后。
+ 默认的环境准备条件是拥有一个在运行的 Kubernetes 集群。
+- 在 `steps` 节中,使用编号符号列表。
+- 在 `discussion` 节中,使用正常文字内容来对 `steps` 节中内容展开叙述。
+- 在 `whatsnext` 节中,使用项目符号列表(不超过 5 项),列举读者可能接下来有兴趣
+ 阅读的主题。
+
+已上线的任务主题示例之一是[使用 HTTP 代理来访问 Kubernetes API](/zh/docs/tasks/extend-kubernetes/http-proxy-access-api/)。
+
+
+### 教程(Tutorial) {#tutorial}
+
+教程页面描述如果完成一个比单一任务规模更大的目标。通常教程页面会有多个小节,
+每个小节由一系列步骤组成。例如,每个教程可能提供对代码示例的讲解,便于用户
+了解 Kubernetes 的某个功能特性。教程可以包含表面层面的概念解释,对于更深层面
+的概念主题应该使用链接。
+
+撰写新的教程页面时,在 `/content/en/docs/tutorials` 目录下面的子目录中创建新的
+Markdown 文件。该文件有以下特点。
+
+| 页面节区 |
+|---------------------------|
+| overview (概述) |
+| prerequisites (环境准备)|
+| objectives (目标) |
+| lessoncontent (教程内容)|
+| cleanup (清理工作) |
+| whatsnext (接下来) |
+
+
+教程页面的 `overview`、`objectives` 和 `lessoncontent` 小节显示为注释形式。
+你可以使用 `heading` 短代码根据需要添加 `prerequisites`、`cleanup` 和
+`whatsnext` 小节。
+
+在每个小节中编写内容时,请注意以下规定:
+
+- 最低使用二级标题(H2,标题前面有两个 `#` 字符)。模版会自动为每个小节设置标题。
+- 在 `overview` 节中,用一个段落为整个主题设定语境;
+- 在 `prerequisites` 节中,尽可能使用项目符号列表。
+ 额外的环境准备条件要加在已包含的条件之后。
+- 在 `objectives` 节中,使用项目符号列表。
+- 在 `lessoncontent` 节中,结合使用编号符号列表和叙述性文字。
+- 在 `cleanup` 节中,使用编号符号列表来描述任务结束后清理集群状态所需要的步骤。
+- 在 `whatsnext` 节中,使用项目符号列表(不超过 5 项),列举读者可能接下来有兴趣
+ 阅读的主题。
+
+已发布的教程主题的一个例子是
+[使用 Deployment 运行无状态应用](/zh/docs/tutorials/stateless-application/run-stateless-application-deployment/).
+
+
+### 参考(Reference) {#reference}
+
+组件工具的参考页面给出的是某个 Kubernetes 组件工具的描述和参数选项输出。
+每个页面都是使用组件工具命令基于脚本生成的。
+
+每个工具参考页面可能包含以下小节:
+
+| 页面小节 |
+|-----------------|
+| synopsis (用法)|
+| options(选项) |
+| options from parent commands (从父命令集成的选项) |
+| examples (示例)|
+| seealso (参考)|
+
+已发布的工具参考页面示例包括:
+
+- [kubeadm init](/zh/docs/reference/setup-tools/kubeadm/kubeadm-init/)
+- [kube-apiserver](/zh/docs/reference/command-line-tools-reference/kube-apiserver/)
+- [kubectl](/zh/docs/reference/kubectl/kubectl/)
+
+## {{% heading "whatsnext" %}}
+
+
+- 了解[样式指南](/zh/docs/contribute/style/style-guide/)
+- 了解[内容指南](/zh/docs/contribute/style/content-guide/)
+- 了解[内容组织](/zh/docs/contribute/style/content-organization/)
+
diff --git a/content/zh/docs/contribute/style/page-templates.md b/content/zh/docs/contribute/style/page-templates.md
deleted file mode 100644
index fc427417a80..00000000000
--- a/content/zh/docs/contribute/style/page-templates.md
+++ /dev/null
@@ -1,353 +0,0 @@
----
-title: 使用页面模板
-content_type: concept
-weight: 30
----
-
-
-
-
-
-
-
-当贡献新主题时,选择下列模板中的一种。
-这使指定页面的用户体验标准化。
-
-
-
-页面模板在 [`kubernetes/website`](https://github.com/kubernetes/website) 仓库的 [`layouts/partials/templates`](https://git.k8s.io/website/layouts/partials/templates) 目录中。
-
-{{< note >}}
-
-
-每个新主题都需要使用模板。如果你不确定新主题要使用哪个模板,请从[概念模板](#概念模板)开始。
-{{< /note >}}
-
-
-
-
-
-
-
-
-
-## 概念模板
-
-
-
-每个概念页面负责解释 Kubernetes 的某方面。例如,概念页面可以描述 Kubernetes Deployment 对象,并解释当部署、扩展和更新时,它作为应用程序所扮演的角色。一般来说,概念页面不包括步骤序列,而是提供任务或教程的链接。
-
-
-
-
-要编写新的概念页面,请在 `/content/en/docs/concepts` 目录的子目录中创建一个 Markdown 文件,其特点如下:
-
-
-
-- 在页面的 YAML 头部,设置 `content_type: concept`。
-- 在页面的 body 中,设置所需的 `capture` 变量和所有想要包含的变量:
-
- | 变量 | 必需? |
- |---------------|-----------|
- | overview | 是 |
- | body | 是 |
- | whatsnext | 否 |
-
-
-
- 页面的 body 看起来像这样(移除所有不想要的可选 `capture` 变量):
-
- ```
- {{%/* capture overview */%}}
-
- {{%/* /capture */%}}
-
- {{%/* capture body */%}}
-
- {{%/* /capture */%}}
-
- {{%/* capture whatsnext */%}}
-
- {{%/* /capture */%}}
- ```
-
-
-
-- 在每个章节中写下你的内容。请遵从以下规则:
- - 使用不低于 H2 级别的标题(避免使用 H1 的标题,但 H3、H4 的标题是可以的)(以两个 `#` 字符开头)。这些章节本身是由模板自动命名的。
- - 在 `overview` 节,用一个段落的篇幅来为当前话题设定语境。
- - 在 `body` 节,使用自由形式的 Markdown 文件来解释概念。
- - 在 `whatsnext` 节,列出读者接下来可能感兴趣的最多 5 个主题。
-
-
-
-使用概念模板的已发布主题的一个示例是[注解](/docs/concepts/overview/working-with-objects/annotations/)。你当前正在阅读的页面也使用概念模板。
-
-
-
-## 任务模板
-
-
-
-任务页面展示了如何完成单个任务,通常是通过给出一个简短的步骤序列。任务页面中解释性质的文字极少,但是通常会给出提供相关背景和知识的概念主题的链接。
-
-
-
-要编写新的任务页面,请在 `/content/en/docs/tasks` 目录的子目录中创建一个 Markdown 文件,其特点如下:
-
-
-
-- 在页面的 YAML 头部,设置 `content_type: task`。
-- 在页面的 body 中,设置所需的 `capture` 变量和所有想要包含的变量:
-
- | 变量 | 必需? |
- |---------------|-----------|
- | overview | 是 |
- | prerequisites | 是 |
- | steps | 否 |
- | discussion | 否 |
- | whatsnext | 否 |
-
-
-
- 页面的 body 看起来像这样(移除所有不想要的可选 `capture` 变量):
-
- ```
- {{%/* capture overview */%}}
-
- {{%/* /capture */%}}
-
- {{%/* capture prerequisites */%}}
-
- {{* include "task-tutorial-prereqs.md" */>}} {{* version-check */>}}
-
- {{%/* /capture */%}}
-
- {{%/* capture steps */%}}
-
- {{%/* /capture */%}}
-
- {{%/* capture discussion */%}}
-
- {{%/* /capture */%}}
-
- {{%/* capture whatsnext */%}}
-
- {{%/* /capture */%}}
- ```
-
-
-
-- 在每个章节中写下你的内容。请遵从以下规则:
- - 使用不低于 H2 级别的标题(避免使用 H1 的标题,但 H3、H4 的标题是可以的)(以两个 `#` 字符开头)。这些章节本身是由模板自动命名的。
- - 在 `overview` 节,用一个段落的篇幅来为当前话题设定语境。
- - 在 `prerequisites 节`,如果有可能,请使用列表。在 `include` 下开始添加额外的先决条件。默认的先决条件包括运行中的 Kubernetes 集群。
- - 在 `steps` 节,使用编号列表。
- - 在讨论部分,使用通常的内容来扩展 `steps` 中包含的信息。
- - 在 `whatsnext` 节,列出读者接下来可能感兴趣的最多 5 个主题。
-
-
-
-使用任务模板的已发布主题的一个示例是[使用 HTTP 代理访问 Kubernetes API](/docs/tasks/access-kubernetes-api/http-proxy-access-api)。
-
-
-
-## 教程模板
-
-
-
-教程页面展示了如何完成比单个任务更大的目标。通常教程页有几个章节,每个章节都有步骤说明。例如,教程可以提供说明 Kubernetes 的特定特性的代码示例的演练。教程可以包括表层解释,但是应该链接到相关的概念主题以进行深入解释。
-
-
-
-要编写新的教程页面,请在 `/content/en/docs/tutorials` 目录的子目录中创建一个 Markdown 文件,其特点如下:
-
-
-
-- 在页面的 YAML 头部,设置 `content_type: tutorial`。
-- 在页面的 body 中,设置所需的 `capture` 变量和所有想要包含的变量:
-
- | 变量 | 必需? |
- |---------------|-----------|
- | overview | 是 |
- | prerequisites | 是 |
- | objectives | 是 |
- | lessoncontent | 是 |
- | cleanup | 否 |
- | whatsnext | 否 |
-
-
-
- 页面的 body 看起来像这样(移除所有不想要的可选 `capture` 变量):
-
- ```
- {{%/* capture overview */%}}
-
- {{%/* /capture */%}}
-
- {{%/* capture prerequisites */%}}
-
- {{* include "task-tutorial-prereqs.md" */>}} {{* version-check */>}}
-
- {{%/* /capture */%}}
-
- {{%/* capture objectives */%}}
-
- {{%/* /capture */%}}
-
- {{%/* capture lessoncontent */%}}
-
- {{%/* /capture */%}}
-
- {{%/* capture cleanup */%}}
-
- {{%/* /capture */%}}
-
- {{%/* capture whatsnext */%}}
-
- {{%/* /capture */%}}
- ```
-
-
-
-- 在每个章节中写下你的内容。请遵从以下规则:
- - 使用不低于 H2 级别的标题(避免使用 H1 的标题,但 H3、H4 的标题是可以的)(以两个 `#` 字符开头)。这些章节本身是由模板自动命名的。
- - 在 `overview` 节,用一个段落的篇幅来为当前话题设定语境。
- - 在 `prerequisites` 节,如果有可能,请使用列表。在默认情况下添加额外的先决条件。
- - 在 `objectives` 节,使用列表。
- - 在 `lessoncontent` 节,适当地使用编号列表和叙述内容的组合。
- - 在 `cleanup` 节,使用编号列表描述完成任务后清理集群状态的步骤。
- - 在 `whatsnext` 节,列出读者接下来可能感兴趣的最多 5 个主题。
-
-
-
-使用教程模板的已发布主题的一个示例是[使用部署运行无状态应用程序](/docs/tutorials/stateless-application/run-stateless-application-deployment/)。
-
-
-
-## {{% heading "whatsnext" %}}
-
-
-
-
-- 学习[样式指南](/docs/contribute/style/style-guide/)
-- 学习[内容组织](/docs/contribute/style/content-organization/)
-
-
diff --git a/content/zh/docs/contribute/style/style-guide.md b/content/zh/docs/contribute/style/style-guide.md
new file mode 100644
index 00000000000..c3c00b5be96
--- /dev/null
+++ b/content/zh/docs/contribute/style/style-guide.md
@@ -0,0 +1,1207 @@
+---
+title: 文档样式指南
+linktitle: 样式指南
+content_type: concept
+weight: 10
+---
+
+
+
+
+本页讨论 Kubernetes 文档的样式指南。
+这些仅仅是指南而不是规则。
+你可以自行决定,且欢迎使用 PR 来为此文档提供修改意见。
+
+关于为 Kubernetes 文档贡献新内容的更多信息,可以参考
+[文档内容指南](/zh/docs/contribute/style/content-guide/)。
+
+样式指南的变更是 SIG Docs 团队集体决定。
+如要提议更改或新增条目,请先将其添加到下一次 SIG Docs 例会的
+[议程表](https://docs.google.com/document/d/1ddHwLK3kUMX1wVFIwlksjTk0MsqitBnWPe1LRa1Rx5A/edit)
+上,并按时参加会议讨论。
+
+
+
+{{< note >}}
+Kubernetes 文档 [Blackfriday Markdown 解释器](https://github.com/russross/blackfriday)
+和一些 [Hugo 短代码](/zh/docs/home/contribute/includes/) 来支持词汇表项、Tab
+页以及特性门控标注。
+{{< /note >}}
+
+
+## 语言 {#language}
+
+Kubernetes 文档已经被翻译为多个语种
+(参见 [本地化 READMEs](https://github.com/kubernetes/website/blob/master/README.md#localization-readmemds))。
+
+为文档提供一种新的语言翻译的途径可以在
+[本地化 Kubernetes 文档](/zh/docs/contribute/localization/)中找到。
+
+英语文档使用美国英语的拼写和语法。
+
+{{< comment >}}[如果你在翻译本页面,你可以忽略关于美国英语的这一条。]{{< /comment >}}
+
+
+## 文档格式标准 {#documentation-formatting-standards}
+
+### 对 API 对象使用驼峰式命名法 {#use-camel-case-for-api-objects}
+
+当指代 API 对象时,请使用与实际对象名称中一样的大写和小写字母。
+通常 API 对象使用[驼峰式命名](https://en.wikipedia.org/wiki/Camel_case).
+
+不要将 API 对象的名称切分成多个单词。例如,使用 PodTemplateList,不要
+使用 Pod Template List。
+
+引用 API 对象时不必强调 “object(对象)”,除非省略“object(object)”
+会使得文字读起来很别扭。
+
+
+{{< table caption = "关于 API 对象的约定" >}}
+可以 | 不可以
+:--| :-----
+Pod 有两个容器 | pod 中有两个容器
+此 Deployment 负责... | 此 Deployment 对象负责 ...
+PodList 是 Pod 的列表 | Pod List 是 pods 的列表
+这两个 ContainerPorts ... | 这两个 ContainerPort 对象 ...
+这两个 ContainerStateTerminated 对象 ... | 这两个 ContainerStateTerminateds ...
+{{< /table >}}
+
+
+### 在占位符中使用尖括号
+
+在占位符中使用尖括号,并让读者知道其中代表的事物。例如:
+
+1. 显示 Pod 信息:
+
+ kubectl describe pod -n <名字空间>
+
+ 如果名字空间被忽略,默认为 `default`,你可以忽略 '-n' 参数。
+
+
+
+### 用粗体字表现用户界面元素
+
+{{< table caption = "粗体界面元素约定" >}}
+可以 | 不可以
+:--| :-----
+点击 **Fork**. | 点击 "Fork".
+选择 **Other**. | 选择 "Other".
+{{< /table >}}
+
+
+### 定义或引入新术语时使用斜体
+
+{{< table caption = "新术语约定" >}}
+可以 | 不可以
+:--| :-----
+每个 _集群_ 是一组节点 ... | 每个“集群”是一组节点 ...
+这些组件构成了 _控制面_. | 这些组件构成了 **控制面**.
+{{< /table >}}
+
+
+### 使用代码样式表现文件名、目录和路径
+
+{{< table caption = "文件名、目录和路径约定" >}}
+可以 | 不可以
+:--| :-----
+打开 `envars.yaml` 文件 | 打开 envars.yaml 文件
+进入到 `/docs/tutorials` 目录 | 进入到 /docs/tutorials 目录
+打开 `/_data/concepts.yaml` 文件 | 打开 /\_data/concepts.yaml 文件
+{{< /table >}}
+
+
+### 在引号内使用国际标准标点
+
+{{< table caption = "标点符号约定" >}}
+可以 | 不可以
+:--| :-----
+事件记录中都包含对应的“stage”。 | 事件记录中都包含对应的“stage。”
+此副本称作一个“fork”。| 此副本称作一个“fork。”
+{{< /table >}}
+
+
+## 行间代码格式 {#inline-code-formatting}
+
+### 为行间代码和命令使用代码样式
+
+对于 HTML 文档中的行间代码,使用 `` 标记。
+在 Markdown 文档中,使用反引号(`` ` ``)。
+
+
+{{< table caption = "行间代码和命令约定" >}}
+可以 | 不可以
+:--| :-----
+命令 `kubectl run` 会创建一个 Deployment | 命令 "kubectl run" 会创建一个 Deployment。
+在声明式管理中,使用 `kubectl apply`。 | 在声明式管理中,使用 "kubectl apply"。
+用三个反引号来(\`\`\`)标示代码示例 | 用其他语法来标示代码示例。
+使用单个反引号来标示行间代码。例如:`var example = true`。 | 使用两个星号(`**`)或者一个下划线(`_`)来标示行间代码。例如:**var example = true**。
+在多行代码块之前和之后使用三个反引号标示隔离的代码块。 | 使用多行代码块来创建示意图、流程图或者其他表示。
+使用符合上下文的有意义的变量名。 | 使用诸如 'foo'、'bar' 和 'baz' 这类无意义且无语境的变量名。
+删除代码中行尾空白。 | 在代码中包含行尾空白,因为屏幕抓取工具通常也会抓取空白字符。
+{{< /table >}}
+
+
+{{< note >}}
+网站支持为代码示例使用语法加亮,不过指定语法加亮是可选的。
+代码段的语法加亮要遵从[对比度指南](https://www.w3.org/WAI/WCAG21/quickref/?versions=2.0&showtechniques=141%2C143#contrast-minimum)
+{{< /note >}}
+
+
+### 为对象字段名和名字空间使用代码风格
+
+{{< table caption = "对象字段名约定" >}}
+可以 | 不可以
+:--| :-----
+在配置文件中设置 `replicas` 字段的值。 | 在配置文件中设置 "replicas" 字段的值。
+`exec` 字段的值是一个 ExecAction 对象。 | "exec" 字段的值是一个 ExecAction 对象。
+在 `kube-system` 名字空间中以 Daemonset 形式运行此进程。 | 在 kube-system 名字空间中以 DaemonSet 形式运行此进程。
+{{< /table >}}
+
+
+### 用代码样式书写 Kubernetes 命令工具和组件名
+
+{{< table caption = "Kubernetes 命令工具和组件名" >}}
+可以 | 不可以
+:--| :-----
+`kubelet` 维持节点稳定性。 | kubelet 负责维护节点稳定性。
+`kubectl` 处理 API 服务器的定位和身份认证。| kubectl 处理 API 服务器的定位和身份认证。
+使用该证书运行进程 `kube-apiserver --client-ca-file=FILENAME`. | 使用证书运行进程 kube-apiserver --client-ca-file=FILENAME. |
+{{< /table >}}
+
+
+### 用工具或组件名称开始一句话
+
+{{< table caption = "工具或组件名称使用约定" >}}
+可以 | 不可以
+:--| :-----
+The `kubeadm` tool bootstraps and provisions machines in a cluster. | `kubeadm` tool bootstraps and provisions machines in a cluster.
+The kube-scheduler is the default scheduler for Kubernetes. | kube-scheduler is the default scheduler for Kubernetes.
+{{< /table >}}
+
+
+### 尽量使用通用描述而不是组件名称
+
+{{< table caption = "组件名称与通用描述" >}}
+可以 | 不可以
+:--| :-----
+Kubernetes API 服务器提供 OpenAPI 规范。| apiserver 提供 OpenAPI 规范
+聚合 APIs 是下级 API 服务器。 | 聚合 APIs 是下级 APIServers。
+{{< /table >}}
+
+
+### 使用普通样式表达字符串和整数字段值
+
+对于字符串或整数,使用正常样式,不要带引号。
+
+{{< table caption = "字符串和整数字段值约定" >}}
+可以 | 不可以
+:--| :-----
+将 `imagePullPolicy` 设置为 Always。 | 将 `imagePullPolicy` 设置为 "Always"。
+将 `image` 设置为 nginx:1.16. | 将 `image` 设置为 `nginx:1.16`。
+将 `replicas` 字段值设置为 2. | 将 `replicas` 字段值设置为 `2`.
+{{< /table >}}
+
+
+## 代码段格式
+
+### 不要包含命令行提示符
+
+{{< table caption = "命令行提示符约定" >}}
+可以 | 不可以
+:--| :-----
+kubectl get pods | $ kubectl get pods
+{{< /table >}}
+
+
+### 将命令和输出分开
+
+例如:
+
+验证 Pod 已经在你所选的节点上运行:
+
+ kubectl get pods --output=wide
+
+输出类似于:
+
+ NAME READY STATUS RESTARTS AGE IP NODE
+ nginx 1/1 Running 0 13s 10.200.0.4 worker0
+
+
+### 为 Kubernetes 示例给出版本
+
+代码示例或者配置示例如果包含版本信息,应该与对应的文字描述一致。
+
+如果所给的信息是特定于具体版本的,需要在
+[任务模版](/zh/docs/contribute/style/page-content-types/#task)
+或[教程模版](/zh/docs/contribute/style/page-content-types/#tutorial)
+的 `prerequisites` 小节定义 Kubernetes 版本。
+页面保存之后,`prerequisites` 小节会显示为 **开始之前**。
+
+如果要为任务或教程页面指定 Kubernetes 版本,可以在文件的前言部分包含
+`min-kubernetes-server-version` 信息。
+
+
+如果示例 YAML 是一个独立文件,找到并审查包含该文件的主题页面。
+确认使用该独立 YAML 文件的主题都定义了合适的版本信息。
+如果独立的 YAML 文件没有在任何主题中引用,可以考虑删除该文件,
+而不是继续更新它。
+
+例如,如果你在编写一个教程,与 Kubernetes 1.8 版本相关。那么你的 Markdown
+文件的文件头应该开始起来像这样:
+
+```yaml
+---
+title: <教程标题>
+min-kubernetes-server-version: v1.8
+---
+```
+
+
+在代码和配置示例中,不要包含其他版本的注释信息。
+尤其要小心不要在示例中包含不正确的注释信息,例如:
+
+```yaml
+apiVersion: v1 # 早期版本使用...
+kind: Pod
+...
+```
+
+## Kubernetes.io 术语列表
+
+以下特定于 Kubernetes 的术语和词汇在使用时要保持一致性。
+
+{{< table caption = "Kubernetes.io 词汇表" >}}
+术语 | 用法
+:--- | :----
+Kubernetes | Kubernetes 的首字母要保持大写。
+Docker | Docker 的首字母要保持大写。
+SIG Docs | SIG Docs 是正确拼写形式,不要用 SIG-DOCS 或其他变体。
+On-premises | On-premises 或 On-prem 而不是 On-premise 或其他变体。
+{{< /table >}}
+
+
+
+## 短代码(Shortcodes) {#shortcodes}
+
+Hugo [短代码(Shortcodes)](https://gohugo.io/content-management/shortcodes)
+有助于创建比较漂亮的展示效果。我们的文档支持三个不同的这类短代码。
+**注意** `{{* note */>}}`、**小心** `{{* caution */>}}` 和 **警告** `{{* warning */>}}`。
+
+1. 将要突出显示的文字用短代码的开始和结束形式包围。
+2. 使用下面的语法来应用某种样式:
+
+ ```
+ {{* note */>}}
+ 不需要前缀;短代码会自动添加前缀(注意:、小心:等)
+ {{* /note */>}}
+ ```
+
+输出的样子是:
+
+{{< note >}}
+你所选择的标记决定了文字的前缀。
+{{< /note >}}
+
+
+### 注释(Note) {#note}
+
+使用短代码 `{{* note */>}}` 来突出显示某种提示或者有助于读者的信息。
+
+例如:
+
+```
+{{* note */>}}
+在这类短代码中仍然 _可以_ 使用 Markdown 语法。
+{{* /note */>}}
+```
+
+输出为:
+
+{{< note >}}
+在这类短代码中仍然 _可以_ 使用 Markdown 语法。
+{{< /note >}}
+
+
+你可以在列表中使用 `{{* note */>}}`:
+
+```
+1. 在列表中使用 note 短代码
+
+1. 带嵌套 note 的第二个条目
+
+ {{* note */>}}
+ 警告、小心和注意短代码可以嵌套在列表中,但是要缩进四个空格。
+ 参见[常见短代码问题](#common-shortcode-issues)。
+ {{* /note */>}}
+
+1. 列表中第三个条目
+
+1. 列表中第四个条目
+```
+
+
+其输出为:
+
+1. 在列表中使用 note 短代码
+
+1. 带嵌套 note 的第二个条目
+
+ {{< note >}}
+ 警告、小心和注意短代码可以嵌套在列表中,但是要缩进四个空格。
+ 参见[常见短代码问题](#common-shortcode-issues)。
+ {{< /note >}}
+
+1. 列表中第三个条目
+
+1. 列表中第四个条目
+
+
+### 小心(Caution) {#caution}
+
+使用 `{{* caution */>}}` 短代码来引起读者对某段信息的重视,以避免遇到问题。
+
+例如:
+
+```
+{{* caution */>}}
+此短代码样式仅对标记之上的一行起作用。
+{{* /caution */>}}
+```
+
+其输出为:
+
+{{< caution >}}
+此短代码样式仅对标记之上的一行起作用。
+{{< /caution >}}
+
+
+### 警告(Warning) {#warning}
+
+使用 `{{* warning */>}}` 来表明危险或者必须要重视的一则信息。
+
+例如:
+
+```
+{{* warning */>}}
+注意事项
+{{* /warning */>}}
+```
+
+其输出为:
+
+{{< warning >}}
+注意事项
+{{< /warning >}}
+
+
+### Katacoda 嵌套现场环境
+
+此按钮允许用户使用 [Katacoda 终端](https://www.katacoda.com/embed/panel)
+在其浏览器中运行 Minikube。该环境降低了用户对 Minikube 的入门难度,
+只需要一次鼠标点击即可完成,而不需要完全经历 Minikube 和 kubectl 的安装过程。
+
+嵌套现场环境配置为运行 `minikube start`,允许用户在文档所在的窗口完成教程。
+
+{{< caution >}}
+会话限制为 15 分钟。
+{{< /caution >}}
+
+例如:
+
+```
+{{* kat-button */>}}
+```
+
+其输出为:
+
+{{< kat-button >}}
+
+## 常见的短代码问题 {#common-shortcode-issues}
+
+### 编号列表
+
+短代码会打乱编号列表的编号,除非你在信息和标志之前都缩进四个空格。
+
+例如:
+
+```
+1. 预热到 350˚F
+1. 准备好面糊,倒入烘烤盘
+ {{* note */>}}给盘子抹上油可以达到最佳效果。{{* /note */>}}
+1. 烘烤 20 到 25 分钟,或者直到满意为止。
+```
+
+其输出结果为:
+
+1. 预热到 350˚F
+1. 准备好面糊,倒入烘烤盘
+ {{< note >}}给盘子抹上油可以达到最佳效果。{{< /note >}}
+1. 烘烤 20 到 25 分钟,或者直到满意为止。
+
+
+### Include 语句
+
+如果短代码出现在 include 语境中,会导致网站无法构建。
+你必须将他们插入到上级文档中,分别将开始标记和结束标记插入到 include 语句之前和之后。
+例如:
+
+```
+{{* note */>}}
+{{* include "task-tutorial-prereqs.md" */>}}
+{{* /note */>}}
+```
+
+
+## Markdown 元素 {#markdown-elements}
+
+### 换行 {#line-breaks}
+
+使用单一换行符来隔离块级内容,例如标题、列表、图片、代码块以及其他元素。
+这里的例外是二级标题,必须有两个换行符。
+二级标题紧随一级标题(或标题),中间没有段落或文字。
+
+两行的留白有助于在代码编辑器中查看整个内容的结构组织。
+
+
+### 标题 {#headings}
+
+访问文档的读者可能会使用屏幕抓取程序或者其他辅助技术。
+[屏幕抓取器](https://en.wikipedia.org/wiki/Screen_reader)是一种线性输出设备,
+它们每次输出页面上的一个条目。
+如果页面上内容过多,你可以使用标题来为页面组织结构。
+页面的良好结构对所有读者都有帮助,使得他们更容易浏览或者过滤感兴趣的内容。
+
+{{< table caption = "标题约定" >}}
+可以 | 不可以
+:--| :-----
+更新页面或博客在前言部分中的标题 | 使用一级标题。因为 Hugo 会自动将页面前言部分的标题转化为一级标题。
+使用编号的标题以便内容组织有一个更有意义的结构。| 使用四级到六级标题,除非非常有必要这样。如果你要编写的内容有非常多细节,可以尝试拆分成多个不同页面。
+在非博客内容页面中使用井号(`#`)| 使用下划线 `---` 或 `===` 来标记一级标题。
+使用正常大小写来标示标题。例如:**Extend kubectl with plugins** | 使用首字母大写来标示标题。例如:**Extend Kubectl With Plugins**
+{{< /table >}}
+
+
+### 段落 {#paragraphs}
+
+{{< table caption = "段落约定" >}}
+可以 | 不可以
+:--| :-----
+尝试不要让段落超出 6 句话。 | 用空格来缩进第一段。例如,⋅⋅⋅段落前面的三个空格会将其缩进。
+使用三个连字符(`---`)来创建水平线。使用水平线来分隔段落内容。例如,在故事中切换场景或者在上下文中切换主题。 | 使用水平线来装饰页面。
+{{< /table >}}
+
+
+### 链接 {#links}
+
+{{< table caption = "链接约定" >}}
+可以 | 不可以
+:--| :-----
+插入超级链接时给出它们所链接到的目标内容的上下文。例如:你的机器上某些端口处于开放状态。参见检查所需端口了解更详细信息。| 使用有二义性的术语,如“点击这里”。例如:你的机器上某些端口处于打开状态。参见这里了解详细信息。
+编写 Markdown 风格的链接:`[链接文本](URL)`。例如:`[Hugo 短代码](/zh/docs/contribute/style/hugo-shortcodes/#table-captions)`,输出是[Hugo 短代码](/zh/docs/contribute/style/hugo-shortcodes/#table-captions). | 编写 HTML 风格的超级链接:`访问我们的教程!`,或者创建会打开新 Tab 页或新窗口的链接。例如:`[网站示例](https://example.com){target="_blank"}`。
+{{< /table >}}
+
+
+### 列表 {#lists}
+
+将一组相互关联的内容组织到一个列表中,以便表达这些条目彼此之间有先后顺序或者某种相互关联关系。
+当屏幕抓取器遇到列表时,无论该列表是否有序,它会告知用户存在一组枚举的条目。
+用户可以使用箭头键来上下移动,浏览列表中条目。
+网站导航链接也可以标记成列表条目,因为说到底他们也是一组相互关联的链接而已。
+
+ - 如果列表中一个或者多个条目是完整的句子,则在每个条目末尾添加句号。
+ 出于一致性考虑,一般要么所有条目要么没有条目是完整句子。
+
+ {{< note >}} 编号列表如果是不完整的介绍性句子的一部分,可以全部用小写字母,并按照
+ 每个条目都是句子的一部分来看待和处理。{{< /note >}}
+
+
+ - 在编号列表中,使用数字一(`1.`)
+
+ - 对非排序列表,使用加号(`+`)、星号(`*`)、或者减号(`-`)
+
+ - 在每个列表之后留一个空行
+
+ - 对于嵌套的列表,相对缩进四个空格(例如,⋅⋅⋅⋅)。
+
+ - 列表条目可能包含多个段落。每个后续段落都要缩进或者四个空格或者一个制表符。
+
+
+### 表格 {#tables}
+
+数据表格的语义用途是呈现表格化的数据。
+用户可以快速浏览表格,但屏幕抓取器需要逐行地处理数据。
+表格标题可以用来给数据表提供一个描述性的标题。
+辅助技术使用 HTML 表格标题元素来在页面结构中辨识表格内容。
+
+- 请 [Hugo 短代码](/zh/docs/contribute/style/hugo-shortcodes/#table-captions)
+ 为表格添加标题。
+
+
+## 内容最佳实践 {#content-best-practices}
+
+本节包含一些建议的最佳实践,用来开发清晰、明确一致的文档内容。
+
+### 使用现在时态
+
+{{< table caption = "使用现在时态" >}}
+可以 | 不可以
+:--| :-----
+此命令启动代理。| 此命令将启动一个代理。
+{{< /table >}}
+
+例外:如果需要使用过去时或将来时来表达正确含义时,是可以使用的。
+
+
+### 使用主动语态
+
+{{< table caption = "使用主动语态" >}}
+可以 | 不可以
+:--| :-----
+你可以使用浏览器来浏览 API。| API 可以被使用浏览器来浏览。
+YAML 文件给出副本个数。 | 副本个数是在 YAML 文件中给出的。
+{{< /table >}}
+
+例外:如果主动语态会导致句子很难构造时,可以使用被动语态。
+
+
+### 使用简单直接的语言
+
+使用简单直接的语言。避免不必要的短语,例如说“请”。
+
+{{< table caption = "使用简单直接语言" >}}
+可以 | 不可以
+:--| :-----
+要创建 ReplicaSet,... | 如果你想要创建 ReplicaSet,...
+参看配置文件。 | 请自行查看配置文件。
+查看 Pods。| 使用下面的命令,我们将会看到 Pods。
+{{< /table >}}
+
+
+### 将读者称为“你”
+
+{{< table caption = "将读者称为“你”" >}}
+可以 | 不可以
+:--| :-----
+你可以通过 ... 创建一个 Deployment。 | 通过...我们将创建一个 Deployment。
+在前面的输出中,你可以看到... | 在前面的输出中,我们可以看到...
+{{< /table >}}
+
+
+### 避免拉丁短语
+
+尽可能使用英语而不是拉丁语缩写。
+
+{{< table caption = "避免拉丁语短语" >}}
+可以 | 不可以
+:--| :-----
+例如,... | e.g., ...
+也就是说,...| i.e., ...
+{{< /table >}}
+
+例外:使用 etc. 表示等等。
+
+
+## 应避免的模式
+
+### 避免使用“我们”
+
+在句子中使用“我们”会让人感到困惑,因为读者可能不知道这里的
+“我们”指的是谁。
+
+{{< table caption = "要避免的模式" >}}
+可以 | 不可以
+:--| :-----
+版本 1.4 包含了 ... | 在 1.4 版本中,我们添加了 ...
+Kubernetes 为 ... 提供了一项新功能。 | 我们提供了一项新功能...
+本页面教你如何使用 Pods。| 在本页中,我们将会学到如何使用 Pods。
+{{< /table >}}
+
+
+### 避免使用俚语或行话
+
+对某些读者而言,英语是其外语。
+避免使用一些俚语或行话有助于他们更方便的理解内容。
+
+{{< table caption = "避免使用俚语或行话" >}}
+可以 | 不可以
+:--| :-----
+Internally, ... | Under the hood, ...
+Create a new cluster. | Turn up a new cluster.
+{{< /table >}}
+
+
+### 避免关于将来的陈述
+
+要避免对将来作出承诺或暗示。如果你需要讨论的是 Alpha 功能特性,可以将相关文字
+放在一个单独的标题下,标示为 alpha 版本信息。
+
+### 避免使用很快就会过时的表达
+
+避免使用一些很快就会过时的陈述,例如“目前”、“新的”。
+今天而言是新的功能,过了几个月之后就不再是新的了。
+
+{{< table caption = "避免使用很快过时的表达" >}}
+可以 | 不可以
+:--| :-----
+在版本 1.4 中,... | 在当前版本中,...
+联邦功能特性提供 ... | 新的联邦功能特性提供 ...
+{{< /table >}}
+
+## {{% heading "whatsnext" %}}
+
+* 了解[编写新主题](/zh/docs/contribute/style/write-new-topic/).
+* 了解[页面内容类型](/zh/docs/contribute/style/page-content-types/).
+* 了解[发起 PR](/zh/docs/contribute/new-content/open-a-pr/).
diff --git a/content/zh/docs/contribute/style/write-new-topic.md b/content/zh/docs/contribute/style/write-new-topic.md
index 671b1108810..4bb8f812543 100644
--- a/content/zh/docs/contribute/style/write-new-topic.md
+++ b/content/zh/docs/contribute/style/write-new-topic.md
@@ -3,13 +3,10 @@ title: 撰写新主题
content_type: task
weight: 20
---
-
@@ -18,30 +15,24 @@ This page shows how to create a new topic for the Kubernetes docs.
-->
本页面展示如何为 Kubernetes 文档库创建新主题。
-
## {{% heading "prerequisites" %}}
-
-如[开始贡献](/docs/contribute/start/)中所述,创建 Kubernetes 文档库的分支。
-
+如[发起 PR](/zh/docs/contribute/new-content/open-a-pr/)中所述,创建 Kubernetes 文档库的派生副本。
-## 选择页面类型
-
-
+## 选择页面类型
-当你准备写一个新的主题时,考虑一下最适合你的内容的页面类型:
+当你准备编写一个新的主题时,考虑一下最适合你的内容的页面类型:
-
-{{< table caption = "选择页面类型的准则" >}}
+{{< table caption = "选择页面类型的说明" >}}
类型 | 描述
:--- | :----------
-概念 | 每个概念页面负责解释 Kubernetes 的某方面。例如,概念页面可以描述 Kubernetes Deployment 对象,并解释当部署、扩展和更新时,它作为应用程序所扮演的角色。一般来说,概念页面不包括步骤序列,而是提供任务或教程的链接。一个概念主题的示例,请参见 节点。
-任务 | 任务页面展示了如何完成单个任务。这样做的目的是给读者提供一系列的步骤,让他们在阅读时可以实际执行。任务页面可长可短,前提是它始终围绕着某个主题。在任务页面中,可以将简短的解释与要执行的步骤混合在一起。如果需要提供较长的解释,则应在概念主题中进行。相关联的任务和概念主题应该相互链接。一个简短的任务页面的实例,请参见 配置一个使用卷进行存储的 Pod。一个较长的任务页面的实例,请参见 配置活动性和就绪性探针。
-教程 | 教程页面展示如何实现某个目标,该目标将几个 Kubernetes 特性联系在一起。教程可能提供一些步骤序列,读者可以在阅读页面时实际执行这些步骤。或者它可以提供相关代码片段的解释。例如,教程可以提供代码示例的讲解。教程可以包括对 Kubernetes 几个关联特性的简要解释,但应该链接到相关概念主题,以便深入解释各个特性。
+概念(Concept) | 概念页面负责解释 Kubernetes 的某方面。例如,概念页面可以描述 Kubernetes Deployment 对象,并解释当部署、扩展和更新时,它作为应用程序所扮演的角色。一般来说,概念页面不包括步骤序列,而是提供任务或教程的链接。概念主题的示例可参见 节点。
+任务(Task) | 任务页面展示如何完成特定任务。其目的是给读者提供一系列的步骤,让他们在阅读时可以实际执行。任务页面可长可短,前提是它始终围绕着某个主题展开。在任务页面中,可以将简短的解释与要执行的步骤混合在一起。如果需要提供较长的解释,则应在概念主题中进行。相关联的任务和概念主题应该相互链接。一个简短的任务页面的实例可参见 配置 Pod 使用卷存储。一个较长的任务页面的实例可参见 配置活跃性和就绪性探针。
+教程(Tutorial) | 教程页面展示如何实现某个目标,该目标将若干 Kubernetes 功能特性联系在一起。教程可能提供一些步骤序列,读者可以在阅读页面时实际执行这些步骤。或者它可以提供相关代码片段的解释。例如,教程可以提供代码示例的讲解。教程可以包括对 Kubernetes 几个关联特性的简要解释,但有关更深入的特性解释应该链接到相关概念主题。
{{< /table >}}
-为每个新页面使用模板。每种页面类型都有一个[模板](/docs/contribute/style/page-templates/),这个模板可以在编写主题时使用。使用模板有助于确保给定类型主题之间的一致性。
+为每个新页面选择其[内容类型](/zh/docs/contribute/style/page-content-types/)。
+使用页面类型有助于确保给定类型的各主题之间保持一致。
-## 选择标题和文件名
-
-
+## 选择标题和文件名
-选择一个标题,标题中包含了要通过搜索引擎要查找的关键字。创建一个文件名,使用标题中由连字符分隔的单词。例如,标题为[使用 HTTP 代理访问 Kubernetes API](/docs/tasks/access-kubernetes-api/http-proxy-access-api/) 的主题的文件名为 `http-proxy-access-api.md`。你不需要在文件名中加上 "kubernetes",因为 "kubernetes" 已经在主题的 URL 中了,例如:
+选择一个标题,确保其中包含希望搜索引擎发现的关键字。
+确定文件名时请使用标题中的单词,由连字符分隔。
+例如,标题为[Using an HTTP Proxy to Access Kubernetes API](/zh/docs/tasks/extend-kubernetes/http-proxy-access-api/)
+的主题的文件名为 `http-proxy-access-api.md`。
+你不需要在文件名中加上 "kubernetes",因为 "kubernetes" 已经在主题的 URL 中了,
+例如:
- /docs/tasks/access-kubernetes-api/http-proxy-access-api/
+ /docs/tasks/extend-kubernetes/http-proxy-access-api/
-## 在页面头部添加主题标题
-
-
+## 在页面前言中添加主题标题
-在你的主题中,在[页面头部](https://gohugo.io/content-management/front-matter/)设置一个 `title` 字段。页面头部是位于页面顶部三条虚线之间的 YAML 块。下面是一个例子:
+在你的主题中,在[前言(front-matter)](https://gohugo.io/content-management/front-matter/)
+中设置一个 `title` 字段。
+前言是位于页面顶部三条虚线之间的 YAML 块。下面是一个例子:
-
-
- ---
- title: 使用 HTTP 代理访问 Kubernetes API
- ---
+```
+---
+title: 使用 HTTP 代理访问 Kubernetes API
+---
+```
-## 选择目录
-
-
+## 选择目录
根据页面类型,将新文件放入其中一个子目录中:
@@ -134,31 +122,29 @@ Depending on your page type, put your new file in a subdirectory of one of these
You can put your file in an existing subdirectory, or you can create a new
subdirectory.
-->
-
你可以将文件放在现有的子目录中,也可以创建一个新的子目录。
-## 将主题放在目录中
-
-
+## 将主题放在目录中
-目录是使用文档源的目录结构动态构建的。`/content/en/docs/` 下的顶层目录创建顶层导航,它和子目录在目录中都有条目。
+目录是使用文档源的目录结构动态构建的。
+`/content/en/docs/` 下的顶层目录用于创建顶层导航条目,
+这些目录和它们的子目录在网站目录中都有对应条目。
-
-每个子目录都有一个 `_index.md` 文件,它表示指定子目录内容的主页面。`_index.md` 文件不需要模板。它可以包含有关子目录中主题的概述内容。
+每个子目录都有一个 `_index.md` 文件,它表示的是该子目录内容的主页面。
+`_index.md` 文件不需要模板。它可以包含各子目录中主题的概述内容。
-
-默认情况下,目录中的其他文件按字母顺序排序。这几乎不是最好的顺序。要控制子目录中主题的相对排序,请将页面头部的键 `weight:` 设置为整数。通常我们使用 10 的倍数,添加后续主题时 `weight` 值递增。例如,`weight` 为 `10` 的主题将位于 `weight` 为 `20` 的主题之前。
+默认情况下,目录中的其他文件按字母顺序排序。这一般不是最好的顺序。
+要控制子目录中主题的相对排序,请将页面头部的键 `weight:` 设置为整数值。
+通常我们使用 10 的倍数,添加后续主题时 `weight` 值递增。
+例如,`weight` 为 `10` 的主题将位于 `weight` 为 `20` 的主题之前。
-## 在主题中嵌入代码
-
-
+## 在主题中嵌入代码
-如果你想在主题中嵌入一些代码,可以直接使用标记代码块语法将代码嵌入到文件中。建议用于以下情况(并非详尽列表):
+如果你想在主题中嵌入一些代码,可以直接使用 Markdown 代码块语法将代码嵌入到文件中。
+建议在以下场合(并非详尽列表)使用嵌入代码:
- 代码显示来自命令的输出,例如 `kubectl get deploy mydeployment -o json | jq '.status'`。
-- 代码不够通用,用户无法验证。例如,你可以嵌入 YAML 文件来创建一个依赖于特定 [FlexVolume](/docs/concepts/storage/volumes#flexvolume)实现的 Pod。
-- 该代码是一个不完整的示例,因为它的目的是高亮显示大文件的部分内容。例如,在描述自定义 [PodSecurityPolicy](/docs/tasks/administer-cluster/sysctl-cluster/#podsecuritypolicy)的方法时,出于某些原因,你可以直接在主题文件中提供一个简短的片段。
-- 由于其他原因,该代码不适合用户验证。例如,当使用 `kubectl edit` 命令描述如何将新属性添加到资源时,你可以提供一个仅包含要添加的属性的简短示例。
+- 代码不够通用,用户无法验证。例如,你可以嵌入 YAML 文件来创建一个依赖于特定
+ [FlexVolume](/zh/docs/concepts/storage/volumes#flexvolume) 实现的 Pod。
+- 该代码是一个不完整的示例,因为其目的是突出展现某个大文件中的部分内容。
+ 例如,在描述出于某些原因定制
+ [PodSecurityPolicy](/zh/docs/tasks/administer-cluster/sysctl-cluster/#podsecuritypolicy)
+ 的方法时,你可以在主题文件中直接提供一个短的代码段。
+- 由于某些其他原因,该代码不适合用户验证。
+ 例如,当使用 `kubectl edit` 命令描述如何将新属性添加到资源时,
+ 你可以提供一个仅包含要添加的属性的简短示例。
-## 引用来自其他文件的代码
-
-
+## 引用来自其他文件的代码
-在主题中引用代码的另一种方法是创建一个新的、完整的示例文件(或示例文件组),然后从主题中引用这些示例。当示例是通用的和可重用的,并且你希望读者自己验证时,使用此方法引用示例 YAML 文件。
+在主题中引用代码的另一种方法是创建一个新的、完整的示例文件(或文件组),
+然后在主题中引用这些示例。当示例是通用的和可重用的,并且你希望读者自己验证时,
+使用此方法引用示例 YAML 文件。
+添加新的独立示例文件(如 YAML 文件)时,将代码放在 `/examples/` 的某个子目录中,
+其中 `` 是该主题的语言。在主题文件中使用 `codenew` 短代码:
-添加新的独立示例文件(如 YAML 文件)时,将代码放在 `/examples/` 的某个子目录中,其中 `` 是该主题的语言。在主题文件中使用 `codenew` 短代码:
-
-{{< codenew file="<RELPATH>/my-example-yaml>" >}}
+```none
+{{* codenew file="/my-example-yaml>" */>}}
+```
-`` 是要引用的文件的路径,相对于 `examples` 目录。以下 Hugo 短代码引用了位于 `/content/en/examples/pods/storage/gce-volume.yaml` 的 YAML 文件。
+`` 是要引用的文件的路径,相对于 `examples` 目录。以下 Hugo
+短代码引用了位于 `/content/en/examples/pods/storage/gce-volume.yaml` 的 YAML
+文件。
```none
{{* codenew file="pods/storage/gce-volume.yaml" */>}}
@@ -249,26 +244,23 @@ from interpreting them, use C-style comments directly after the `<` and before
the `>` characters. View the code for this page for an example.
-->
{{< note >}}
-要展示上述示例中的原始 Hugo 短代码并避免 Hugo 对其进行解释,请直接在 `<` 字符之后和 `>` 字符之前使用 C 样式注释。请查看此页面的代码。
+要展示上述示例中的原始 Hugo 短代码并避免 Hugo 对其进行解释,
+请直接在 `<` 字符之后和 `>` 字符之前使用 C 样式注释。请查看此页面的代码。
{{< /note >}}
-## 显示如何从配置文件创建 API 对象
-
-
-如果需要演示如何基于配置文件创建 API 对象,请将配置文件放在 `/examples` 下的某个子目录中。
-
-
+## 显示如何从配置文件创建 API 对象
+
+如果需要演示如何基于配置文件创建 API 对象,请将配置文件放在 `/examples`
+下的某个子目录中。
在主题中展示以下命令:
@@ -283,39 +275,33 @@ Travis CI for the Website automatically runs this test case when PRs are
submitted to ensure all examples pass the tests.
-->
{{< note >}}
-将新的 YAML 文件添加到 `/examples` 目录时,请确保该文件也在 `/examples_test.go` 文件中被引用。当提交拉取请求时,网站的 Travis CI 会自动运行此测试用例,以确保所有示例都通过测试。
+将新的 YAML 文件添加到 `/examples` 目录时,请确保该文件也在
+`/examples_test.go` 文件中被引用。
+当提交拉取请求时,网站的 Travis CI 会自动运行此测试用例,以确保所有示例都通过测试。
{{< /note >}}
-
-有关使用此技术的主题的示例,请参见[运行单实例有状态的应用](/docs/tutorials/stateful-application/run-stateful-application/)。
+有关使用此技术的主题的示例,请参见
+[运行单实例有状态的应用](/zh/docs/tutorials/stateful-application/run-stateful-application/)。
+## 向主题添加图片
-## 向主题添加镜像
+将图片文件放入 `/images` 目录。首选的图片格式是 SVG。
-
-
-将镜像文件放入 `/images` 目录。首选的镜像格式是 SVG。
-
-
-
-
## {{% heading "whatsnext" %}}
-* 学习[使用页面模板](/docs/home/contribute/page-templates/)。
-* 学习[展示你的修改](/docs/home/contribute/stage-documentation-changes/)。
-* 学习[创建一个拉取请求](/docs/home/contribute/create-pull-request/)。
+
+* 了解[使用页面内容类型](/zh/docs/contribute/style/page-content-types/).
+* 了解[创建 PR](/zh/docs/contribute/new-content/open-a-pr/).