跳至内容

贡献指南

大写字母的关键字遵循 RFC-2119 中指定的含义。

问题

虽然不太可能,但在提交自己的问题之前,请先搜索现有的问题,并查找是否存在类似的问题。

拉取请求

请尝试将相关的更改分组到单个拉取请求中,并在必要时创建额外的请求。这将使审查和合并变得更加容易和快捷。

标记样式指南

该项目使用 Markdown 作为其标记语言。

该项目中并非所有文件都遵循这些指南,因为我们在编写完大部分指南后才制定了这些指南。如果您发现任何样式不一致,请提交报告或发送拉取请求以修复它们。

当更改文件以使用语义换行符时,请在单独的提交中应用此更改,并且不要在同一提交中执行任何其他内容更改。

Markdown 解析器

标记解析器是 markdown-it,它可以通过插件扩展,并且还附带了一些 Vitepress 的自定义扩展。您可以在 docs/.vitepress/config.ts 中的 markdown 选项中找到我们使用的插件列表。

行宽

行长度不得超过 80 个字符,表格、URL 和代码块除外。

使用 语义换行符 拆分文本。使用这些换行符,您几乎永远不会在一行上接近 80 个字符。即使您确实接近,您也应该能够轻松地在合适的位置添加换行符。此文件可以作为示例。

空白

块应该缩进 2 个空格,但首选视觉缩进。内联代码应使用代码围栏,尤其是在需要语法高亮时。

示例

md
- This sentence can be split
  using a semantic linefeed,
  as mentioned earlier.

1. The very same thing applies to this line,
   but it uses a three-spaces indent instead.

1.  You could also indent this block
    by 4 spaces.

应该避免尾随空格。使用 <br> 标签插入手动换行符,而不是使用两个尾随空格。

标题必须以两个空行开头,除非它们直接跟随另一个标题或文件的开头。

枚举和代码块应该用空行包围。

枚举

枚举列表必须与其周围文本位于相同的缩进级别。

  • 无序列表应该使用以下层次结构

    md
    - first level
      * second level
  • 有序列表应该尽可能使用 1. 作为所有项目的编号

    md
    1. This is the first item,
       but it may change places
       in the future.
    1. By always using ``1.``,
       we can swap lines around
       without worrying about numbering.

超链接不应该内联,而是使用延迟定义。链接文本不应该为“这里”。相反,描述目标页面涵盖的内容、表示的内容或可以概括的内容,并将引用添加到描述性文本中。如果链接文本本身不言自明,请使用描述性的简写。

超链接定义可以放在段落之后、部分末尾或文档末尾,无论哪种方式看起来更合适。

示例

md
This is some normal text.
Information on "text"
can be found [on Wikipedia][wiki-text].
<!-- and not "here" -->

[wiki-text]: https://en.wikipedia.org/wiki/Text

对于相对链接,请遵循 Vitepress 的建议,使用其 ` .md` 扩展名引用文件。在指南和参考部分之间链接时,请使用绝对路径。如果相对 URL 很短,您可以直接在文本中指定目标 URL。

标题

页面的标题在 YAML 前置 matter 中指定,并插入到渲染后的页面中作为一级标题。文件中的任何后续标题 **不得** 为二级标题或更低级别标题(其中更低级别指的是重要性,而不是数字值)。

每个标题 **应该** 在比它高一级别的标题下。

因此,第一个 Markdown 标题为 以下标题样式 **必须** 按显示顺序使用,出于技术原因(例如,h3 必须在 h2 或更高级别之后,**而不是** 在 h1 之后)。

示例

md
---
title: This will be heading 1
---

## Heading 2

### Heading 3

With text


### And proper spacing

## New Heading 2

### This SHOULD NOT be a h4

文件路径

文件路径(相对或绝对)**必须** 这样指定

`Packages/SomePackage/somefile.ext`

所有路径**必须** 使用正斜杠编写,除非它们是在 Windows 中使用。

文件扩展名(当引用文件类型时)**必须** 这样编写

`.ext`

快捷键

所有键绑定**应该** 使用我们自定义的 Key 组件编写。`k` 属性中的 Key 和弦使用与 Sublime Text 键映射相同的格式。您可以使用 `command` 和 `option` 用于 macOS 特定的绑定。

html
<Key k="ctrl+t" /> <!-- single-chord -->
<Key k="ctrl+k, ctrl+k" /> <!-- multi-choord binding  -->
<Key k="option+command+up" /> <!-- uses macOS-specific modifiers -->

除非另有说明,所有键绑定**必须** 引用 Windows 的默认设置。

Sublime Text 特定

  • 命令面板中的命令标题**必须** 如下编写

    md
    **Preferences: Settings - User**
  • 菜单项标题(默认情况下来自主菜单)**必须** 如下编写(注意 `→`)

    md
    *Preferences → Package Settings → ...*

注释

以下注释“关键字”可以在注释的开头使用,以标记要审查的部分

  • XXX
  • TODO

示例

md
<!-- TODO add some screenshots -->