2021-08-21 11:16:47 +01:00
|
|
|
|
# 格式指导
|
|
|
|
|
|
|
|
|
|
当你在为 `tldr` 贡献时,请遵守下面的格式规范。
|
|
|
|
|
|
|
|
|
|
请注意,下面的规范仅适用于中文翻译的 `tldr` 页面。
|
|
|
|
|
|
|
|
|
|
## 排版
|
|
|
|
|
|
|
|
|
|
首先,你的页面应该看起来像这样:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
# 命令名称
|
|
|
|
|
|
|
|
|
|
> 短小精悍的描述。
|
|
|
|
|
> 描述最好只有一行;当然,如果需要,也可以是两行。
|
|
|
|
|
> 更多信息:<https://example.com>.
|
|
|
|
|
|
|
|
|
|
- 命令描述:
|
|
|
|
|
|
|
|
|
|
`命令 -选项1 -选项2 -参数1 {{参数的值}}`
|
|
|
|
|
|
|
|
|
|
- 命令描述:
|
|
|
|
|
|
|
|
|
|
`命令 -选项1 -选项2`
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
当你将自己的贡献提交 pull request 时,一个脚本会自动检查你的贡献是否符合上面的格式。
|
|
|
|
|
|
|
|
|
|
你也可以在提交前在本地测试自己的贡献:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
npm install tldr-lint
|
|
|
|
|
tldrl -f {{page.md}}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
关于 `tldrl` 的更多使用方法,例如检查批量检查一整个目录的格式,[`tldr tldrl`](https://github.com/tldr-pages/tldr/blob/master/pages/common/tldrl.md) 是你的不二去处!
|
|
|
|
|
|
|
|
|
|
如果你用 tldr-pages 的 Node.js 客户端,你可以在命令后加 `-f` (`--render`) 来在本地预览自己的页面:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
tldr --render {{page.md}}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 占位符 (token) 语法
|
|
|
|
|
|
|
|
|
|
当命令涉及用户自己提供的值时,请用 `{{token}}` 语法来使 `tldr` 客户端自动高亮它们:
|
|
|
|
|
|
|
|
|
|
`tar -cf {{目标.tar}} {{文件1}} {{文件2}} {{文件3}}`
|
|
|
|
|
|
|
|
|
|
翻译时,请尽量翻译原文中的西文占位符。下面是命名占位符的规则:
|
|
|
|
|
|
|
|
|
|
1. 占位符需要短小精悍,
|
|
|
|
|
例如 `{{源文件}}` 或者 `{{钱包.txt}}`
|
|
|
|
|
2. 如果占位符是西文,请用 [`snake_case`](https://en.wikipedia.org/wiki/Snake_case) 来分词。
|
|
|
|
|
3. 当占位符涉及文件路径时,请用 `{{目录/子目录/<占位符>}}` 的格式。
|
|
|
|
|
例如:`ln -s {{目录/子目录/源文件}} {{目录/子目录/链接}}`
|
|
|
|
|
如果占位符提到的文件也可能是目录,请用 `{{目录/子目录/文件或目录}}`
|
|
|
|
|
4. 除非文件是特定的,上述 `{{目录/子目录/<占位符>}}` 的文件路径格式应用于所有包含路径的命令。
|
|
|
|
|
5. 如果命令需要的文件扩展名是固定的,请在占位符里加上文件格式。
|
|
|
|
|
例如:`unrar x {{压缩包.rar}}`
|
|
|
|
|
如果文件 **必须** 有一个扩展名,请用 `{{.ext}}` 。
|
|
|
|
|
例如,在 `find {{起始目录}} -name '{{*.ext}}'` 的例子里,
|
|
|
|
|
这样做简单地演示了查找一个特定文件扩展名的方法。
|
|
|
|
|
但是,在 `wc -l {{file}}` 的例子里,用不加扩展名的 `{{file}}` 就足够了。
|
|
|
|
|
6. 如果用实际的值比描述这个占位符更加明了,请举一个值做例子。
|
|
|
|
|
例如:`iostat {{2}}` 比 `iostat {{以秒为单位的间隔}}` 更清晰。
|
|
|
|
|
7. 如果一个命令可能对文件系统或设备造成不可逆的影响,请在示例命令中注意改写,使其不能被盲目复制粘贴运行。
|
|
|
|
|
例如,`ddrescue --force --no-scrape /dev/sda /dev/sdb` 被盲目复制粘贴时可能对系统造成毁灭性的打击;`ddrescue --force --no-scrape {{/dev/sdX}} {{/dev/sdY}}` 则更安全。
|
|
|
|
|
因此,请用 `{{/dev/sdXY}}` 而不是 `{{/dev/sda1}}` 来表示一个 **块设备** 。
|
|
|
|
|
|
|
|
|
|
占位符应该尽可能简单明了,让人一眼就能看出应该替换它的值。
|
|
|
|
|
|
|
|
|
|
在命令描述中,如果出现了技术性的专有名词,请用 `反引号` 括起来:
|
|
|
|
|
|
|
|
|
|
1. 路径,例如 `package.json`,`/etc/package.json`.
|
|
|
|
|
2. 扩展名,例如 `.dll`.
|
|
|
|
|
3. 命令,例如 `ls`.
|
|
|
|
|
|
|
|
|
|
## 中西文混排规则
|
|
|
|
|
|
|
|
|
|
中文、西文、阿拉伯数字写在同一个句子时,需要注意排版。
|
|
|
|
|
|
|
|
|
|
以下规则适用于中文(zh)和繁体中文(zh_TW):
|
|
|
|
|
|
|
|
|
|
1. 在西文单词和数字前后放置一个空格。
|
|
|
|
|
例如:`列出所有 docker 容器`而不是`列出所有docker容器`。
|
|
|
|
|
例如:`宽度为 50 个字`而不是`宽度为50个字`。
|
|
|
|
|
2. 除了度数和百分比,在数字和单位之间留一个空格。
|
|
|
|
|
例如:`容量 50 MB` 而不是`容量 50MB`。
|
|
|
|
|
对于度数和百分比:使用 `50°C` 和 `50%` 而不是 `50 °C` 和 `50 %`.
|
|
|
|
|
3. 不要在全角标点符号前后放置空格。
|
|
|
|
|
例如:`开启 shell,进入交互模式`而不是`开启 shell ,进入交互模式`。
|
2021-08-21 21:27:26 +01:00
|
|
|
|
4. 除了西文长句,一律使用全角标点符号。
|
2021-08-21 11:16:47 +01:00
|
|
|
|
例如:`嗨,你好。`而不是`嗨, 你好.`。
|
|
|
|
|
5. 当最句子最后一个字符是半角时,使用半角标点符号来结束句子。
|
|
|
|
|
例如:`将代码转化为 Python 3.` 而不是`将代码转化为 Python 3。`。
|
|
|
|
|
6. 使用精准的专有名词,不要使用非官方的中文缩写。
|
|
|
|
|
例如:`Facebook` 而非 `facebook`、`fb` 或`脸书`。
|
|
|
|
|
|
|
|
|
|
为保持可读性和一致性,将页面翻译成中文时,请尽可能遵守以上 6 条规则。
|
|
|
|
|
|
2021-08-21 21:27:26 +01:00
|
|
|
|
有关更多中西文混排规则的信息,请参考[《中文文案排版指北》](https://github.com/sparanoid/chinese-copywriting-guidelines)。
|
2021-08-21 11:16:47 +01:00
|
|
|
|
|