2020-04-19 13:14:52 +03:00
|
|
|
# Style guide
|
2017-10-28 13:24:15 +03:00
|
|
|
|
2020-05-11 02:23:54 +03:00
|
|
|
This page lists specific formatting instructions for `tldr` pages.
|
2017-10-28 13:24:15 +03:00
|
|
|
|
|
|
|
## 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.
|
2019-05-30 23:07:00 +03:00
|
|
|
> More information: <https://example.com>.
|
2017-10-28 13:24:15 +03:00
|
|
|
|
|
|
|
- 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`](https://github.com/tldr-pages/tldr/blob/master/pages/common/tldrl.md)
|
|
|
|
|
2020-05-11 02:23:54 +03:00
|
|
|
If you're using the Node.js client of tldr-pages, you can preview a page locally using the `-f` flag (aka `--render`):
|
2018-01-30 09:15:22 +03:00
|
|
|
|
|
|
|
```
|
|
|
|
tldr -f {{page.md}}
|
|
|
|
```
|
|
|
|
|
2017-10-28 13:24:15 +03:00
|
|
|
## 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:
|
|
|
|
|
|
|
|
1. Use short but descriptive tokens,
|
|
|
|
ex. `{{source_file}}` or `{{wallet.txt}}`.
|
|
|
|
2. Use [`snake_case`](https://en.wikipedia.org/wiki/Snake_case) for multi-word tokens.
|
2020-05-22 15:31:24 +03:00
|
|
|
3. Use `{{filename}}` rather than `{{file_name}}`.
|
|
|
|
4. For any reference to paths to files or directories, use the format `{{path/to/<placeholder>}}`.
|
2017-10-28 13:24:15 +03:00
|
|
|
For example, `ln -s {{path/to/file}} {{path/to/symlink}}`.
|
2019-02-08 03:24:02 +03:00
|
|
|
In case of a possible reference both to a file or a directory, use `{{path/to/file_or_directory}}`
|
2020-05-22 15:31:24 +03:00
|
|
|
5. Follow the `{{path/to/<placeholder>}}` convention for all path-related commands, except when the
|
2017-10-28 13:24:15 +03:00
|
|
|
file location is implicit.
|
2020-05-22 15:31:24 +03:00
|
|
|
6. If a command expects the file to have a particular extension, use it.
|
2017-10-28 13:24:15 +03:00
|
|
|
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 like `wc -l {{file}}`, using `{{file}}` (without extension) is sufficient.
|
2020-05-22 15:31:24 +03:00
|
|
|
7. If the example is clearer with an actual value rather than a generic placeholder, use the actual value.
|
2017-10-28 13:24:15 +03:00
|
|
|
For example, use `iostat {{2}}` rather than `iostat {{interval_in_secs}}`.
|
|
|
|
|
|
|
|
In general, tokens should make it as intuitive as possible
|
2018-01-30 09:15:22 +03:00
|
|
|
to figure out how to use the command and fill it in with values.
|