forked from tldr-pages/tldr
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Extract STYLEGUIDE.md from CONTRIBUTING.md
- Loading branch information
Showing
2 changed files
with
68 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
# 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. | ||
- 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) | ||
|
||
## 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. | ||
3. For any reference to paths to files or folders, 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 folder, use `{{path/to/file_or_folder}}` | ||
4. Follow the `{{path/to/<placeholder>}}` convention for all path-related commands, except when the | ||
file location is implicit. | ||
5. 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 like `wc -l {{file}}`, using `{{file}}` (without extension) is sufficient. | ||
6. If the example is clearer with an actual value rather than a generic placeholder, use the actual value. | ||
For example, use `iostat {{2}}` rather than `iostat {{interval_in_secs}}`. | ||
|
||
In general, tokens should make it as intuitive as possible | ||
to figure out how to use the command and fill it in with values. |