• 文档贡献
    • 创建派生库
    • 添加新的内容
      • 语法标准
      • 代码块简码
      • code
        • 示例 code 输入
          • 示例 ‘code’ 显示
    • 块引用
    • 警告
      • note 警告
        • 示例 note 输入
        • 示例 note 输出
        • 示例 note 显示
      • tip 警告
        • 示例 tip 输入
        • 示例 tip 输出
        • 示例 tip 显示
      • warning 警告
        • 示例 warning 输入
        • 示例 warning 输出
        • 示例 warning 显示
    • 参照

    文档贡献

    如何完善 Jenkins X 文档

    创建派生库

    最好在你本地的机器上修改 Jenkins X 文档,检查视觉风格一致。确保你已经在 GitHub 上派生了 jx-docs,并在你的机器上克隆了这个库。更多信息,你可以查看 GitHub 的”派生”文档 或者按照 Jenkins X 开发贡献指导。

    然后,你可以创建一个独立的分支。一定要选择符合内容类型的描述性分支名称。下面的一个示例分支的名称,你可以用于添加一个新的网站用于展示:

    1. git checkout -b jon-doe-showcase-addition

    添加新的内容

    Jenkins X 文档重用 Jenkins X 的骨架特点。在 Jenkins X 文档中所有内容章节都分配了骨架。

    向 Jenkins X 中添加新的内容遵循下面相似的模式,不用考虑内容章节:

    1. hugo new <DOCS-SECTION>/<new-content-lowercase>.md

    语法标准

    Jenkins X 文档中所有的页面,使用典型的三个反引号这样的语法。如果你不想花额外的时间来遵循下面的代码块简码,请使用标准的 GitHub 风格的 markdown。Jenkins X 使用 highlight.js 的一组语言。

    你可选的语言是 xml/html, go/golang, md/markdown/mkd, handlebars, apache, toml, yaml, json, css, asciidoc, ruby, powershell/ps, scss, sh/zsh/bash/git, http/https, 和 javascript/js.

    1. <h1>Hello world!</h1>

    代码块简码

    Jenkins X 文档带有强大的简码,用于增加交互式的代码块。

    通过 code 这个简码, 你必须包括三个反引号和语言声明 。简码包裹这样的设计,可以轻松地添加到遗留文档,如果有必要在 Jenkins X 未来的版本中移除的话也是很容易的。

    code

    code 这个简码你将会在 Jenkins X 中经常使用。code 只能接收一个命名参数: file。模式是:

    1. {{% code file="smart/file/name/with/path.html" download="download.html" copy="true" %}}

    一大堆的编码会出现在这里!

    1. {{% /code %}}

    下面是传递给 code 的参数:

    • file
    • 这是唯一的 必需 参数。 file 是用于风格需要,但同样也扮演了一个重要的角色,它帮助用户建立一个 Jenkins X 目录结构的思维模式。视觉上,这会作为文本显示在代码块的左上角。
    • download
    • 如果忽略,那么在渲染简码时没有任何效果。当添加一个值到 download,它会被当作文件名来作为这个代码块来下载。
    • copy
    • 拷贝按钮会自动添加到所有 code 简码。如果你想保持文件名和 code 的风格,但不想要渲染来拷贝代码(例如:在教程中的“不得做”的片段),使用 copy="false"

    示例 code 输入

    这个 HTML 示例代码块告诉 Jenkins X 用户如下信息:

    • 这个文件 layouts/_default 中,layouts/_default/single.html 也就是 file 的值。
    • 这个片段是完全可以下载,并是在 Jenkins X 工程里实现的,也就是 download="single.html"
    1. {{< code file="layouts/_default/single.html" download="single.html" >}}
    2. {{ define "main" }}
    3. <main>
    4. <article>
    5. <header>
    6. <h1>{{.Title}}</h1>
    7. {{with .Params.subtitle}}
    8. <span>{{.}}</span>
    9. </header>
    10. <div>
    11. {{.Content}}
    12. </div>
    13. <aside>
    14. {{.TableOfContents}}
    15. </aside>
    16. </article>
    17. </main>
    18. {{ end }}
    19. {{< /code >}}
    示例 ‘code’ 显示

    这个示例的输出将会如下展示到 Jenkins X 文档中:

    layouts/_default/single.html

    1. {{ define "main" }}
    2. <main>
    3. <article>
    4. <header>
    5. <h1>{{.Title}}</h1>
    6. {{with .Params.subtitle}}
    7. <span>{{.}}</span>
    8. </header>
    9. <div>
    10. {{.Content}}
    11. </div>
    12. <aside>
    13. {{.TableOfContents}}
    14. </aside>
    15. </article>
    16. </main>
    17. {{ end }}

    块引用

    块引用可以通过 典型的 Markdown 块引用语法 添加到 Jenkins X 文档中:

    1. > Without the threat of punishment, there is no joy in flight.

    上面的块引用会在 Jenkins X 文档中渲染为:

    Without the threat of punishment, there is no joy in flight.

    然而,你可以简单快速地添加一个 <cite> 元素(通过 JavaScript 在客户端添加),通过在连字符两边添加空格来区分你的块引用和参考。

    1. > Without the threat of punishment, there is no joy in flight. - [Kobo Abe](https://en.wikipedia.org/wiki/Kobo_Abe)

    这样会在 Jenkins X 文档中渲染为:

    Without the threat of punishment, there is no joy in flight. - Kobo Abe

    Previous versions of Jenkins X documentation used blockquotes to draw attention to text. This is not the intended semantic use of <blockquote>. Use blockquotes when quoting. To note or warn your user of specific information, use the admonition shortcodes that follow.

    警告

    警告 在技术性文档中是常见的。最常见的是在 reStructuredText Directives。从 SourceForge 的文档中摘录:

    Admonitions are specially marked “topics” that can appear anywhere an ordinary body element can. They contain arbitrary body elements. Typically, an admonition is rendered as an offset block in a document, sometimes outlined or shaded, with a title matching the admonition type. - SourceForge

    Jenkins X 文档包含三种警告:note, tip, and warning

    note 警告

    当你想要巧妙地提示信息是,可以使用简码 notenote 不像 warning 那样会打断内容。

    示例 note 输入

    note-with-heading.md

    1. {{% note %}}
    2. Here is a piece of information I would like to draw your **attention** to.
    3. {{% /note %}}

    示例 note 输出

    note-with-heading.html

    1. <aside class="admonition note">
    2. <div class="note-icon">
    3. </div>
    4. <div class="admonition-content"><p>Here is a piece of information I would like to draw your <strong>attention</strong> to.</p>
    5. </div>
    6. </aside>

    示例 note 显示

    Here is a piece of information I would like to draw your attention to.

    tip 警告

    当你想要给读者建议时,使用简码 tiptip, 有点像 note,不像 warning 那样会打断内容。

    示例 tip 输入

    using-tip.md

    1. {{% tip %}}
    2. Here's a bit of advice to improve your productivity with Jenkins X.
    3. {{% /tip %}}

    示例 tip 输出

    tip-output.html

    1. <aside class="admonition tip">
    2. <div class="tip-icon">
    3. </div>
    4. <div class="admonition-content"><p>Here&rsquo;s a bit of advice to improve your productivity with Jenkins X.</p>
    5. </div>
    6. </aside>

    示例 tip 显示

    Here’s a bit of advice to improve your productivity with Jenkins X.

    warning 警告

    当你想要使用户引起注意时,使用 warning 简码。一个好的例子就是,当在 Jenkins X 版本中会引起阻断变更时,已知问题,或者模板“陷阱”。

    示例 warning 输入

    warning-admonition-input.md

    1. {{% warning %}}
    2. This is a warning, which should be reserved for *important* information like breaking changes.
    3. {{% /warning %}}

    示例 warning 输出

    warning-admonition-output.html

    1. <aside class="admonition warning">
    2. <div class="admonition-icon">
    3. </div>
    4. <div class="admonition-content"><p>This is a warning, which should be reserved for <em>important</em> information like breaking changes.</p>
    5. </div>
    6. </aside>

    示例 warning 显示

    这是一个警告,用于 重要的 信息,例如破坏性改变。

    和 给 Jenkins X 贡献开发相似,当你想要给 Jenkins X 文档贡献时 Jenkins X 团队期望你创建一个独立的分支(派生)。

    参照

    • 给 API 文档做贡献