{% raw %} {% endraw %} to disable Liquid processing for that section.
- **Use**:
GITHUB_TOKEN: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %}
- **Avoid**:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- If your code example includes content that should be parsed, wrap that section in `` `` tags to parse rather than escape the content in the section. ### Commands Use inline code blocks to refer to short command names. - **Use:** To check the status of a running cluster, use the `ghe-cluster-status` command. Use command blocks for longer or more complex commands. - **Use:** Enable maintenance mode according to your scheduled window by connecting to the administrative shell of any cluster node and running: ``` ghe-cluster-maintenance -s ``` Avoid inline links in command names. ### Examples When code examples refer to a larger file, show the relevant section of the file, so that users understand how to edit their own code in context. - **Use:** ``` on: schedule: - cron: "40 19 * * *" ``` - **Avoid:** ``` schedule: - cron: "40 19 * * *" ``` ### File and directory names Use inline codeblocks to refer to file and directory names. If a file type generally follows a specific capitalization convention, such as all caps for README files, use the established convention. - **Use:** In your `README.md` file, add info about your repository. - **Use:** In your `.github/workflows/` directory, create the `example-workflow.yml` file. - **Avoid:** In your _.github/workflows/_ directory, create the `example-workflow.yml` file. - **Avoid:** Delete the **example.js** file. ### Indentation In YAML examples, such as actions and workflow files, use two spaces to indent lines within nested lists and block sequences. - **Use:** ```yaml steps: - uses: {% data reusables.actions.action-checkout %} - name: Setup Python uses: {% data reusables.actions.action-setup-python %} with: python-version: {% raw %}${{ matrix.python }}{% endraw %} ``` To indent reusables, see [`data/reusables/README.md`](https://github.com/github/docs/tree/main/data/reusables). ### Scheduled workflows Workflow runs are delayed when too many workflows run at once. Since many users copy code from {% data variables.product.prodname_docs %}, we should use examples that guide users away from congested times. - Do not use examples that run on the hour. (The Actions team reports that times at the start of the hour, especially UTC midnight, are disproportionately overloaded.) - Do not use examples that run more frequently than necessary. For example, instead of running every 5 minutes, consider if the example makes sense to run every 30 minutes instead. - Use a different time for each example. ## Emphasis Use italics to emphasize words or parts of a sentence. Use emphasis sparingly for terminology or context that someone must be aware of to successfully complete the task that they're working on. Do not use italics to emphasize words that have other formatting applied such as all caps for placeholder text or bold for UI elements. - **Use:** _{% data variables.product.pat_v2 %}s_ have several security advantages over {% data variables.product.pat_v1_plural %} (classic). - **Use:** _For types of packages other than containers_, to the right of the package version click **Delete**. - **Avoid:** Next to _**Title**_, add a descriptive label for your new key. ## Footnotes Avoid using footnotes where possible. Consider instead whether you could use a [callout](#callouts) or present the information in another way. See some [examples of alternatives to footnotes from NICE.org.uk](https://www.nice.org.uk/corporate/ecd6/chapter/footnotes). If you must use footnotes: - Use numbers. Do not use typographical symbols or special characters. - Place footnote markers in square brackets: `[1]`. - Do not use superscript. ## Headers Headers must adequately describe the content under them. Follow the same guidelines we use for writing titles. Each header on a page must be unique. Use H2 for headers, and H3 for subheaders. If the article has headers, the headers must start with an H2 level header and cannot skip header levels. There must be content between a header and subheader, such as an introduction. When referring to headers, surround the header name with quotation marks. - **Use:** Under "User licenses," view your total licenses. For more information, see the "[Content model](/contributing/writing-for-github-docs/content-model#titles)." ## Images We use static images including screenshots, diagrams, and graphs throughout the docs to complement textual information. Do not use animated GIFs in the docs. ### Alt text Every image must include alt text providing a textual equivalent of the visual information. - Express the core idea or meaning of the image, rather than describing it literally. - Use 40–150 characters. - End with a punctuation mark. This should generally be a period unless the alt text is describing an image of text that ends with other punctuation, such as a question mark or exclamation point. - Don't start with "Image..." or "Graphic...". Screen readers say this automatically. - Do begin with the _type_ of graphic: "Screenshot of..." or "Diagram that shows..." - Follow standard language used to describe UI elements in article text. - Put multi-word titles, such as names of menu items, in double quotation marks (""). When using punctuation after multi-word titles, place it outside of the quotation marks so that the string in quotation marks exactly matches the title as it appears in context. - If an area of the image is visually highlighted, describe how. This enables screen-reader users to understand and describe to a sighted friend/colleague what to look for from a visual language standpoint. #### Alt text for screenshots Alt text provides a short description of a screenshot's content to benefit people who cannot see it. - Alt text only needs to include the most relevant elements of an image, not every detail. - Alt text is not intended to provide instructions for using the GitHub interface. These should be included in accompanying article text. ##### Format > Screenshot of the `Product name` + `UI element` shown. The `UI element` + `state of the element/controls`, and its `keyboard shortcut XYZ`, are outlined in dark orange. - For `Product name`, use the {% data variables.product.company_short %} product or feature name, such as "{% data variables.product.prodname_actions %}" or "{% data variables.product.company_short %} repository," rather than just "{% data variables.product.company_short %}." - Use a variable for the word `{% data variables.product.company_short %}` as we do in running copy: `{% raw %}{% data variables.product.prodname_dotcom %}{% endraw %}` - Describe UI elements consistently with written documentation. - Be flexible with word order when needed for clarity. - For example, write "Screenshot of the Debug menu in Visual Studio Code..." rather than "Screenshot of the Visual Studio Code Debug menu...," to avoid multiple nouns in a row. ##### Examples > Screenshot of the {% data variables.product.prodname_dotcom %} committers by repository table. The horizontal kebab icon and "Download CSV report" button are outlined in dark orange. > Screenshot of file options in a {% data variables.product.prodname_dotcom %} repository. A button with an arrow indicating a dropdown menu, labeled "Code," is outlined in dark orange.  #### Alt text for diagrams and graphs Explain the information conveyed in the diagram or graph in text on the page. Use alt text to express the core idea of the image, without duplicating the webpage text. ##### Example > Diagram showing a five-step process by which a {% data variables.product.prodname_actions %} runner can be automatically added to named classes of runners and then requested by specific jobs. For example, see [accompanying explanation of this diagram in the Actions documentation.](/free-pro-team@latest/actions/using-github-hosted-runners/using-larger-runners#architectural-overview-of-larger-runners). #### Alt text for images of command-line interfaces Do not use screenshots of command-line interfaces to convey commands and their output. Instead, directly provide the commands a user should use. For more information, see the "[Commands](#commands)" section of the style guide. When using a screenshot of a command-line interface to show user interface elements, follow standard alt text guidelines for screenshots. ### Filenames Be descriptive when naming image files: include the name, action, and UI element in the filename. Mirror product language. Use kebab case. Do not use Liquid conditionals in filenames. If replacing an image, use the exact filename. - **Use:** `data-pack-purchase-button.png` - **Avoid:** `purchase_button.png` - **Avoid:** `purchase-button{% ifversion ghes %}-for-admins{% endif %}.png` ### Screenshots To learn about creating and versioning images, see "[Creating and updating screenshots](/contributing/writing-for-github-docs/creating-screenshots)." ## Inclusive language As home to the largest developer community in the world, {% data variables.product.company_short %} is committed to promoting diversity and inclusion in every aspect of what we do. All of our documentation is inclusive and respectful of our audience, which consists of people in widely varying circumstances from all over the planet. When we write our documentation, we use words that are inclusive, anti-racist, and accessible. Individual words might be small, but together they can create community, belonging, and equity. Be empathetic in all word and style choices. Be accurate when referring to people and communities. | Use | Avoid | | --- | --- | | Allowlist | Whitelist | | Denylist | Blacklist | | Default/Main branch | Master branch | ### Resources about inclusive language The Microsoft Style Guide offers resources on bias-free communication, accessibility terms, and writing for all abilities: - [Bias-free communication](https://docs.microsoft.com/style-guide/bias-free-communication) - [Writing for all abilities](https://docs.microsoft.com/style-guide/accessibility/writing-all-abilities) - [Accessibility terms](https://docs.microsoft.com/style-guide/a-z-word-list-term-collections/term-collections/accessibility-terms) More resources for learning about inclusive and accessible language and style: - [18F Content Guide on Inclusive Language](https://content-guide.18f.gov/our-style/inclusive-language/) - MailChimp Content Style Guide: - [Writing About People](https://styleguide.mailchimp.com/writing-about-people/) - [Writing for Accessibility](https://styleguide.mailchimp.com/writing-for-accessibility/) - [Readability Guidelines](https://readabilityguidelines.co.uk/) - [Conscious Style Guide](https://consciousstyleguide.com/) ## Keyboard shortcuts For presenting keyboard shortcuts, follow the [Microsoft Style Guide](https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/term-collections/keys-keyboard-shortcuts), **except for the following differences**: - Use the HTML `` tag for each individual key. - **Use:** `Command+B` - **Avoid:** `Command+B` - Use full words instead of symbols for Apple modifier keys. - **Use:** `Command` - **Avoid:** `⌘` - Use symbols for keys of special character, not full words. - **Use:** `.`, `,`, and `→`. - **Avoid:** `Period`, `Comma`, and `Right arrow`. ### Usage highlights Below are some usage highlights for how we present keyboard shortcuts in our documentation: - The basic syntax is to show keys with `+` between key combinations, without any spaces. - **Use:** `Command+B`, which is rendered as Command+B. - **Avoid:** `Command + B` or `Command + B` which are rendered as Command + B or Command + B. - Always capitalize letter keys for general references and keyboard shortcuts. - **Use:** Command+B - **Avoid:** Command+b. - Use the correct modifier keys for the each operating system. **Note:** Windows and Linux have Ctrl abbreviated, whereas on Mac it is spelled in full: Control. - For Windows and Linux: - **Use:** Ctrl, Alt. - **Avoid:** Control - For Mac: - **Use:** Command, Option, Control. - **Avoid:** Cmd, ⌘, Opt, ⌥, Ctrl, ⌃ - Don't confuse key combinations with keys in a sequence. - Command+B indicates that the user should hold down the Command key and press the B key. - G I indicates that the user should press the G key, then press the I key. - When describing a keyboard shortcut for multiple operating systems, append the operating system in brackets after the shortcut. Describe the Mac shortcut first, then Windows/Linux. - **Use:** `Command+B (Mac) or Ctrl+B (Windows/Linux)`, presented as: Command+B (Mac) or Ctrl+B (Windows / Linux) - **Avoid:** `Ctrl+B or Command+B`, presented as: Ctrl+B or Command+B ## Licensed content {% data variables.product.prodname_docs %} is licensed under a [CC-BY license](https://github.com/github/docs/blob/main/LICENSE). If you reuse or modify licensed content in an article, you must make sure that the license is compatible and properly attributed. Do not create reusables for license attributions. We must use the exact license a project is licensed under, so any attributions must be accurately written for the articles that they appear in. If you are unsure of the legality of reusing any content, contact legal. If you are adding content with a license that is not listed below, you must receive a legal review before you can publish the content. ### Attributing MIT-licensed content If we reuse or modify content under an MIT license, we must attribute the MIT license where the content appears. At the end of the article containing MIT-licensed content - Create a header titled `Legal notice` - Attribute where the content comes from and that it is licensed under the MIT license. Include a link to the project - Paste the full text of the MIT license from the project that you are attributing in a codeblock #### Example MIT license attribution This text is only an example. Always use the license text from the project you are attributing. ````` ## Legal notice Portions have been adapted from [PROJECT](/LINK/TO/PROJECT) under the MIT license: ``` MIT License Copyright YEAR COPYRIGHT-HOLDER Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` ````` ## Linebreaks For plain text, use linebreaks to separate paragraphs in the source (two consecutive linebreaks), rather than to create visual space in the source. Avoid unneeded linebreaks, especially in lists. ## Links Introduce links consistently using a standard format that clearly indicates where we're linking. For any link that points to another {% data variables.product.prodname_docs %} page, use the special keyword `AUTOTITLE`. See details in the [content markup reference](https://github.com/github/docs/blob/main/contributing/content-markup-reference.md#internal-links-with-autotitle). Usage examples: - For links to other pages: `For more information, see "[AUTOTITLE](/PATH/TO/PAGE)."` - For links to sections in other pages: `For more information, see "[AUTOTITLE](/PATH/TO/PAGE#SECTION-LINK)."` - For links to a page with a tool selected: `For more information, see the TOOLNAME documentation in "[AUTOTITLE](/PATH/TO/PAGE?tool=TOOLNAME)."` Same-page section links do **not** work with `AUTOTITLE`. Instead, type out the full header text: `For more information, see "[HEADER-TITLE](#SECTION-LINK)."` For links to external documentation, type out the full article name: `For more information, see [PAGE-TITLE](https://some-docs.com/PATH/TO/PAGE) in the XYZ documentation.` Do not include quotation marks within a hyperlink. Some best practices for using links: - Links should be meaningful and provide high value to the user’s journey—link out carefully. - Move links that are helpful but not necessary to an article’s further reading section. - Do not repeat the same link more than once in the same article or under the same H2 header. - Do not include the `apiVersion` query parameter in REST links unless you need to link to a specific calendar version of the REST docs. (This should be a rare occurrence.) For accessibility and readability, avoid inline or midsentence links. - **Use:** `OAuth2 tokens can be acquired programmatically for applications that are not websites. For more information, see "[AUTOTITLE](/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app)" and "[AUTOTITLE](/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps)."` - **Avoid:** `Read [more about OAuth2.](/apps/building-integrations/setting-up-and-registering-oauth-apps/) Note that OAuth2 tokens can be [acquired programmatically](/enterprise-server@2.22/rest/reference/oauth-authorizations/#create-a-new-authorization), for applications that are not websites.` For more information on links and accessibility, see “[Links](https://readabilityguidelines.co.uk/content-design/links/)” in the Readability Guidelines project. ### Links between versions Sometimes, you need to link from one version of GitHub Docs to another. When you want to link to a different version of the _same_ page, you should use the `currentArticle` property. For example, the Free, Pro, & Team version of "[AUTOTITLE](/organizations/managing-organization-settings/managing-the-publication-of-github-pages-sites-for-your-organization)" might link to the {% data variables.product.prodname_ghe_cloud %} version of the same article like this: ``` You can choose to allow or disallow the publication of GitHub Pages sites. Organizations that use G{% data variables.product.prodname_ghe_cloud %} can choose to allow publicly published sites, privately published sites, both, or neither. For more information, see [the GitHub Enterprise Cloud documentation](/enterprise-cloud@latest/{{ currentArticle }}). ``` To link to a different article in a different version, use this format: ``` For more information, see "[ARTICLE TITLE](/)" in the VERSION documentation. ``` To link to the same article in a different version, use this format: ``` For more information, see [the VERSION documentation](/VERSION/{{ currentArticle }}). ``` To link to a specific version, you must include the version in the path (e.g., `/enterprise-cloud@latest/{{ currentArticle }}`). ### Links to specific sections of articles When we link to specific sections of articles, we want to make sure the link is descriptive enough so that someone knows they are in the correct spot after following a link. To link to a specific header in the same article, use this format: ``` For more information, see "[HEADER TITLE](#HEADER-TITLE)." ``` To link to a specific header in a different article, use this format: ``` For more information, see "[AUTOTITLE](PATH-TO-ARTICLE#HEADER-TITLE)." ``` To link to two or more specific headers in a different article, use this format: ``` For more information, see "[HEADER-TITLE-1](PATH-TO-ARTICLE#SECTION-LINK-1)" and "[HEADER-TITLE-2](PATH-TO-ARTICLE#SECTION-LINK-2)" in "ARTICLE-TITLE." ``` ### Links to a specific tool When we link to content with a specific tool selected, we want to make sure that someone knows that they will be looking at content relevant to a specific tool even if they do not view the tool switcher tabs in the article. ``` For more information, see the TOOLNAME documentation in "[ARTICLE TITLE](/PATH/TO/ARTICLE?tool=TOOLNAME)." ``` ### Links to learning paths Use this format to link to a learning path. ``` For more information, follow the "[LEARNING PATH TITLE](/)" learning path. ``` ### Links to external resources When linking to an external site, choose the most useful resource for the context of the link - you can link to a whole site if it's a general reference or to a specific page if that would be more helpful. It's not necessary to link to an external product’s website when we mention an external product. ## Lists Capitalize the first letter in each line of a list. Use periods at the end of lines in a list only if the line contains a complete sentence. When writing a list of items that consist of primary and secondary text, such as a `term` and its definition, use a colon delimiter. The secondary text should be capitalized as if it was the beginning of the line. For example: - `foo`: Something that provides bar. - `bar`: Something provided by foo. Formatting unordered lists: - If the order of items in the list is not important, alphabetize the list items. - If the order is important, then order the list by the importance to the reader (for example, moving from broadest audience and applicability to a more specialized audience). When introducing a list, avoid phrasing like “the following” or “these”, terms which are difficult to localize. Instead, be descriptive, yet general enough to allow a list to scale or change without having to update the description. ## Placeholders Style any placeholder text in all caps. If a placeholder is multiple words, connect the words with dashes (kebab-case). If you use a placeholder, explain what someone might replace it with. This helps people modify examples to fit their needs and helps identify placeholders for people who use assistive technology. **Use:** - In the following example, replace YOUR-REPOSITORY with the name of your repository. `git init YOUR-REPOSITORY` - Click **Add USERNAME.** Where USERNAME is the username of the person you want to add. **Avoid:** - `git init your repository` - `git init
| Organization permission | Owners | Members | Moderators | Billing managers | Security managers |
|---|---|---|---|---|---|
| Create repositories | Yes | Yes | Yes | No | Yes |
| View and edit billing information | Yes | No | No | Yes | No |
| Invite people to join the organization | Yes | No | No | No | No |
| Option | Required | Security Updates | Version Updates | Description |
|---|---|---|---|---|
package-ecosystem |
{% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | Package manager to use |
directory |
{% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | Location of package manifests |
schedule.interval |
{% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | How often to check for updates |