5.2 KiB
Style guide
This page lists specific formatting instructions for tldr
pages.
Layout
The basic format of each page should match the following template:
# command-name
> Short, snappy description.
> Preferably one line; two are acceptable if necessary.
> More information: <https://example.com>.
- Example description:
`command -opt1 -opt2 -arg1 {{arg_value}}`
- Example description:
`command -opt1 -opt2`
There actually is a linter/formatter that enforces the format above. It is run automatically on every pull request, but you may install it to test your contributions locally before submitting them:
npm install tldr-lint
tldrl -f {{page.md}}
For other ways to use tldrl
, such as linting an entire directory, check out (what else!)
tldr tldrl
Your client may be able to preview a page locally using the --render
flag:
tldr --render {{page.md}}
Token syntax
User-provided values should use the {{token}}
syntax
in order to allow tldr
clients to highlight them.
Keep the following guidelines in mind when choosing tokens:
- Use short but descriptive tokens,
ex.
{{source_file}}
or{{wallet.txt}}
. - Use
snake_case
for multi-word tokens. - Use
{{filename}}
rather than{{file_name}}
. - For any reference to paths to files or directories, use the format
{{path/to/<placeholder>}}
. For example,ln -s {{path/to/file}} {{path/to/symlink}}
. In case of a possible reference both to a file or a directory, use{{path/to/file_or_directory}}
- Follow the
{{path/to/<placeholder>}}
convention for all path-related commands, except when the file location is implicit. - If a command expects the file to have a particular extension, use it.
For example,
unrar x {{compressed.rar}}
. In case a generic extension is needed, use{{.ext}}
, but only if an extension is required. For instance, in find.md's example "Find files by extension" (find {{root_path}} -name '{{*.ext}}'
) using{{*.ext}}
explains the command without being unnecessarily specific; But in a command likewc -l {{file}}
, using{{file}}
(without extension) is sufficient. - If the example is clearer with an actual value rather than a generic placeholder, use the actual value.
For example, use
iostat {{2}}
rather thaniostat {{interval_in_secs}}
. - If a command performs irreversible changes to a file system or to user's devices, then write every example in a way that they cannot be unmindfully copy-pasted by the user.
For example, instead of
ddrescue --force --no-scrape /dev/sda /dev/sdb
writeddrescue --force --no-scrape {{/dev/sdX}} {{/dev/sdY}}
and use the{{/dev/sdXY}}
placeholder for block devices instead of/dev/sda1
.
In general, tokens should make it as intuitive as possible to figure out how to use the command and fill it in with values.
More technical wording on description lines should use the backtick
syntax.
Use backticks on the following:
- Paths, ex.
package.json
,/etc/package.json
. - Extensions, ex.
.dll
. - Commands, ex.
ls
.
Serial Comma
When declaring a list of 3 or more items, use a serial comma, also known as the Oxford comma.
When the serial comma is ommitted, it can create ambiguity.
Delete the Git branches, tags and remotes.
The example above does not use a serial comma, so this could mean one of two things:
- Delete the Git branches named
tags
andremotes
. - Delete all of the following, Git branches, Git tags, and Git remotes.
This can be resolved by inserting a comma before the "and" or "or" in the final element in the list.
Delete the Git branches, tags, and remotes.
Chinese-Specific Rules
When Chinese words, Latin words and Arabic numerals are written in the same sentence, it takes more attention to copywriting.
The following guidelines are applied to Chinese (zh) and traditional Chinese (zh_TW):
- Place one space before/after English words and numbers.
For example, use列出所有 docker 容器
rather than列出所有docker容器
.
For example, use宽度为 50 个字
rather than宽度为50个字
. - Place one space between numbers and units except degrees and percentages.
For example, use容量 50 MB
rather than容量 50MB
.
For instances of degree and percentage, use50°C
and50%
rather than50 °C
and50 %
. - No additional spaces before/after full-width punctuations.
For example, use开启 shell,进入交互模式
rather than开启 shell ,进入交互模式
- Use full-width punctuations except for long Latin clauses.
For example, use嗨,你好。
rather than嗨, 你好.
- Use precise form for technical terms, and do not use unofficial Chinese abbreviations.
For example, use
Facebook
rather thanfacebook
,fb
or脸书
.
In order to maintain readability and normalization, please comply the 5 rules above as much as possible when translating pages into Chinese.
For more information and examples of Chinese-specific rules, check out Chinese Copywriting Guidelines.