Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'doc/development/documentation/styleguide')
-rw-r--r--doc/development/documentation/styleguide/index.md204
-rw-r--r--doc/development/documentation/styleguide/word_list.md348
2 files changed, 336 insertions, 216 deletions
diff --git a/doc/development/documentation/styleguide/index.md b/doc/development/documentation/styleguide/index.md
index 4e548179b9e..2cbecc91b20 100644
--- a/doc/development/documentation/styleguide/index.md
+++ b/doc/development/documentation/styleguide/index.md
@@ -420,6 +420,11 @@ Some contractions, however, should be avoided:
| Requests to localhost are not allowed. | Requests to localhost aren't allowed. |
| Specified URL cannot be used. | Specified URL can't be used. |
+### Acronyms
+
+If you use an acronym, spell it out on first use on a page. You do not need to spell it out more than once on a page.
+When possible, try to avoid acronyms in headings.
+
## Text
- [Write in Markdown](#markdown).
@@ -438,8 +443,21 @@ Some contractions, however, should be avoided:
- List item 2
```
+### Comments
+
+To embed comments within Markdown, use standard HTML comments that are not rendered
+when published. Example:
+
+```html
+<!-- This is a comment that is not rendered -->
+```
+
### Emphasis
+Use **bold** rather than italic to provide emphasis. GitLab uses a sans-serif font and italic text does not stand out as much as it would in a serif font. For details, see [Butterick's Practical Typography guide on bold or italic](https://practicaltypography.com/bold-or-italic.html).
+
+You can use italics when you are introducing a term for the first time. Otherwise, use bold.
+
- Use double asterisks (`**`) to mark a word or text in bold (`**bold**`).
- Use underscore (`_`) for text in italics (`_italic_`).
- Use greater than (`>`) for blockquotes.
@@ -460,6 +478,7 @@ Follow these guidelines for punctuation:
| Use serial commas (Oxford commas) before the final **and** or **or** in a list of three or more items. (Tested in [`OxfordComma.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/OxfordComma.yml).) | You can create new issues, merge requests, and milestones. |
| Always add a space before and after dashes when using it in a sentence (for replacing a comma, for example). | You should try this - or not. |
| When a colon is part of a sentence, always use lowercase after the colon. | Linked issues: a way to create a relationship between issues. |
+| Do not use typographer's quotes. Use straight quotes instead. (Tested in [`NonStandardQuotes.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/NonStandardQuotes.yml).) | "It's the questions we can't answer that teach us the most"---Patrick Rothfuss |
<!-- vale gitlab.Repetition = YES -->
@@ -751,6 +770,7 @@ Valid for Markdown content only, not for front matter entries:
For other punctuation rules, refer to the
[Pajamas Design System Punctuation section](https://design.gitlab.com/content/punctuation/).
+This is overridden by the [documentation-specific punctuation rules](#punctuation).
## Headings
@@ -1003,9 +1023,23 @@ document to ensure it links to the most recent version of the file.
## Navigation
-When documenting navigation through the user interface, use these terms and styles.
+When documenting how to navigate through the GitLab UI:
+
+- Always use location, then action.
+ - `From the **Visibility** list,` (location) `select **Public**.` (action)
+- Be brief and specific. For example:
+ - Avoid: `Select **Save** for the changes to take effect.`
+ - Use instead: `Select **Save**.`
+- When selecting from high-level UI elements, use the word **on**.
+ - Avoid: `From the left sidebar...` or `In the left sidebar...`
+ - Use instead: `On the left sidebar...`
+- If a step must include a reason, start the step with it.
+ - Avoid: `Select the link in the merge request to view the changes.`
+ - Use instead: `To view the changes, select the link in the merge request.`
+- If a step is optional, start the step with the word `Optional` followed by a period.
+ - `1. Optional. Enter a name for the dog.`
-### What to call the menus
+### Names for menus
Use these terms when referring to the main GitLab user interface
elements:
@@ -1017,9 +1051,14 @@ elements:
- **Right sidebar**: This is the navigation sidebar on the right of the user
interface, specific to the open issue, merge request, or epic.
-### How to document the menus
+### Names for UI elements
-To be consistent, use this format when you write about UI navigation.
+UI elements, like button and checkbox names, should be **bold**.
+Guidance for each individual UI element is in [the word list](word_list.md).
+
+### How to write navigation task steps
+
+To be consistent, use this format when you write navigation steps in a task topic.
1. On the top bar, select **Menu > Projects** and find your project.
1. On the left sidebar, select **Settings > CI/CD**.
@@ -1034,20 +1073,27 @@ Another example:
An Admin Area example:
```markdown
-1. On the top bar, select **Menu >** **{admin}** **Admin**.
+1. On the top bar, select **Menu > Admin**.
```
-This text renders this output:
+To select your avatar:
-1. On the top bar, select **Menu >** **{admin}** **Admin**.
+```markdown
+1. On the top bar, in the top right corner, select your avatar.
+```
## Images
Images, including screenshots, can help a reader better understand a concept.
-However, they can be hard to maintain, and should be used sparingly.
+However, they should be used sparingly because:
-Before including an image in the documentation, ensure it provides value to the
-reader.
+- They tend to become out-of-date.
+- They are difficult and expensive to localize.
+- They cannot be read by screen readers.
+
+If you do include an image in the documentation, ensure it provides value.
+Don't use `lorem ipsum` text. Try to replicate how the feature would be
+used in a real-world scenario, and [use realistic text](#fake-user-information).
### Capture the image
@@ -1106,7 +1152,7 @@ known tool is [`pngquant`](https://pngquant.org/), which is cross-platform and
open source. Install it by visiting the official website and following the
instructions for your OS.
-GitLab has a [Rake task](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/tasks/pngquant.rake)
+GitLab has a [Ruby script](https://gitlab.com/gitlab-org/gitlab/-/blob/master/bin/pngquant)
that you can use to automate the process. In the root directory of your local
copy of `https://gitlab.com/gitlab-org/gitlab`, run in a terminal:
@@ -1114,19 +1160,26 @@ copy of `https://gitlab.com/gitlab-org/gitlab`, run in a terminal:
been compressed:
```shell
- bundle exec rake pngquant:lint
+ bin/pngquant lint
```
- Compress all documentation PNG images using `pngquant`:
```shell
- bundle exec rake pngquant:compress
+ bin/pngquant compress
+ ```
+
+- Compress specific files:
+
+ ```shell
+ bin/pngquant compress doc/user/img/award_emoji_select.png doc/user/img/markdown_logo.png
```
-The only caveat is that the task runs on all images under `doc/`, not only the
-ones you might have included in a merge request. In that case, you can run the
-compress task and only commit the images that are relevant to your merge
-request.
+- Compress all PNG files in a specific directory:
+
+ ```shell
+ bin/pngquant compress doc/user/img
+ ```
## Videos
@@ -1288,64 +1341,22 @@ For a complete reference on code blocks, see the [Kramdown guide](https://about.
> [Introduced](https://gitlab.com/gitlab-org/gitlab-docs/-/issues/384) in GitLab 12.7.
You can use icons from the [GitLab SVG library](https://gitlab-org.gitlab.io/gitlab-svgs/)
-directly in the documentation.
-
-This way, you can achieve a consistent look when writing about interacting with
-GitLab user interface elements.
-
-Usage examples:
-
-- Icon with default size (16px): `**{icon-name}**`
+directly in the documentation. For example, `**{tanuki}**` renders as: **{tanuki}**.
- Example: `**{tanuki}**` renders as: **{tanuki}**.
-- Icon with custom size: `**{icon-name, size}**`
+In most cases, you should avoid using the icons in text.
+However, you can use an icon when hover text is the only
+available way to describe a UI element. For example, **Delete** or **Edit** buttons
+often have hover text only.
- Available sizes (in pixels): 8, 10, 12, 14, 16, 18, 24, 32, 48, and 72
+When you do use an icon, start with the hover text and follow it with the SVG reference in parentheses.
- Example: `**{tanuki, 24}**` renders as: **{tanuki, 24}**.
-- Icon with custom size and class: `**{icon-name, size, class-name}**`.
+- Avoid: `Select **{pencil}** **Edit**.` This generates as: Select **{pencil}** **Edit**.
+- Use instead: `Select **Edit** (**{pencil}**).` This generates as: Select **Edit** (**{pencil}**).
- You can access any class available to this element in GitLab documentation CSS.
+Do not use words to describe the icon:
- Example with `float-right`, a
- [Bootstrap utility class](https://getbootstrap.com/docs/4.4/utilities/float/):
- `**{tanuki, 32, float-right}**` renders as: **{tanuki, 32, float-right}**
-
-### When to use icons
-
-Icons should be used sparingly, and only in ways that aid and do not hinder the
-readability of the text.
-
-For example, this Markdown adds little to the accompanying text:
-
-```markdown
-1. Go to **{home}** **Project information > Details**.
-```
-
-1. Go to **{home}** **Project information > Details**.
-
-However, these tables might help the reader connect the text to the user
-interface:
-
-```markdown
-| Section | Description |
-|:-------------------------|:----------------------------------------------------------------------------------------------------------------------------|
-| **{overview}** Overview | View your GitLab Dashboard, and administer projects, users, groups, jobs, runners, and Gitaly servers. |
-| **{monitor}** Monitoring | View GitLab system information, and information on background jobs, logs, health checks, requests profiles, and audit events. |
-| **{messages}** Messages | Send and manage broadcast messages for your users. |
-```
-
-| Section | Description |
-|:-------------------------|:----------------------------------------------------------------------------------------------------------------------------|
-| **{overview}** Overview | View your GitLab Dashboard, and administer projects, users, groups, jobs, runners, and Gitaly servers. |
-| **{monitor}** Monitoring | View GitLab system information, and information on background jobs, logs, health checks, requests profiles, and audit events. |
-| **{messages}** Messages | Send and manage broadcast messages for your users. |
-
-Use an icon when you find yourself having to describe an interface element. For
-example:
-
-- Do: Select the Admin Area icon ( **{admin}** ).
-- Don't: Select the Admin Area icon (the wrench icon).
+- Avoid: `Select **Erase job log** (the trash icon).`
+- Use instead: `Select **Erase job log** (**{remove}**).` This generates as: Select **Erase job log** (**{remove}**).
## Alert boxes
@@ -1456,27 +1467,9 @@ Follow these styles when you're describing user interface elements in an
application:
- For elements with a visible label, use that label in bold with matching case.
- For example, `the **Cancel** button`.
+ For example, `Select **Cancel**`.
- For elements with a tooltip or hover label, use that label in bold with
- matching case. For example, `the **Add status emoji** button`.
-
-### Verbs for UI elements
-
-Use these verbs for specific uses with user interface
-elements:
-
-| Recommended | Used for | Replaces |
-|:--------------------|:--------------------------------------|:----------------------|
-| select | buttons, links, menu items, dropdowns | click, press, hit |
-| select or clear | checkboxes | enable, click, press |
-| expand | expandable sections | open |
-| turn on or turn off | toggles | flip, enable, disable |
-
-### Other Verbs
-
-| Recommended | Used for | Replaces |
-|:------------|:--------------------------------|:----------------------|
-| go to | making a browser go to location | navigate to, open |
+ matching case. For example, `Select **Add status emoji**`.
## GitLab versions
@@ -1504,10 +1497,6 @@ tagged and released set of documentation for your installed version:
When a feature is added or updated, you can include its version information
either as a **Version history** item or as an inline text reference.
-Version text shouldn't include information about the tier in which the feature
-is available. This information is provided by the [product badge](#product-tier-badges)
-displayed for the page or feature.
-
#### Version text in the **Version History**
If all content in a section is related, add version text after the header for
@@ -1523,6 +1512,10 @@ the section. The version information must:
- Whenever possible, include a link to the completed issue, merge request, or epic
that introduced the feature. An issue is preferred over a merge request, and
a merge request is preferred over an epic.
+- Do not include information about the tier, unless documenting a tier change
+ (for example, `Feature X [moved](issue-link) to Premium in GitLab 19.2`).
+- Do not link to the pricing page.
+ The tier is provided by the [product badge](#product-tier-badges) on the heading.
```markdown
## Feature name
@@ -1647,37 +1640,24 @@ When names change, it is more complicated to search or grep text that has line b
### Product tier badges
-Tier badges are displayed as orange text next to a heading. For example:
+Tier badges are displayed as orange text next to a heading. These badges link to the GitLab
+pricing page. For example:
![Tier badge](img/tier_badge.png)
You must assign a tier badge:
-- To [all H1 topic headings](#product-tier-badges-on-headings).
+- To all H1 topic headings.
- To topic headings that don't apply to the same tier as the H1.
-- To [sections of a topic](#product-tier-badges-on-other-content),
- if they apply to a tier other than what applies to the H1.
-
-#### Product tier badges on headings
-To add a tier badge to a heading, add the relevant [tier badge](#available-product-tier-badges)
+To add a tier badge to a heading, add the relevant tier badge
after the heading text. For example:
```markdown
# Heading title **(FREE)**
```
-#### Product tier badges on other content
-
-In paragraphs, list names, and table cells, an information icon displays when you
-add a tier badge. More verbose information displays when a user points to the icon:
-
-- `**(FREE)**` displays as **(FREE)**
-- `**(FREE SELF)**` displays as **(FREE SELF)**
-- `**(FREE SAAS)**` displays as **(FREE SAAS)**
-
-The `**(FREE)**` generates a `span` element to trigger the
-badges and tooltips (`<span class="badge-trigger free">`).
+Do not add tier badges inline with other text. The single source of truth for a feature should be the heading where the functionality is described.
#### Available product tier badges
diff --git a/doc/development/documentation/styleguide/word_list.md b/doc/development/documentation/styleguide/word_list.md
index 9e921bb30f0..eafe0e7a1c2 100644
--- a/doc/development/documentation/styleguide/word_list.md
+++ b/doc/development/documentation/styleguide/word_list.md
@@ -17,15 +17,17 @@ For guidance not on this page, we defer to these style guides:
<!-- vale off -->
<!-- markdownlint-disable -->
-## @mention
+## `@mention`
-Try to avoid. Say "mention" instead, and consider linking to the
+Try to avoid **`@mention`**. Say **mention** instead, and consider linking to the
[mentions topic](../../../user/project/issues/issue_data_and_actions.md#mentions).
-Don't use `code formatting`.
+Don't use backticks.
## above
-Try to avoid extra words when referring to an example or table in a documentation page, but if required, use **previously** instead.
+Try to avoid using **above** when referring to an example or table in a documentation page. If required, use **previous** instead. For example:
+
+- In the previous example, the dog had fleas.
## admin, admin area
@@ -33,55 +35,111 @@ Use **administration**, **administrator**, **administer**, or **Admin Area** ins
## allow, enable
-Try to avoid, unless you are talking about security-related features. For example:
+Try to avoid **allow** and **enable**, unless you are talking about security-related features. For example:
-- Avoid: This feature allows you to create a pipeline.
-- Use instead: Use this feature to create a pipeline.
+- Do: Use this feature to create a pipeline.
+- Do not: This feature allows you to create a pipeline.
This phrasing is more active and is from the user perspective, rather than the person who implemented the feature.
[View details in the Microsoft style guide](https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/a/allow-allows).
## Alpha
-Uppercase. For example: **The XYZ feature is in Alpha.** or **This Alpha release is ready to test.**
+Use uppercase for **Alpha**. For example: **The XYZ feature is in Alpha.** or **This Alpha release is ready to test.**
You might also want to link to [this section](https://about.gitlab.com/handbook/product/gitlab-the-product/#alpha-beta-ga)
in the handbook when writing about Alpha features.
## and/or
-Instead of **and/or**, use or or rewrite the sentence to spell out both options.
+Instead of **and/or**, use **or** or rewrite the sentence to spell out both options.
+
+## area
+
+Use [**section**](#section) instead of **area**. The only exception is [the Admin Area](#admin-admin-area).
## below
-Try to avoid extra words when referring to an example or table in a documentation page, but if required, use **following** instead.
+Try to avoid **below** when referring to an example or table in a documentation page. If required, use **following** instead. For example:
+
+- In the following example, the dog has fleas.
## Beta
-Uppercase. For example: **The XYZ feature is in Beta.** or **This Beta release is ready to test.**
+Use uppercase for **Beta**. For example: **The XYZ feature is in Beta.** or **This Beta release is ready to test.**
You might also want to link to [this section](https://about.gitlab.com/handbook/product/gitlab-the-product/#alpha-beta-ga)
in the handbook when writing about Beta features.
## blacklist
-Do not use. Another option is **denylist**. ([Vale](../testing.md#vale) rule: [`InclusionCultural.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/InclusionCultural.yml))
+Do not use **blacklist**. Another option is **denylist**. ([Vale](../testing.md#vale) rule: [`InclusionCultural.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/InclusionCultural.yml))
## board
Use lowercase for **boards**, **issue boards**, and **epic boards**.
+## box
+
+Use **text box** to refer to the UI field. Do not use **field** or **box**. For example:
+
+- In the **Variable name** text box, enter `my text`.
+
+## button
+
+Don't use a descriptor with **button**.
+
+- Do: Select **Run pipelines**.
+- Do not: Select the **Run pipelines** button.
+
+## cannot, can not
+
+Use **cannot** instead of **can not**. You can also use **can't**.
+
+See also [contractions](index.md#contractions).
+
## checkbox
-One word, **checkbox**. Do not use **check box**.
+Use one word for **checkbox**. Do not use **check box**.
+
+You **select** (not **check** or **enable**) and **clear** (not **deselect** or **disable**) checkboxes.
+For example:
+
+- Select the **Protect environment** checkbox.
+- Clear the **Protect environment** checkbox.
+
+If you must refer to the checkbox, you can say it is selected or cleared. For example:
+
+- Ensure the **Protect environment** checkbox is cleared.
+- Ensure the **Protect environment** checkbox is selected.
## CI/CD
-Always uppercase. No need to spell out on first use.
+CI/CD is always uppercase. No need to spell it out on first use.
+
+## click
+
+Do not use **click**. Instead, use **select** with buttons, links, menu items, and lists.
+**Select** applies to more devices, while **click** is more specific to a mouse.
+
+## collapse
+
+Use **collapse** instead of **close** when you are talking about expanding or collapsing a section in the UI.
+
+## confirmation dialog
+
+Use **confirmation dialog** to describe the dialog box that asks you to confirm your action. For example:
+
+- On the confirmation dialog, select **OK**.
## currently
-Do not use when talking about the product or its features. The documentation describes the product as it is today. ([Vale](../testing.md#vale) rule: [`CurrentStatus.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/CurrentStatus.yml))
+Do not use **currently** when talking about the product or its features. The documentation describes the product as it is today.
+([Vale](../testing.md#vale) rule: [`CurrentStatus.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/CurrentStatus.yml))
+
+## deploy board
+
+Use lowercase for **deploy board**.
## Developer
@@ -92,26 +150,35 @@ When writing about the Developer role:
- Do not use the phrase, **if you are a developer** to mean someone who is assigned the Developer
role. Instead, write it out. For example, **if you are assigned the Developer role**.
- To describe a situation where the Developer role is the minimum required:
- - Avoid: **the Developer role or higher**
- - Use instead: **at least the Developer role**
+ - Avoid: the Developer role or higher
+ - Use instead: at least the Developer role
Do not use **Developer permissions**. A user who is assigned the Developer role has a set of associated permissions.
## disable
-See [the Microsoft style guide](https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/d/disable-disabled) for guidance.
+See [the Microsoft style guide](https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/d/disable-disabled) for guidance on **disable**.
Use **inactive** or **off** instead. ([Vale](../testing.md#vale) rule: [`InclusionAbleism.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/InclusionAbleism.yml))
+## dropdown list
+
+Use **dropdown list** to refer to the UI element. Do not use **dropdown** without **list** after it.
+Do not use **drop-down** (hyphenated), **dropdown menu**, or other variants.
+
+For example:
+
+- From the **Visibility** dropdown list, select **Public**.
+
## earlier
-Use when talking about version numbers.
+Use **earlier** when talking about version numbers.
-- Avoid: In GitLab 14.1 and lower.
-- Use instead: In GitLab 14.1 and earlier.
+- Do: In GitLab 14.1 and earlier.
+- Do not: In GitLab 14.1 and lower.
## easily
-Do not use. If the user doesn't find the process to be easy, we lose their trust.
+Do not use **easily**. If the user doesn't find the process to be easy, we lose their trust.
## e.g.
@@ -119,60 +186,75 @@ Do not use Latin abbreviations. Use **for example**, **such as**, **for instance
## email
-Do not use **e-mail** with a hyphen. When plural, use **emails** or **email messages**.
+Do not use **e-mail** with a hyphen. When plural, use **emails** or **email messages**. ([Vale](../testing.md#vale) rule: [`SubstitutionSuggestions.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/SubstitutionSuggestions.yml))
## enable
-See [the Microsoft style guide](https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/e/enable-enables) for guidance.
+See [the Microsoft style guide](https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/e/enable-enables) for guidance on **enable**.
Use **active** or **on** instead. ([Vale](../testing.md#vale) rule: [`InclusionAbleism.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/InclusionAbleism.yml))
+## enter
+
+Use **enter** instead of **type** when talking about putting values into text boxes.
+
## epic
-Lowercase.
+Use lowercase for **epic**.
## epic board
-Lowercase.
+Use lowercase for **epic board**.
## etc.
-Try to avoid. Be as specific as you can. Do not use **and so on** as a replacement.
+Try to avoid **etc.**. Be as specific as you can. Do not use **and so on** as a replacement.
-- Avoid: You can update objects, like merge requests, issues, etc.
-- Use instead: You can update objects, like merge requests and issues.
+- Do: You can update objects, like merge requests and issues.
+- Do not: You can update objects, like merge requests, issues, etc.
+
+## expand
+
+Use **expand** instead of **open** when you are talking about expanding or collapsing a section in the UI.
+
+## field
+
+Use **box** instead of **field** or **text box**.
+
+- Avoid: In the **Variable name** field, enter `my text`.
+- Use instead: In the **Variable name** box, enter `my text`.
## foo
-Do not use in product documentation. You can use it in our API and contributor documentation, but try to use a clearer and more meaningful example instead.
+Do not use **foo** in product documentation. You can use it in our API and contributor documentation, but try to use a clearer and more meaningful example instead.
## future tense
-When possible, use present tense instead. For example, use `after you execute this command, GitLab displays the result` instead of `after you execute this command, GitLab will display the result`. ([Vale](../testing.md#vale) rule: [`FutureTense.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/FutureTense.yml))
+When possible, use present tense instead of future tense. For example, use **after you execute this command, GitLab displays the result** instead of **after you execute this command, GitLab will display the result**. ([Vale](../testing.md#vale) rule: [`FutureTense.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/FutureTense.yml))
## Geo
-Title case.
+Use title case for **Geo**.
## GitLab
-Do not make possessive (GitLab's). This guidance follows [GitLab Trademark Guidelines](https://about.gitlab.com/handbook/marketing/corporate-marketing/brand-activation/trademark-guidelines/).
+Do not make **GitLab** possessive (GitLab's). This guidance follows [GitLab Trademark Guidelines](https://about.gitlab.com/handbook/marketing/corporate-marketing/brand-activation/trademark-guidelines/).
## GitLab.com
-Refers to the GitLab instance managed by GitLab itself.
+**GitLab.com** refers to the GitLab instance managed by GitLab itself.
## GitLab SaaS
-Refers to the product license that provides access to GitLab.com. Does not refer to the
+**GitLab SaaS** refers to the product license that provides access to GitLab.com. It does not refer to the
GitLab instance managed by GitLab itself.
## GitLab Runner
-Title case. This is the product you install. See also [runners](#runner-runners) and [this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/233529).
+Use title case for **GitLab Runner**. This is the product you install. See also [runners](#runner-runners) and [this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/233529).
## GitLab self-managed
-Refers to the product license for GitLab instances managed by customers themselves.
+Use **GitLab self-managed** to refer to the product license for GitLab instances managed by customers themselves.
## Guest
@@ -183,25 +265,32 @@ When writing about the Guest role:
- Do not use the phrase, **if you are a guest** to mean someone who is assigned the Guest
role. Instead, write it out. For example, **if you are assigned the Guest role**.
- To describe a situation where the Guest role is the minimum required:
- - Avoid: **the Guest role or higher**
- - Use instead: **at least the Guest role**
+ - Avoid: the Guest role or higher
+ - Use instead: at least the Guest role
Do not use **Guest permissions**. A user who is assigned the Guest role has a set of associated permissions.
## handy
-Do not use. If the user doesn't find the feature or process to be handy, we lose their trust.
+Do not use **handy**. If the user doesn't find the feature or process to be handy, we lose their trust. ([Vale](../testing.md#vale) rule: [`Simplicity.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/Simplicity.yml))
## high availability, HA
-Do not use. Instead, direct readers to the GitLab [reference architectures](../../../administration/reference_architectures/index.md) for information about configuring GitLab for handling greater amounts of users.
+Do not use **high availability** or **HA**. Instead, direct readers to the GitLab [reference architectures](../../../administration/reference_architectures/index.md) for information about configuring GitLab for handling greater amounts of users.
## higher
-Do not use when talking about version numbers.
+Do not use **higher** when talking about version numbers.
-- Avoid: In GitLab 14.1 and higher.
-- Use instead: In GitLab 14.1 and later.
+- Do: In GitLab 14.1 and later.
+- Do not: In GitLab 14.1 and higher.
+
+## hit
+
+Don't use **hit** to mean **press**.
+
+- Avoid: Hit the **ENTER** button.
+- Use instead: Press **ENTER**.
## I
@@ -213,19 +302,19 @@ Do not use Latin abbreviations. Use **that is** instead. ([Vale](../testing.md#v
## in order to
-Do not use. Use **to** instead. ([Vale](../testing.md#vale) rule: [`Wordy.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/Wordy.yml))
+Do not use **in order to**. Use **to** instead. ([Vale](../testing.md#vale) rule: [`Wordy.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/Wordy.yml))
## issue
-Lowercase.
+Use lowercase for **issue**.
## issue board
-Lowercase.
+Use lowercase for **issue board**.
## issue weights
-Lowercase.
+Use lowercase for **issue weights**.
## job
@@ -235,21 +324,26 @@ If you want to use **CI** with the word **job**, use **CI/CD job** rather than *
## later
-Use when talking about version numbers.
+Use **later** when talking about version numbers.
- Avoid: In GitLab 14.1 and higher.
- Use instead: In GitLab 14.1 and later.
+## list
+
+Do not use **list** when referring to a [**dropdown list**](#dropdown-list).
+Use the full phrase **dropdown list** instead.
+
## log in, log on
-Do not use. Use [sign in](#sign-in) instead. If the user interface has **Log in**, you can use it.
+Do not use **log in** or **log on**. Use [sign in](#sign-in) instead. If the user interface has **Log in**, you can use it.
## lower
-Do not use when talking about version numbers.
+Do not use **lower** when talking about version numbers.
-- Avoid: In GitLab 14.1 and lower.
-- Use instead: In GitLab 14.1 and earlier.
+- Do: In GitLab 14.1 and earlier.
+- Do not: In GitLab 14.1 and lower.
## Maintainer
@@ -260,22 +354,22 @@ When writing about the Maintainer role:
- Do not use the phrase, **if you are a maintainer** to mean someone who is assigned the Maintainer
role. Instead, write it out. For example, **if you are assigned the Maintainer role**.
- To describe a situation where the Maintainer role is the minimum required:
- - Avoid: **the Maintainer role or higher**
- - Use instead: **at least the Maintainer role**
+ - Avoid: the Maintainer role or higher
+ - Use instead: at least the Maintainer role
Do not use **Maintainer permissions**. A user who is assigned the Maintainer role has a set of associated permissions.
## mankind
-Do not use. Use **people** or **humanity** instead. ([Vale](../testing.md#vale) rule: [`InclusionGender.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/InclusionGender.yml))
+Do not use **mankind**. Use **people** or **humanity** instead. ([Vale](../testing.md#vale) rule: [`InclusionGender.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/InclusionGender.yml))
## manpower
-Do not use. Use words like **workforce** or **GitLab team members**. ([Vale](../testing.md#vale) rule: [`InclusionGender.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/InclusionGender.yml))
+Do not use **manpower**. Use words like **workforce** or **GitLab team members**. ([Vale](../testing.md#vale) rule: [`InclusionGender.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/InclusionGender.yml))
## master
-Do not use. Options are **primary** or **main**. ([Vale](../testing.md#vale) rule: [`InclusionCultural.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/InclusionCultural.yml))
+Do not use **master**. Options are **primary** or **main**. ([Vale](../testing.md#vale) rule: [`InclusionCultural.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/InclusionCultural.yml))
## may, might
@@ -287,18 +381,25 @@ Do not use first-person singular. Use **you**, **we**, or **us** instead. ([Vale
## merge requests
-Lowercase. If you use **MR** as the acronym, spell it out on first use.
+Use lowercase for **merge requests**. If you use **MR** as the acronym, spell it out on first use.
## milestones
-Lowercase.
+Use lowercase for **milestones**.
+
+## navigate
+
+Do not use **navigate**. Use **go** instead. For example:
+
+- Go to this webpage.
+- Open a terminal and go to the `runner` directory.
## need to, should
-Try to avoid. If something is required, use **must**.
+Try to avoid **needs to**, because it's wordy. Avoid **should** when you can be more specific. If something is required, use **must**.
-- Avoid: You need to set the variable.
-- Use instead: You must set the variable. Or: Set the variable.
+- Do: You must set the variable. Or: Set the variable.
+- Do not: You need to set the variable.
**Should** is acceptable for recommended actions or items, or in cases where an event may not
happen. For example:
@@ -310,10 +411,10 @@ happen. For example:
## note that
-Do not use.
+Do not use **note that** because it's wordy.
-- Avoid: Note that you can change the settings.
-- Use instead: You can change the settings.
+- Do: You can change the settings.
+- Do not: Note that you can change the settings.
## Owner
@@ -328,15 +429,21 @@ Do not use **Owner permissions**. A user who is assigned the Owner role has a se
## permissions
-Do not use roles and permissions interchangeably. Each user is assigned a role. Each role includes a set of permissions.
+Do not use **roles** and **permissions** interchangeably. Each user is assigned a role. Each role includes a set of permissions.
## please
-Do not use. For details, see the [Microsoft style guide](https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/p/please).
+Do not use **please**. For details, see the [Microsoft style guide](https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/p/please).
+
+## press
+
+Use **press** when talking about keyboard keys. For example:
+
+- To stop the command, press <kbd>Control</kbd>+<kbd>C</kbd>.
## profanity
-Do not use. Doing so may negatively affect other users and contributors, which is contrary to the GitLab value of [Diversity, Inclusion, and Belonging](https://about.gitlab.com/handbook/values/#diversity-inclusion).
+Do not use profanity. Doing so may negatively affect other users and contributors, which is contrary to the GitLab value of [Diversity, Inclusion, and Belonging](https://about.gitlab.com/handbook/values/#diversity-inclusion).
## Reporter
@@ -347,30 +454,48 @@ When writing about the Reporter role:
- Do not use the phrase, **if you are a reporter** to mean someone who is assigned the Reporter
role. Instead, write it out. For example, **if you are assigned the Reporter role**.
- To describe a situation where the Reporter role is the minimum required:
- - Avoid: **the Reporter role or higher**
- - Use instead: **at least the Reporter role**
+ - Avoid: the Reporter role or higher
+ - Use instead: at least the Reporter role
Do not use **Reporter permissions**. A user who is assigned the Reporter role has a set of associated permissions.
## Repository Mirroring
-Title case.
+Use title case for **Repository Mirroring**.
## roles
-Do not use roles and permissions interchangeably. Each user is assigned a role. Each role includes a set of permissions.
+Do not use **roles** and **permissions** interchangeably. Each user is assigned a role. Each role includes a set of permissions.
## runner, runners
-Lowercase. These are the agents that run CI/CD jobs. See also [GitLab Runner](#gitlab-runner) and [this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/233529).
+Use lowercase for **runners**. These are the agents that run CI/CD jobs. See also [GitLab Runner](#gitlab-runner) and [this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/233529).
## sanity check
-Do not use. Use **check for completeness** instead. ([Vale](../testing.md#vale) rule: [`InclusionAbleism.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/InclusionAbleism.yml))
+Do not use **sanity check**. Use **check for completeness** instead. ([Vale](../testing.md#vale) rule: [`InclusionAbleism.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/InclusionAbleism.yml))
## scalability
-Do not use when talking about increasing GitLab performance for additional users. The words scale or scaling are sometimes acceptable, but references to increasing GitLab performance for additional users should direct readers to the GitLab [reference architectures](../../../administration/reference_architectures/index.md) page.
+Do not use **scalability** when talking about increasing GitLab performance for additional users. The words scale or scaling
+are sometimes acceptable, but references to increasing GitLab performance for additional users should direct readers
+to the GitLab [reference architectures](../../../administration/reference_architectures/index.md) page.
+
+## section
+
+Use **section** to describe an area on a page. For example, if a page has lines that separate the UI
+into separate areas, refer to these areas as sections.
+
+We often think of expandable/collapsible areas as **sections**. When you refer to expanding
+or collapsing a section, don't include the word **section**.
+
+- Do: Expand **Auto DevOps**.
+- Do not: Expand the **Auto DevOps** section.
+
+## select
+
+Use **select** with buttons, links, menu items, and lists. **Select** applies to more devices,
+while **click** is more specific to a mouse.
## setup, set up
@@ -381,13 +506,13 @@ Use **setup** as a noun, and **set up** as a verb. For example:
## sign in
-Use instead of **sign on** or **log on** or **log in**. If the user interface has different words, use those.
+Use **sign in** instead of **sign on** or **log on** or **log in**. If the user interface has different words, use those.
You can use **single sign-on**.
## simply, simple
-Do not use. If the user doesn't find the process to be simple, we lose their trust.
+Do not use **simply** or **simple**. If the user doesn't find the process to be simple, we lose their trust. ([Vale](../testing.md#vale) rule: [`Simplicity.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/Simplicity.yml))
## slashes
@@ -395,34 +520,38 @@ Instead of **and/or**, use **or** or re-write the sentence. This rule also appli
## slave
-Do not use. Another option is **secondary**. ([Vale](../testing.md#vale) rule: [`InclusionCultural.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/InclusionCultural.yml))
+Do not use **slave**. Another option is **secondary**. ([Vale](../testing.md#vale) rule: [`InclusionCultural.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/InclusionCultural.yml))
## subgroup
-Use instead of **sub-group**.
+Use **subgroup** (no hyphen) instead of **sub-group**. ([Vale](../testing.md#vale) rule: [`SubstitutionSuggestions.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/SubstitutionSuggestions.yml))
## that
-Do not use when describing a noun. For example:
+Do not use **that** when describing a noun. For example:
-- Avoid: The file **that** you save...
-- Use instead: The file you save...
+- Do: The file you save...
+- Do not: The file **that** you save...
See also [this, these, that, those](#this-these-that-those).
## terminal
-Lowercase. For example:
+Use lowercase for **terminal**. For example:
- Open a terminal.
- From a terminal, run the `docker login` command.
+## text box
+
+Use **text box** instead of **field** or **box** when referring to the UI element.
+
## there is, there are
-Try to avoid. These phrases hide the subject.
+Try to avoid **there is** and **there are**. These phrases hide the subject.
-- Avoid: There are holes in the bucket.
-- Use instead: The bucket has holes.
+- Do: The bucket has holes.
+- Do not: There are holes in the bucket.
## they
@@ -434,37 +563,48 @@ a gender-neutral pronoun.
Always follow these words with a noun. For example:
-- Avoid: **This** improves performance.
-- Use instead: **This setting** improves performance.
+- Do: **This setting** improves performance.
+- Do not: **This** improves performance.
-- Avoid: **These** are the best.
-- Use instead: **These pants** are the best.
+- Do: **These pants** are the best.
+- Do not: **These** are the best.
-- Avoid: **That** is the one you are looking for.
-- Use instead: **That Jedi** is the one you are looking for.
+- Do: **That droid** is the one you are looking for.
+- Do not: **That** is the one you are looking for.
-- Avoid: **Those** need to be configured.
-- Use instead: **Those settings** need to be configured. (Or even better, **Configure those settings.**)
+- Do: **Those settings** need to be configured. (Or even better, **Configure those settings.**)
+- Do not: **Those** need to be configured.
## to-do item
-Use lowercase. ([Vale](../testing.md#vale) rule: [`ToDo.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/ToDo.yml))
+Use lowercase and hyphenate **to-do** item. ([Vale](../testing.md#vale) rule: [`ToDo.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/ToDo.yml))
## To-Do List
-Use title case. ([Vale](../testing.md#vale) rule: [`ToDo.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/ToDo.yml))
+Use title case for **To-Do List**. ([Vale](../testing.md#vale) rule: [`ToDo.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/ToDo.yml))
+
+## toggle
+
+You **turn on** or **turn off** a toggle. For example:
+
+- Turn on the **blah** toggle.
+
+## type
+
+Do not use **type** if you can avoid it. Use **enter** instead.
## useful
-Do not use. If the user doesn't find the process to be useful, we lose their trust.
+Do not use **useful**. If the user doesn't find the process to be useful, we lose their trust. ([Vale](../testing.md#vale) rule: [`Simplicity.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/Simplicity.yml))
## utilize
-Do not use. Use **use** instead. It's more succinct and easier for non-native English speakers to understand.
+Do not use **utilize**. Use **use** instead. It's more succinct and easier for non-native English speakers to understand.
+([Vale](../testing.md#vale) rule: [`SubstitutionSuggestions.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/SubstitutionSuggestions.yml))
## Value Stream Analytics
-Title case.
+Use title case for **Value Stream Analytics**.
## via
@@ -474,14 +614,14 @@ Do not use Latin abbreviations. Use **with**, **through**, or **by using** inste
Try to avoid **we** and focus instead on how the user can accomplish something in GitLab.
-- Avoid: We created a feature for you to add widgets.
-- Instead, use: Use widgets when you have work you want to organize.
+- Do: Use widgets when you have work you want to organize.
+- Do not: We created a feature for you to add widgets.
-One exception: You can use **we recommend** instead of **it is recommended** or **GitLab recommends**.
+One exception: You can use **we recommend** instead of **it is recommended** or **GitLab recommends**. ([Vale](../testing.md#vale) rule: [`SubstitutionSuggestions.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/SubstitutionSuggestions.yml))
## whitelist
-Do not use. Another option is **allowlist**. ([Vale](../testing.md#vale) rule: [`InclusionCultural.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/InclusionCultural.yml))
+Do not use **whitelist**. Another option is **allowlist**. ([Vale](../testing.md#vale) rule: [`InclusionCultural.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/.vale/gitlab/InclusionCultural.yml))
<!-- vale on -->
<!-- markdownlint-enable -->