Writing style
Rules for pencilmark's documentation. Each names its source. Code has its own page: code style.
Get the reader to the answer
Most readers scan: in Nielsen Norman's tests 79% scanned a new page and 16% read it word by word (NN/g).
- Answer first. The first sentence of a page, section or paragraph says the thing; detail follows (inverted pyramid).
- One idea per paragraph, at most 4 sentences. Five or six usually means two ideas (Google).
- Short sentences. Split a sentence that needs a second comma-clause to make sense.
- Headings that name the content, in sentence case, no skipped levels; a section that runs past a screen gets subheadings (Google).
- Half the words. Cut until removing more would lose information (NN/g).
- One page, one job: tutorial, how-to, reference or explanation, never mixed (Diátaxis). The README routes; the philosophy page states aims; measurements go to the benchmark and the known issues.
Plain words
Wikipedia's editors list the habits that make text read as machine-written (Signs of AI writing). They are also just bad writing:
- Say "is" and "has", not "serves as", "boasts", "stands as".
- No inflated words: pivotal, robust, seamless, comprehensive, crucial, leverage, delve, landscape.
- No contrast against a claim nobody made ("not just X, but Y", "rather than X").
- Lists as long as the content, not padded to three.
- Bold only what a scanner must not miss, at most once per paragraph. No emoji, no "Label: text" bullets by default.
- No closing summaries, no hedging filler ("it is worth noting", "in summary").
- The same word for the same thing every time; terms are defined once in the glossary (Google).
- Active voice, present tense, "you" (Google). Full names ("Andrew Stuart"); British spelling; no "e.g." / "i.e.".
Tables, figures, examples
- A table needs rows and columns that both mean something. Two columns of label and value is a list. Long text goes under the table or in a collapsible row, not in a cell.
- Figures are optional and collapsible: every figure has alt text, the same facts are in the text, colours pass WCAG contrast (4.5:1 text, 3:1 graphics) and are never the only distinction (WCAG 2.2).
- Formulas in KaTeX, each followed by one line saying what the symbols are (Docusaurus math).
- Every example runs: Python examples are tested, JSON examples validate against their schema, the build fails on a broken link (Docusaurus config).
- Minimal samples; command and output in separate blocks (Google).
- Link text names the target, never "here" (Google).
Project files
- CHANGELOG in the Keep a Changelog spirit; semantic versions;
a change to any card value is a minor version with a changelog line; format changes bump
format_version. - Formats stay simple: remove a field rather than deprecate it until someone relies on it.
- Commits: imperative subject, a body that says why, no generated attribution lines.