|
| 1 | +# Editorial style guide rules |
| 2 | + |
| 3 | +When contributing to Markdown documentation, follow these style guidelines in order of precedence: |
| 4 | + |
| 5 | +1. **Chef-specific style** (this guide) |
| 6 | +2. **Google Developer Documentation Style Guide** principles |
| 7 | +3. **Third-party references** (Merriam-Webster, Chicago Manual of Style, Microsoft Writing Style Guide) |
| 8 | + |
| 9 | +## Markdown formatting |
| 10 | + |
| 11 | +### Voice and tone |
| 12 | + |
| 13 | +- Use active voice for all instructions - make clear who's performing the action |
| 14 | +- Use language like "You can" rather than "Users can" |
| 15 | +- Write clearly and conversationally |
| 16 | +- Be helpful and human |
| 17 | +- Passive voice is acceptable when you need to emphasize an object over an action, de-emphasize a subject, or when readers don't need to know who's responsible for the action |
| 18 | + |
| 19 | +### Language |
| 20 | + |
| 21 | +- Use clear, concise language and ensure there are no spelling or grammatical issues |
| 22 | +- Avoid jargon and use plain US English to ensure clarity for a global audience |
| 23 | +- Use the serial comma in lists |
| 24 | +- Use "select" instead of "click" or "click on" |
| 25 | +- Use "use" rather than "utilize" |
| 26 | +- Don't use Latin abbreviations, for example, instead of "e.g." use "for example", instead of "i.e." use "that is" |
| 27 | +- Don't replace "together with" with "alongside" |
| 28 | +- Use "go to" instead of "navigate to" |
| 29 | +- Instead of "via", use "through", "with", or "using" |
| 30 | +- Use contractions, for example, use "don't" rather than "do not" and "aren't" instead of "are not" |
| 31 | +- Don't use "please" |
| 32 | +- To introduce procedures, use an infinitive phrase with a comma and then the main clause. For example, "To save the document, follow these steps:" |
| 33 | +- Write for your audience - assume technical knowledge but explain complex concepts clearly |
| 34 | + |
| 35 | +### Verb tense |
| 36 | + |
| 37 | +- Use present tense for statements that describe general behavior not associated with a particular time |
| 38 | +- It's OK to use future tense (will) to distinguish an action that will occur in the future |
| 39 | +- Don't use future tense to describe how a product or feature will work after the next release or update |
| 40 | +- Avoid the hypothetical future "would" - use present tense instead |
| 41 | + |
| 42 | +### Product names |
| 43 | + |
| 44 | +- Use "Chef 360 Platform" instead of "Chef 360" or "Chef 360 platform" |
| 45 | +- Use "Chef Infra Client" instead of "Chef Client" or "client" |
| 46 | +- Use "Chef Infra Server" instead of "Chef Server" |
| 47 | + |
| 48 | +### Procedures |
| 49 | + |
| 50 | +When writing step-by-step instructions, follow these guidelines: |
| 51 | + |
| 52 | +#### Introductory sentences |
| 53 | + |
| 54 | +- Introduce procedures with context that isn't part of the section heading |
| 55 | +- Don't simply repeat the heading |
| 56 | +- End with a colon if it immediately precedes the procedure, or a period if there's material between the introduction and procedure |
| 57 | +- Use imperative statements: "To customize the buttons, follow these steps:" or "Customize the buttons:" |
| 58 | + |
| 59 | +#### Single-step procedures |
| 60 | + |
| 61 | +- Format single steps as bulleted lists, not numbered lists |
| 62 | +- Write the step in one sentence |
| 63 | + |
| 64 | +#### Multi-step procedures |
| 65 | + |
| 66 | +- Use numbered lists for sequential steps |
| 67 | +- Use one step for each action |
| 68 | +- Combine small sequential actions using angle brackets (>) for menu selections |
| 69 | + |
| 70 | +#### Step structure |
| 71 | + |
| 72 | +- Start each step with an imperative verb |
| 73 | +- Use complete sentences |
| 74 | +- Use parallel structure and consistent verb forms |
| 75 | +- State the location before the action: "In the Google Cloud console, go to the Monitoring page" |
| 76 | +- State the goal before the action: "To start a new document, select **File** > **New** > **Document**" |
| 77 | +- Keep results in the same paragraph as the action |
| 78 | + |
| 79 | +#### Optional steps |
| 80 | + |
| 81 | +- Start optional steps with "Optional:" followed by a colon |
| 82 | + |
| 83 | +#### Step organization |
| 84 | + |
| 85 | +- Describe the action first |
| 86 | +- List commands if necessary |
| 87 | +- Explain placeholders used in commands |
| 88 | +- Explain commands in detail if necessary |
| 89 | +- List command output if necessary |
| 90 | +- Explain results in a separate paragraph if necessary |
| 91 | + |
| 92 | +### Headings and titles |
| 93 | + |
| 94 | +When writing headings and titles, follow these guidelines: |
| 95 | + |
| 96 | +#### Heading text and structure |
| 97 | + |
| 98 | +- Write document titles based on the primary purpose of the document |
| 99 | +- For task-based headings, start with a bare infinitive (base form verb): "Create an instance" not "Creating an instance" |
| 100 | +- For conceptual headings, use a noun phrase that doesn't start with an -ing verb: "Migration to Google Cloud" not "Migrating to Google Cloud" |
| 101 | +- It's OK to use both task-based and conceptual heading styles in the same document |
| 102 | +- When possible, avoid using -ing verb forms as the first word in headings or titles |
| 103 | +- Avoid repeating the exact page title in a heading on the page |
| 104 | + |
| 105 | +#### Heading format |
| 106 | + |
| 107 | +- Use sentence case for headings and titles (don't use uppercase) |
| 108 | +- Don't include numbers in headings to indicate a sequence of sections |
| 109 | +- Use punctuation in headings sparingly - punctuation can be a sign that your heading is too complicated |
| 110 | +- Only use abbreviations in headings if they're more commonly known than the full term |
| 111 | +- Use heading tags to structure content hierarchically (h1, h2, h3, etc. or #, ##, ### in Markdown) |
| 112 | +- Don't skip levels of the heading hierarchy - put h3 only under h2, etc. |
| 113 | +- Don't use empty headings or headings with no associated content |
| 114 | +- Don't put links in headings as they can be confused with heading styles |
| 115 | +- Avoid using code items in headings when possible |
| 116 | + |
| 117 | +#### Referring to sections |
| 118 | + |
| 119 | +- When introducing a group of related H3 or lower sections within a larger H2 section, use "the following sections" |
| 120 | +- Don't refer to groups of sections as "this section" or "these sections" as these phrases are ambiguous |
| 121 | + |
| 122 | +### User interface elements |
| 123 | + |
| 124 | +When documenting UI elements, follow these guidelines: |
| 125 | + |
| 126 | +#### Focus on the task |
| 127 | + |
| 128 | +- State instructions in terms of what the reader should accomplish, rather than focusing on widgets and gestures |
| 129 | +- When practical, avoid reference to UI elements to help readers understand the purpose |
| 130 | +- Provide the level of detail that seems useful for the intended audience |
| 131 | + |
| 132 | +#### Format UI element names |
| 133 | + |
| 134 | +- Put UI element names in bold using `**` in Markdown |
| 135 | +- This includes buttons, menus, dialogs, windows, list items, or any other feature with a visible name |
| 136 | +- Don't use code font for UI elements unless they meet requirements for code font |
| 137 | +- Follow the capitalization as it appears on the page, but use sentence case if labels are inconsistent or all uppercase |
| 138 | + |
| 139 | +#### UI element terminology |
| 140 | + |
| 141 | +- **Button**: Use the button's label - "Select **OK**" not "Select the OK button" |
| 142 | +- **Checkbox**: Use "the LABEL_NAME checkbox" - "Select the **Automatically check for updates** checkbox" |
| 143 | +- **Menu**: Use "In the MENU_NAME menu" or use angle brackets (>) for menu paths |
| 144 | +- **Text field**: Use "field" instead of "box" - "In the **Name** field, enter your username" |
| 145 | +- **Dialog**: Use "dialog" not "pop-up window" |
| 146 | +- **Tab**: Use "the LABEL_NAME tab" |
| 147 | +- **Toggle**: Don't use "toggle" as a verb - "To turn on the setting, click the **Wi-Fi** toggle" |
| 148 | + |
| 149 | +#### Verbs for UI interactions |
| 150 | + |
| 151 | +- Use "select" instead of "click" or "click on" |
| 152 | +- Use "enter" or "type" for text input |
| 153 | +- Use "choose" for selecting from options |
| 154 | +- Use "turn on" or "turn off" for toggles and switches |
| 155 | +- Use "clear" instead of "uncheck" for checkboxes |
| 156 | + |
| 157 | +#### Prepositions |
| 158 | + |
| 159 | +- Use "in" for: dialogs, fields, lists, menus, panes, windows |
| 160 | +- Use "on" for: pages, tabs, toolbars |
| 161 | + |
| 162 | +### Formatting |
| 163 | + |
| 164 | +- Use sentence case for headings (don't use uppercase) |
| 165 | +- Use "1." for each item in an ordered list |
| 166 | +- If there's one step in a procedure, use one bulleted list item (-) before the step instead of "1." |
| 167 | +- Use bulleted lists (rather than numbered lists) when it's just a list of points and not a sequential list of instructions |
| 168 | +- Use semantic line breaks where each sentence is on a separate line |
| 169 | +- Format code and UI elements consistently |
| 170 | + |
| 171 | +### Links |
| 172 | + |
| 173 | +- Ensure that all hyperlinks are descriptive and provide context for the destination content |
| 174 | +- Add mailto link tags for email addresses |
| 175 | +- Use meaningful link text that describes the destination |
| 176 | + |
| 177 | +### Quality principles |
| 178 | + |
| 179 | +- Be consistent throughout your documentation |
| 180 | +- Prioritize clarity over brevity when necessary |
| 181 | +- Break style rules when doing so improves content quality |
| 182 | +- Test your instructions to ensure they work as written |
| 183 | +- Update documentation when products or processes change |
| 184 | + |
| 185 | +### Accessibility |
| 186 | + |
| 187 | +- Write clear headings that describe the content that follows |
| 188 | +- Use alt text for images that describes their content and purpose |
| 189 | +- Ensure proper contrast and readability |
| 190 | +- Structure content logically with appropriate heading levels |
0 commit comments