This document goes over the standards for writing documentation in English. They'll help ensure that it's clear and consistent.
To make referring to rules easier, they follow this format:
- DOC-EN<rule_number>: <description>
When removing a rule, the number will be reserved to prevent conflicts and moved to the obsolete documentation standards.
Use simple, straightforward language.
- Use "help" instead of "assistance".
- "The system should have numerous pathways to accomplish the same task, without ambiguity" becomes "There should be multiple ways you can do the same task."
Using simple language can help in multiple ways: it can make translation easier, and non-English speakers typically learn simple words first rather than complex ones. Using simple language makes your documentation as widely accessible as possible.
- Issue: No issue
- Pull request: https://github.com/friendly-project/docs/commit/d944b5ce5f6cf90b051f621f71ca70f65c4a9558
Use generic terms instead of specific product names.
- Use "password manager" instead of "Bitwarden"
- If referring to a product or service, use its name.
Product names change a lot, dependencies get updated, and projects get shut down. By making your documentation generic when talking about products outside your control, it's best to be as generic as possible.
- Issue: No issue
- Pull request: https://github.com/friendly-project/docs/commit/d944b5ce5f6cf90b051f621f71ca70f65c4a9558
Organize content with headings
- Use headings to break up content into sections.
- Use a levels for headings (for example, H1 or # for the main heading, H2 or ## for main sections, H3 or ### for subsections, etc.).
Making sure your documentation is structured with headings makes it easier to link to specific sections, skim through to specific information the reader needs, and easier to understand when one sections ends and another starts.
- Issue: No issue
- Pull request: https://github.com/friendly-project/docs/commit/d944b5ce5f6cf90b051f621f71ca70f65c4a9558
Use sentence case for headings and subheadings. Sentence case is when the first letter of the first word is capitalized, and all other words are lowercase (except for proper nouns).
- "THIS IS A HEADING" becomes "This is a heading"
- "This Is A Subheading" becomes "This is a subheading"
Research has found that using mixing uppercase letters into a lowercase title (known as Title case) lead to confusion for people with dyslexia because they found it hard to differentiate lowercase and uppercase letters.
- Issue: No issue
- Pull request: https://github.com/friendly-project/docs/commit/d944b5ce5f6cf90b051f621f71ca70f65c4a9558
Use American English to make documentation accessible to the largest audience.
- Use "color" instead of "colour"
- Use "organize" instead of "organise"
American English is the most widely used form of English worldwide, and is typically the form of English learned by non-English speakers. Using this makes your documentation more approachable for the largest audience possible.
- Issue: No issue
- Pull request: https://github.com/friendly-project/docs/commit/d944b5ce5f6cf90b051f621f71ca70f65c4a9558
Use the Oxford comma, the final comma in a list of three or more items, placed before "and" or "or".
- Use "apples, oranges, and bananas" instead of "apples, oranges and bananas"
- But "apples and bananas" is correct.
The Oxford comma makes comma-separated lists much easier to read by making the separation of the final two items of a list less vague.
- Issue: No issue
- Pull request: https://github.com/friendly-project/docs/commit/d944b5ce5f6cf90b051f621f71ca70f65c4a9558
Use contractions to make text more conversational and easier to read. However, avoid contractions that have double sounds, or when it makes the text vague.
- Use "don't" instead of "do not"
- Use "it's" instead of "it is"
- Don't use "this's" or "there're".
The most readable documentation is typically the one that's easiest to say out loud. By writing in a conversational tone, it's easier for users to read through the steps in their heads.
- Issue: No issue
- Pull request: https://github.com/friendly-project/docs/commit/d944b5ce5f6cf90b051f621f71ca70f65c4a9558
Use inclusive language
- Use "firefighter" instead of "fireman"
- Use "police officer" instead of "policeman"
- Use "they" instead of "he" or "she" when gender is unknown or not needed.
Inclusive language helps to avoid terms that might be biased or insensitive. By using this, it can make documentation more approachable by all people.
- Issue: No issue
- Pull request: https://github.com/friendly-project/docs/commit/d944b5ce5f6cf90b051f621f71ca70f65c4a9558
Avoid the word "may". Use "might" for possibility, and use an alternative phrase for permission.
- "You may be able to complete the task" becomes "You might be able to complete the task".
- "You may not complete the task" becomes "You're not allowed to complete the task".
"May" can mean both permission and possibility, which can cause confusion.
- Issue: No issue
- Pull request: https://github.com/friendly-project/docs/commit/d944b5ce5f6cf90b051f621f71ca70f65c4a9558
Avoid Latin abbreviations like "e.g." and "i.e.". Use full words, different formatting or reword your sentence instead.
- Use "for example" instead of "e.g."
- Use a colon, comma or em-dash instead of "i.e."
- "There's many ways you can do this, e.g.:" becomes "There's many ways you can do this, for example:"
While Latin abbreviations might be common in your form of English or area, they're not universally known. To be as universal in your writing as possible, use alternatives.
- Issue: No issue
- Pull request: https://github.com/friendly-project/docs/commit/cce376f0a70c7ff8931cb32741b281344caa07a9
Avoid double sounds in pairs of words.
- Use "there's" instead of "there are"
- "You can see each file that is stored on the operating system." becomes "You can see every file that's stored on the operating system."
The most readable documentation is typically the one that's easiest to say out loud. By writing in a conversational tone and avoiding difficult pairs of words, it's easier for users to read through the steps in their heads.
- Issue: No issue
- Pull request: https://github.com/friendly-project/docs/commit/cce376f0a70c7ff8931cb32741b281344caa07a9
Write instructions from a user's perspective to make them more relatable and easier to follow.
- Use "you" instead of "the user."
- Use "your" instead of "the user's."
- Don't use "you can" when talking about a system's capabilities.
Technical documentation can often feel daunting to non-technical users. By writing from the user's perspective, readers can feel more empowered to complete the steps in front of them, rather than getting stuck and giving up.
- Issue: No issue
- Pull request: https://github.com/friendly-project/docs/commit/cce376f0a70c7ff8931cb32741b281344caa07a9
Limit minor steps or instructions to a maximum of three. If more steps are needed, consider breaking them into separate major steps.
- Step 1.1 > step 1.2 > step 1.3 > step 1.4 > step 1.5
- Step 2.1 > step 2.2 > step 2.3
becomes
- Step 1.1 > step 1.2 > step 1.3
- Step 2.1 > step 2.2
- Step 3.1 > step 3.2 > step 3.3
Having more than three minor steps can make instructions harder to follow.
Use words for large numbers, such as 1,000,000 or 8,000,000,000.
- "1,000,000" becomes "1 million"
- "8,000,000,000" becomes "8 billion"
- However, numbers meant to be specific, such as 1,234,567 should remain as digits to maintain accuracy.
Numbers above one million are harder to read as digits.
Use words instead of digits for numbers under 10. For 10 and above, use digits.
- "1, 2, 3" is "one, two, three"
- "twelve, thirteen, fourteen" is "12, 13, 14"
Digits below 10 can be misread as letters, such as 1 and I.
Explain acronyms and abbreviations on first use. However, don't do this for common terms used in everyday life.
- "POC" is "point-of-contact (POC)" on first use, then use "POC" after
- Common terms like Graphics Interchange Format (GIF) should just be GIF
While acronyms might be familiar and simple to you, they won't be to a first-time reader.
While these recommendations are not strict rules, following them can help improve the quality and consistency of documentation:
Markdown is a lightweight markup language that makes it easy to create formatted text using a simple text editor.
We recommend using markdownlint, a tool created by David Anson to make your Markdown documentation consistent and easy to read.
When referring to markdownlint rules, use the format "MD<rule_number>". A full list of rules can be found in the markdownlint documentation.