CINXE.COM

Using the content linter - GitHub Docs

<!DOCTYPE html><html data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="icon" type="image/png" href="/assets/cb-345/images/site/favicon.png"/><link href="/manifest.json" rel="manifest"/><meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY"/><title>Using the content linter - GitHub Docs</title><meta name="description" content="You can use content linter to check your contributions for errors."/><link rel="alternate" hrefLang="zh-Hans" href="https://docs.github.com/zh/contributing/collaborating-on-github-docs/using-the-content-linter"/><link rel="alternate" hrefLang="es" href="https://docs.github.com/es/contributing/collaborating-on-github-docs/using-the-content-linter"/><link rel="alternate" hrefLang="pt" href="https://docs.github.com/pt/contributing/collaborating-on-github-docs/using-the-content-linter"/><link rel="alternate" hrefLang="ru" href="https://docs.github.com/ru/contributing/collaborating-on-github-docs/using-the-content-linter"/><link rel="alternate" hrefLang="ja" href="https://docs.github.com/ja/contributing/collaborating-on-github-docs/using-the-content-linter"/><link rel="alternate" hrefLang="fr" href="https://docs.github.com/fr/contributing/collaborating-on-github-docs/using-the-content-linter"/><link rel="alternate" hrefLang="de" href="https://docs.github.com/de/contributing/collaborating-on-github-docs/using-the-content-linter"/><link rel="alternate" hrefLang="ko" href="https://docs.github.com/ko/contributing/collaborating-on-github-docs/using-the-content-linter"/><meta name="path-language" content="en"/><meta name="path-version" content="free-pro-team@latest"/><meta name="path-product" content="contributing"/><meta name="path-article" content="contributing/collaborating-on-github-docs/using-the-content-linter"/><meta name="page-document-type" content="article"/><meta name="status" content="200"/><meta property="og:site_name" content="GitHub Docs"/><meta property="og:title" content="Using the content linter - GitHub Docs"/><meta property="og:type" content="article"/><meta property="og:url" content="https://docs.github.com/en/contributing/collaborating-on-github-docs/using-the-content-linter"/><meta property="og:image" content="https://github.githubassets.com/images/modules/open_graph/github-logo.png"/><meta name="next-head-count" content="26"/><link rel="preload" href="/_next/static/css/87cea936052d1d95.css" as="style"/><link rel="stylesheet" href="/_next/static/css/87cea936052d1d95.css" data-n-g=""/><link rel="preload" href="/_next/static/css/66757a3783028467.css" as="style"/><link rel="stylesheet" href="/_next/static/css/66757a3783028467.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/_next/static/chunks/webpack-ec48c0d94b7da59f.js" defer=""></script><script src="/_next/static/chunks/framework-945b357d4a851f4b.js" defer=""></script><script src="/_next/static/chunks/main-c95ae151e287e458.js" defer=""></script><script src="/_next/static/chunks/pages/_app-797fa94dba278176.js" defer=""></script><script src="/_next/static/chunks/727f57db-570e92d04a1cf153.js" defer=""></script><script src="/_next/static/chunks/4432-e0b0889138923fc7.js" defer=""></script><script src="/_next/static/chunks/6066-8d61a14f5f75720a.js" defer=""></script><script src="/_next/static/chunks/5293-274846982f5b82bb.js" defer=""></script><script src="/_next/static/chunks/2689-e7cc4d533fabe066.js" defer=""></script><script src="/_next/static/chunks/9418-89747b124934b544.js" defer=""></script><script src="/_next/static/chunks/5343-e2ac6b70d565e15c.js" defer=""></script><script src="/_next/static/chunks/pages/%5BversionId%5D/%5BproductId%5D/%5B...restPage%5D-d93d7776ab1c3347.js" defer=""></script><script src="/_next/static/zlsDNEj4XHFrSHCwIiw66/_buildManifest.js" defer=""></script><script src="/_next/static/zlsDNEj4XHFrSHCwIiw66/_ssgManifest.js" defer=""></script><style data-styled="" data-styled-version="5.3.5">.cEhRXB{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/ .dmdEgz{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;pointer-events:none;}/*!sc*/ .Ywlla{list-style:none;}/*!sc*/ .hROlum{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;min-width:0;}/*!sc*/ .cUxMoC{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}/*!sc*/ .bmseMA{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;font-weight:400;word-break:break-word;}/*!sc*/ .lmYNOb{height:20px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));margin-left:8px;font-weight:initial;}/*!sc*/ [data-variant="danger"]:hover .Box-sc-g0xbh4-0,[data-variant="danger"]:active .lmYNOb{color:var(--fgColor-default,var(--color-fg-default,#1F2328));}/*!sc*/ .gMkIpo{padding:0;margin:0;display:none;}/*!sc*/ .gMkIpo *{font-size:14px;}/*!sc*/ .enEvIH{padding:0;margin:0;display:block;}/*!sc*/ .enEvIH *{font-size:14px;}/*!sc*/ .ivpQTm{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;font-weight:600;word-break:break-word;}/*!sc*/ .eQiQea{grid-area:topper;}/*!sc*/ .ijSsTo{grid-area:intro;}/*!sc*/ .giVcWX{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;grid-area:sidebar;}/*!sc*/ .kohLxz{grid-area:content;}/*!sc*/ data-styled.g3[id="Box-sc-g0xbh4-0"]{content:"cEhRXB,dmdEgz,Ywlla,hROlum,cUxMoC,bmseMA,lmYNOb,gMkIpo,enEvIH,ivpQTm,eQiQea,ijSsTo,giVcWX,kohLxz,"}/*!sc*/ .hXCKEr{border-radius:6px;border:1px solid;border-color:transparent;font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));background-color:transparent;box-shadow:none;}/*!sc*/ .hXCKEr:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .hXCKEr:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .hXCKEr:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .hXCKEr[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .hXCKEr[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .hXCKEr:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .hXCKEr:active{-webkit-transition:none;transition:none;}/*!sc*/ .hXCKEr[data-inactive]{cursor:auto;}/*!sc*/ .hXCKEr:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));}/*!sc*/ .hXCKEr:disabled [data-component=ButtonCounter],.hXCKEr:disabled [data-component="leadingVisual"],.hXCKEr:disabled [data-component="trailingAction"]{color:inherit;}/*!sc*/ @media (forced-colors:active){.hXCKEr:focus{outline:solid 1px transparent;}}/*!sc*/ .hXCKEr [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .hXCKEr[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .hXCKEr[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/ .hXCKEr[data-size="small"] [data-component="text"]{line-height:calc(20 / 12);}/*!sc*/ .hXCKEr[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .hXCKEr[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .hXCKEr[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .hXCKEr[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .hXCKEr[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .hXCKEr[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .hXCKEr[data-block="block"]{width:100%;}/*!sc*/ .hXCKEr[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .hXCKEr[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .hXCKEr[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .hXCKEr[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .hXCKEr[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .hXCKEr[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .hXCKEr[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .hXCKEr[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .hXCKEr[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .hXCKEr [data-component="leadingVisual"]{grid-area:leadingVisual;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .hXCKEr [data-component="text"]{grid-area:text;line-height:calc(20/14);white-space:nowrap;}/*!sc*/ .hXCKEr [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/ .hXCKEr [data-component="trailingAction"]{margin-right:-4px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .hXCKEr [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .hXCKEr [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .hXCKEr [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;}/*!sc*/ .hXCKEr [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .hXCKEr:hover:not([disabled]){background-color:var(--control-transparent-bgColor-hover,var(--color-action-list-item-default-hover-bg,rgba(208,215,222,0.32)));}/*!sc*/ .hXCKEr:active:not([disabled]){background-color:var(--control-transparent-bgColor-active,var(--color-action-list-item-default-active-bg,rgba(208,215,222,0.48)));}/*!sc*/ .hXCKEr[aria-expanded=true]{background-color:var(--control-transparent-bgColor-selected,var(--color-action-list-item-default-selected-bg,rgba(208,215,222,0.24)));}/*!sc*/ .hXCKEr[data-component="IconButton"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .hXCKEr[data-no-visuals]{color:var(--fgColor-accent,var(--color-accent-fg,#0969da));}/*!sc*/ .hXCKEr:has([data-component="ButtonCounter"]){color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));}/*!sc*/ .hXCKEr:disabled[data-no-visuals]{color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));}/*!sc*/ .hXCKEr:disabled[data-no-visuals] [data-component=ButtonCounter]{color:inherit;}/*!sc*/ .hXCKEr{height:auto;text-align:left;}/*!sc*/ .hXCKEr span:first-child{display:inline;}/*!sc*/ .jOdgLl{border-radius:6px;border:1px solid;border-color:var(--button-default-borderColor-rest,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));background-color:var(--button-default-bgColor-rest,var(--color-btn-bg,#f6f8fa));box-shadow:var(--button-default-shadow-resting,var(--color-btn-shadow,0 1px 0 rgba(31,35,40,0.04))),var(--button-default-shadow-inset,var(--color-btn-inset-shadow,inset 0 1px 0 rgba(255,255,255,0.25)));}/*!sc*/ .jOdgLl:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .jOdgLl:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .jOdgLl:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .jOdgLl[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .jOdgLl[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .jOdgLl:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .jOdgLl:active{-webkit-transition:none;transition:none;}/*!sc*/ .jOdgLl[data-inactive]{cursor:auto;}/*!sc*/ .jOdgLl:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));border-color:var(--button-default-borderColor-disabled,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));background-color:var(--button-default-bgColor-disabled,var(--control-bgColor-disabled,var(--color-input-disabled-bg,rgba(175,184,193,0.2))));}/*!sc*/ .jOdgLl:disabled [data-component=ButtonCounter]{color:inherit;}/*!sc*/ @media (forced-colors:active){.jOdgLl:focus{outline:solid 1px transparent;}}/*!sc*/ .jOdgLl [data-component=ButtonCounter]{font-size:12px;background-color:var(--buttonCounter-default-bgColor-rest,var(--color-btn-counter-bg,rgba(31,35,40,0.08)));}/*!sc*/ .jOdgLl[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .jOdgLl[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/ .jOdgLl[data-size="small"] [data-component="text"]{line-height:calc(20 / 12);}/*!sc*/ .jOdgLl[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .jOdgLl[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .jOdgLl[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .jOdgLl[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .jOdgLl[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .jOdgLl[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .jOdgLl[data-block="block"]{width:100%;}/*!sc*/ .jOdgLl[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .jOdgLl[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .jOdgLl[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .jOdgLl[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .jOdgLl[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .jOdgLl[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .jOdgLl[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .jOdgLl[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .jOdgLl[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .jOdgLl [data-component="leadingVisual"]{grid-area:leadingVisual;}/*!sc*/ .jOdgLl [data-component="text"]{grid-area:text;line-height:calc(20/14);white-space:nowrap;}/*!sc*/ .jOdgLl [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/ .jOdgLl [data-component="trailingAction"]{margin-right:-4px;}/*!sc*/ .jOdgLl [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .jOdgLl [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .jOdgLl [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;}/*!sc*/ .jOdgLl [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .jOdgLl:hover:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-hover,var(--color-btn-hover-bg,#f3f4f6));border-color:var(--button-default-borderColor-hover,var(--button-default-borderColor-hover,var(--color-btn-hover-border,rgba(31,35,40,0.15))));}/*!sc*/ .jOdgLl:active:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .jOdgLl[aria-expanded=true]{background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .jOdgLl [data-component="leadingVisual"],.jOdgLl [data-component="trailingVisual"],.jOdgLl [data-component="trailingAction"]{color:var(--button-color,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .jOdgLl[data-component="IconButton"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .jOdgLl[data-no-visuals]{border-top-left-radius:unset;border-bottom-left-radius:unset;}/*!sc*/ .hmWbvh{border-radius:6px;border:1px solid;border-color:var(--button-default-borderColor-rest,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));background-color:var(--button-default-bgColor-rest,var(--color-btn-bg,#f6f8fa));box-shadow:var(--button-default-shadow-resting,var(--color-btn-shadow,0 1px 0 rgba(31,35,40,0.04))),var(--button-default-shadow-inset,var(--color-btn-inset-shadow,inset 0 1px 0 rgba(255,255,255,0.25)));}/*!sc*/ .hmWbvh:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .hmWbvh:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .hmWbvh:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .hmWbvh[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .hmWbvh[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .hmWbvh:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .hmWbvh:active{-webkit-transition:none;transition:none;}/*!sc*/ .hmWbvh[data-inactive]{cursor:auto;}/*!sc*/ .hmWbvh:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));border-color:var(--button-default-borderColor-disabled,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));background-color:var(--button-default-bgColor-disabled,var(--control-bgColor-disabled,var(--color-input-disabled-bg,rgba(175,184,193,0.2))));}/*!sc*/ .hmWbvh:disabled [data-component=ButtonCounter]{color:inherit;}/*!sc*/ @media (forced-colors:active){.hmWbvh:focus{outline:solid 1px transparent;}}/*!sc*/ .hmWbvh [data-component=ButtonCounter]{font-size:12px;background-color:var(--buttonCounter-default-bgColor-rest,var(--color-btn-counter-bg,rgba(31,35,40,0.08)));}/*!sc*/ .hmWbvh[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .hmWbvh[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/ .hmWbvh[data-size="small"] [data-component="text"]{line-height:calc(20 / 12);}/*!sc*/ .hmWbvh[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .hmWbvh[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .hmWbvh[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .hmWbvh[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .hmWbvh[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .hmWbvh[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .hmWbvh[data-block="block"]{width:100%;}/*!sc*/ .hmWbvh[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .hmWbvh[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .hmWbvh[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .hmWbvh[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .hmWbvh[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .hmWbvh[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .hmWbvh[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .hmWbvh[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .hmWbvh[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .hmWbvh [data-component="leadingVisual"]{grid-area:leadingVisual;}/*!sc*/ .hmWbvh [data-component="text"]{grid-area:text;line-height:calc(20/14);white-space:nowrap;}/*!sc*/ .hmWbvh [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/ .hmWbvh [data-component="trailingAction"]{margin-right:-4px;}/*!sc*/ .hmWbvh [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .hmWbvh [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .hmWbvh [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;}/*!sc*/ .hmWbvh [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .hmWbvh:hover:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-hover,var(--color-btn-hover-bg,#f3f4f6));border-color:var(--button-default-borderColor-hover,var(--button-default-borderColor-hover,var(--color-btn-hover-border,rgba(31,35,40,0.15))));}/*!sc*/ .hmWbvh:active:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .hmWbvh[aria-expanded=true]{background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .hmWbvh [data-component="leadingVisual"],.hmWbvh [data-component="trailingVisual"],.hmWbvh [data-component="trailingAction"]{color:var(--button-color,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .hmWbvh[data-component="IconButton"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .lkeyoI{border-radius:6px;border:1px solid;border-color:var(--button-default-borderColor-rest,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));background-color:var(--button-default-bgColor-rest,var(--color-btn-bg,#f6f8fa));box-shadow:var(--button-default-shadow-resting,var(--color-btn-shadow,0 1px 0 rgba(31,35,40,0.04))),var(--button-default-shadow-inset,var(--color-btn-inset-shadow,inset 0 1px 0 rgba(255,255,255,0.25)));}/*!sc*/ .lkeyoI:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .lkeyoI:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .lkeyoI:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .lkeyoI[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .lkeyoI[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .lkeyoI:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .lkeyoI:active{-webkit-transition:none;transition:none;}/*!sc*/ .lkeyoI[data-inactive]{cursor:auto;}/*!sc*/ .lkeyoI:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));border-color:var(--button-default-borderColor-disabled,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));background-color:var(--button-default-bgColor-disabled,var(--control-bgColor-disabled,var(--color-input-disabled-bg,rgba(175,184,193,0.2))));}/*!sc*/ .lkeyoI:disabled [data-component=ButtonCounter]{color:inherit;}/*!sc*/ @media (forced-colors:active){.lkeyoI:focus{outline:solid 1px transparent;}}/*!sc*/ .lkeyoI [data-component=ButtonCounter]{font-size:12px;background-color:var(--buttonCounter-default-bgColor-rest,var(--color-btn-counter-bg,rgba(31,35,40,0.08)));}/*!sc*/ .lkeyoI[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .lkeyoI[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/ .lkeyoI[data-size="small"] [data-component="text"]{line-height:calc(20 / 12);}/*!sc*/ .lkeyoI[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .lkeyoI[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .lkeyoI[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .lkeyoI[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .lkeyoI[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .lkeyoI[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .lkeyoI[data-block="block"]{width:100%;}/*!sc*/ .lkeyoI[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .lkeyoI[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .lkeyoI[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .lkeyoI[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .lkeyoI[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .lkeyoI[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .lkeyoI[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .lkeyoI[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .lkeyoI[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .lkeyoI [data-component="leadingVisual"]{grid-area:leadingVisual;}/*!sc*/ .lkeyoI [data-component="text"]{grid-area:text;line-height:calc(20/14);white-space:nowrap;}/*!sc*/ .lkeyoI [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/ .lkeyoI [data-component="trailingAction"]{margin-right:-4px;}/*!sc*/ .lkeyoI [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .lkeyoI [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .lkeyoI [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;}/*!sc*/ .lkeyoI [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .lkeyoI:hover:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-hover,var(--color-btn-hover-bg,#f3f4f6));border-color:var(--button-default-borderColor-hover,var(--button-default-borderColor-hover,var(--color-btn-hover-border,rgba(31,35,40,0.15))));}/*!sc*/ .lkeyoI:active:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .lkeyoI[aria-expanded=true]{background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .lkeyoI [data-component="leadingVisual"],.lkeyoI [data-component="trailingVisual"],.lkeyoI [data-component="trailingAction"]{color:var(--button-color,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .lkeyoI[data-component="IconButton"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .lkeyoI[data-no-visuals]{display:none;}/*!sc*/ .htZXvk{border-radius:6px;border:1px solid;border-color:var(--button-default-borderColor-rest,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));background-color:var(--button-default-bgColor-rest,var(--color-btn-bg,#f6f8fa));box-shadow:var(--button-default-shadow-resting,var(--color-btn-shadow,0 1px 0 rgba(31,35,40,0.04))),var(--button-default-shadow-inset,var(--color-btn-inset-shadow,inset 0 1px 0 rgba(255,255,255,0.25)));}/*!sc*/ .htZXvk:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .htZXvk:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .htZXvk:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .htZXvk[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .htZXvk[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .htZXvk:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .htZXvk:active{-webkit-transition:none;transition:none;}/*!sc*/ .htZXvk[data-inactive]{cursor:auto;}/*!sc*/ .htZXvk:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));border-color:var(--button-default-borderColor-disabled,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));background-color:var(--button-default-bgColor-disabled,var(--control-bgColor-disabled,var(--color-input-disabled-bg,rgba(175,184,193,0.2))));}/*!sc*/ .htZXvk:disabled [data-component=ButtonCounter]{color:inherit;}/*!sc*/ @media (forced-colors:active){.htZXvk:focus{outline:solid 1px transparent;}}/*!sc*/ .htZXvk [data-component=ButtonCounter]{font-size:12px;background-color:var(--buttonCounter-default-bgColor-rest,var(--color-btn-counter-bg,rgba(31,35,40,0.08)));}/*!sc*/ .htZXvk[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .htZXvk[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/ .htZXvk[data-size="small"] [data-component="text"]{line-height:calc(20 / 12);}/*!sc*/ .htZXvk[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .htZXvk[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .htZXvk[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .htZXvk[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .htZXvk[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .htZXvk[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .htZXvk[data-block="block"]{width:100%;}/*!sc*/ .htZXvk[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .htZXvk[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .htZXvk[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .htZXvk[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .htZXvk[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .htZXvk[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .htZXvk[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .htZXvk[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .htZXvk[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .htZXvk [data-component="leadingVisual"]{grid-area:leadingVisual;}/*!sc*/ .htZXvk [data-component="text"]{grid-area:text;line-height:calc(20/14);white-space:nowrap;}/*!sc*/ .htZXvk [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/ .htZXvk [data-component="trailingAction"]{margin-right:-4px;}/*!sc*/ .htZXvk [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .htZXvk [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .htZXvk [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;}/*!sc*/ .htZXvk [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .htZXvk:hover:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-hover,var(--color-btn-hover-bg,#f3f4f6));border-color:var(--button-default-borderColor-hover,var(--button-default-borderColor-hover,var(--color-btn-hover-border,rgba(31,35,40,0.15))));}/*!sc*/ .htZXvk:active:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .htZXvk[aria-expanded=true]{background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .htZXvk [data-component="leadingVisual"],.htZXvk [data-component="trailingVisual"],.htZXvk [data-component="trailingAction"]{color:var(--button-color,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .htZXvk[data-component="IconButton"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .htZXvk[data-no-visuals]{margin-left:16px;}/*!sc*/ @media (min-width:768px){.htZXvk[data-no-visuals]{margin-left:0;}}/*!sc*/ @media (min-width:1012px){.htZXvk[data-no-visuals]{display:none;}}/*!sc*/ .jCopKa{border-radius:6px;border:1px solid;border-color:transparent;font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));background-color:transparent;box-shadow:none;}/*!sc*/ .jCopKa:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .jCopKa:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .jCopKa:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .jCopKa[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .jCopKa[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .jCopKa:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .jCopKa:active{-webkit-transition:none;transition:none;}/*!sc*/ .jCopKa[data-inactive]{cursor:auto;}/*!sc*/ .jCopKa:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));}/*!sc*/ .jCopKa:disabled [data-component=ButtonCounter],.jCopKa:disabled [data-component="leadingVisual"],.jCopKa:disabled [data-component="trailingAction"]{color:inherit;}/*!sc*/ @media (forced-colors:active){.jCopKa:focus{outline:solid 1px transparent;}}/*!sc*/ .jCopKa [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .jCopKa[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .jCopKa[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/ .jCopKa[data-size="small"] [data-component="text"]{line-height:calc(20 / 12);}/*!sc*/ .jCopKa[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .jCopKa[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .jCopKa[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .jCopKa[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .jCopKa[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .jCopKa[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .jCopKa[data-block="block"]{width:100%;}/*!sc*/ .jCopKa[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .jCopKa[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .jCopKa[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .jCopKa[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .jCopKa[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .jCopKa[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .jCopKa[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .jCopKa[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .jCopKa[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .jCopKa [data-component="leadingVisual"]{grid-area:leadingVisual;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .jCopKa [data-component="text"]{grid-area:text;line-height:calc(20/14);white-space:nowrap;}/*!sc*/ .jCopKa [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/ .jCopKa [data-component="trailingAction"]{margin-right:-4px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .jCopKa [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .jCopKa [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .jCopKa [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;}/*!sc*/ .jCopKa [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .jCopKa:hover:not([disabled]){background-color:var(--control-transparent-bgColor-hover,var(--color-action-list-item-default-hover-bg,rgba(208,215,222,0.32)));}/*!sc*/ .jCopKa:active:not([disabled]){background-color:var(--control-transparent-bgColor-active,var(--color-action-list-item-default-active-bg,rgba(208,215,222,0.48)));}/*!sc*/ .jCopKa[aria-expanded=true]{background-color:var(--control-transparent-bgColor-selected,var(--color-action-list-item-default-selected-bg,rgba(208,215,222,0.24)));}/*!sc*/ .jCopKa[data-component="IconButton"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .jCopKa[data-no-visuals]{color:var(--fgColor-accent,var(--color-accent-fg,#0969da));}/*!sc*/ .jCopKa:has([data-component="ButtonCounter"]){color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));}/*!sc*/ .jCopKa:disabled[data-no-visuals]{color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));}/*!sc*/ .jCopKa:disabled[data-no-visuals] [data-component=ButtonCounter]{color:inherit;}/*!sc*/ data-styled.g4[id="types__StyledButton-sc-ws60qy-0"]{content:"hXCKEr,jOdgLl,hmWbvh,lkeyoI,htZXvk,jCopKa,"}/*!sc*/ .eiGLpS{display:none;}/*!sc*/ .eiGLpS[popover]{position:absolute;padding:0.5em 0.75em;width:-webkit-max-content;width:-moz-max-content;width:max-content;margin:auto;-webkit-clip:auto;clip:auto;white-space:normal;font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:subpixel-antialiased;color:var(--fgColor-onEmphasis,var(--color-fg-on-emphasis,#ffffff));text-align:center;word-wrap:break-word;background:var(--bgColor-emphasis,var(--color-neutral-emphasis-plus,#24292f));border-radius:6px;border:0;opacity:0;max-width:250px;inset:auto;overflow:visible;}/*!sc*/ .eiGLpS[popover]:popover-open{display:block;}/*!sc*/ .eiGLpS[popover].\:popover-open{display:block;}/*!sc*/ @media (forced-colors:active){.eiGLpS{outline:1px solid transparent;}}/*!sc*/ .eiGLpS::after{position:absolute;display:block;right:0;left:0;height:var(--overlay-offset,0.25rem);content:'';}/*!sc*/ .eiGLpS[data-direction='n']::after,.eiGLpS[data-direction='ne']::after,.eiGLpS[data-direction='nw']::after{top:100%;}/*!sc*/ .eiGLpS[data-direction='s']::after,.eiGLpS[data-direction='se']::after,.eiGLpS[data-direction='sw']::after{bottom:100%;}/*!sc*/ .eiGLpS[data-direction='w']::after{position:absolute;display:block;height:100%;width:8px;content:'';bottom:0;left:100%;}/*!sc*/ .eiGLpS[data-direction='e']::after{position:absolute;display:block;height:100%;width:8px;content:'';bottom:0;right:100%;margin-left:-8px;}/*!sc*/ @-webkit-keyframes tooltip-appear{from{opacity:0;}to{opacity:1;}}/*!sc*/ @keyframes tooltip-appear{from{opacity:0;}to{opacity:1;}}/*!sc*/ .eiGLpS:popover-open,.eiGLpS:popover-open::before{-webkit-animation-name:tooltip-appear;animation-name:tooltip-appear;-webkit-animation-duration:0.1s;animation-duration:0.1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-animation-delay:0s;animation-delay:0s;}/*!sc*/ .eiGLpS.\:popover-open,.eiGLpS.\:popover-open::before{-webkit-animation-name:tooltip-appear;animation-name:tooltip-appear;-webkit-animation-duration:0.1s;animation-duration:0.1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-animation-delay:0s;animation-delay:0s;}/*!sc*/ data-styled.g8[id="Tooltip__StyledTooltip-sc-e45c7z-0"]{content:"eiGLpS,"}/*!sc*/ .daAEFx{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}/*!sc*/ .gzcJGA{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);}/*!sc*/ data-styled.g11[id="Octicon-sc-9kayk9-0"]{content:"daAEFx,gzcJGA,"}/*!sc*/ .bebFBv{font-weight:600;font-size:32px;margin:0;font-size:14px;}/*!sc*/ @media (min-width:1012px) and (max-width:1400px){.bebFBv{margin-top:2rem;}}/*!sc*/ data-styled.g28[id="Heading__StyledHeading-sc-1c1dgg0-0"]{content:"bebFBv,"}/*!sc*/ .hgjakc{margin:0;padding-inline-start:0;padding-top:8px;padding-bottom:8px;}/*!sc*/ data-styled.g29[id="List__ListBox-sc-1x7olzq-0"]{content:"hgjakc,"}/*!sc*/ .itjSOb{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:8px;padding-right:8px;padding-top:6px;padding-bottom:6px;line-height:20px;min-height:5px;margin-left:8px;margin-right:8px;border-radius:6px;-webkit-transition:background 33.333ms linear;transition:background 33.333ms linear;color:var(--fgColor-default,var(--color-fg-default,#1F2328));cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:unset;border:unset;width:calc(100% - 16px);font-family:unset;text-align:unset;margin-top:unset;margin-bottom:unset;}/*!sc*/ .itjSOb[data-loading]{cursor:default;}/*!sc*/ .itjSOb[aria-disabled],.itjSOb[data-inactive]{cursor:not-allowed;}/*!sc*/ .itjSOb[aria-disabled] [data-component="ActionList.Checkbox"],.itjSOb[data-inactive] [data-component="ActionList.Checkbox"]{cursor:not-allowed;background-color:var(--color-input-disabled-bg,rgba(175,184,193,0.2));border-color:var(--color-input-disabled-bg,rgba(175,184,193,0.2));}/*!sc*/ @media (forced-colors:active){.itjSOb:focus,.itjSOb:focus-visible,.itjSOb > a.focus-visible{outline:solid 1px transparent !important;}}/*!sc*/ .itjSOb [data-component="ActionList.Item--DividerContainer"]{position:relative;}/*!sc*/ .itjSOb [data-component="ActionList.Item--DividerContainer"]::before{content:" ";display:block;position:absolute;width:100%;top:-7px;border:0 solid;border-top-width:0;border-color:var(--divider-color,transparent);}/*!sc*/ .itjSOb:not(:first-of-type){--divider-color:var(--borderColor-muted,var(--color-action-list-item-inline-divider,rgba(208,215,222,0.48)));}/*!sc*/ [data-component="ActionList.Divider"] + .Item__LiBox-sc-yeql7o-0{--divider-color:transparent !important;}/*!sc*/ .itjSOb:hover:not([aria-disabled]):not([data-inactive]):not([data-loading]),.itjSOb[data-focus-visible-added]:not([aria-disabled]):not([data-inactive]){--divider-color:transparent;}/*!sc*/ .itjSOb:hover:not([aria-disabled]):not([data-inactive]):not([data-loading]) + .Item__LiBox-sc-yeql7o-0,.itjSOb[data-focus-visible-added] + li{--divider-color:transparent;}/*!sc*/ @media (hover:hover) and (pointer:fine){.itjSOb:hover:not([aria-disabled]):not([data-inactive]){background-color:var(--control-transparent-bgColor-hover,var(--color-action-list-item-default-hover-bg,rgba(208,215,222,0.32)));color:var(--fgColor-default,var(--color-fg-default,#1F2328));box-shadow:inset 0 0 0 max(1px,0.0625rem) var(--control-transparent-borderColor-active,var(--color-action-list-item-default-active-border,transparent));}.itjSOb:focus-visible,.itjSOb > a.focus-visible,.itjSOb:focus.focus-visible{outline:none;border:2 solid;box-shadow:0 0 0 2px var(--bgColor-accent-emphasis,var(--color-accent-emphasis,#0969da));}.itjSOb:active:not([aria-disabled]):not([data-inactive]){background-color:var(--control-transparent-bgColor-active,var(--color-action-list-item-default-active-bg,rgba(208,215,222,0.48)));color:var(--fgColor-default,var(--color-fg-default,#1F2328));}}/*!sc*/ .lnYQME{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;padding-right:0;font-size:14px;padding-top:0;padding-bottom:0;line-height:20px;min-height:5px;margin-left:8px;margin-right:8px;border-radius:6px;-webkit-transition:background 33.333ms linear;transition:background 33.333ms linear;color:var(--fgColor-default,var(--color-fg-default,#1F2328));cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:unset;border:unset;width:calc(100% - 16px);font-family:unset;text-align:unset;margin-top:unset;margin-bottom:unset;}/*!sc*/ .lnYQME[data-loading]{cursor:default;}/*!sc*/ .lnYQME[aria-disabled],.lnYQME[data-inactive]{cursor:not-allowed;}/*!sc*/ .lnYQME[aria-disabled] [data-component="ActionList.Checkbox"],.lnYQME[data-inactive] [data-component="ActionList.Checkbox"]{cursor:not-allowed;background-color:var(--color-input-disabled-bg,rgba(175,184,193,0.2));border-color:var(--color-input-disabled-bg,rgba(175,184,193,0.2));}/*!sc*/ @media (forced-colors:active){.lnYQME:focus,.lnYQME:focus-visible,.lnYQME > a.focus-visible{outline:solid 1px transparent !important;}}/*!sc*/ .lnYQME [data-component="ActionList.Item--DividerContainer"]{position:relative;}/*!sc*/ .lnYQME [data-component="ActionList.Item--DividerContainer"]::before{content:" ";display:block;position:absolute;width:100%;top:-7px;border:0 solid;border-top-width:0;border-color:var(--divider-color,transparent);}/*!sc*/ .lnYQME:not(:first-of-type){--divider-color:var(--borderColor-muted,var(--color-action-list-item-inline-divider,rgba(208,215,222,0.48)));}/*!sc*/ [data-component="ActionList.Divider"] + .Item__LiBox-sc-yeql7o-0{--divider-color:transparent !important;}/*!sc*/ .lnYQME:hover:not([aria-disabled]):not([data-inactive]):not([data-loading]),.lnYQME[data-focus-visible-added]:not([aria-disabled]):not([data-inactive]){--divider-color:transparent;}/*!sc*/ .lnYQME:hover:not([aria-disabled]):not([data-inactive]):not([data-loading]) + .Item__LiBox-sc-yeql7o-0,.lnYQME[data-focus-visible-added] + li{--divider-color:transparent;}/*!sc*/ @media (hover:hover) and (pointer:fine){.lnYQME:hover:not([aria-disabled]):not([data-inactive]){background-color:var(--control-transparent-bgColor-hover,var(--color-action-list-item-default-hover-bg,rgba(208,215,222,0.32)));color:var(--fgColor-default,var(--color-fg-default,#1F2328));box-shadow:inset 0 0 0 max(1px,0.0625rem) var(--control-transparent-borderColor-active,var(--color-action-list-item-default-active-border,transparent));}.lnYQME:focus-visible,.lnYQME > a.focus-visible,.lnYQME:focus.focus-visible{outline:none;border:2 solid;box-shadow:0 0 0 2px var(--bgColor-accent-emphasis,var(--color-accent-emphasis,#0969da));}.lnYQME:active:not([aria-disabled]):not([data-inactive]){background-color:var(--control-transparent-bgColor-active,var(--color-action-list-item-default-active-bg,rgba(208,215,222,0.48)));color:var(--fgColor-default,var(--color-fg-default,#1F2328));}}/*!sc*/ .hTSEii{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;padding-right:0;font-size:14px;padding-top:0;padding-bottom:0;line-height:20px;min-height:5px;margin-left:8px;margin-right:8px;border-radius:6px;-webkit-transition:background 33.333ms linear;transition:background 33.333ms linear;color:var(--fgColor-default,var(--color-fg-default,#1F2328));cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:unset;border:unset;width:calc(100% - 16px);font-family:unset;text-align:unset;margin-top:unset;margin-bottom:unset;font-weight:600;background-color:var(--control-transparent-bgColor-selected,var(--color-action-list-item-default-selected-bg,rgba(208,215,222,0.24)));}/*!sc*/ .hTSEii[data-loading]{cursor:default;}/*!sc*/ .hTSEii[aria-disabled],.hTSEii[data-inactive]{cursor:not-allowed;}/*!sc*/ .hTSEii[aria-disabled] [data-component="ActionList.Checkbox"],.hTSEii[data-inactive] [data-component="ActionList.Checkbox"]{cursor:not-allowed;background-color:var(--color-input-disabled-bg,rgba(175,184,193,0.2));border-color:var(--color-input-disabled-bg,rgba(175,184,193,0.2));}/*!sc*/ @media (forced-colors:active){.hTSEii:focus,.hTSEii:focus-visible,.hTSEii > a.focus-visible{outline:solid 1px transparent !important;}}/*!sc*/ .hTSEii [data-component="ActionList.Item--DividerContainer"]{position:relative;}/*!sc*/ .hTSEii [data-component="ActionList.Item--DividerContainer"]::before{content:" ";display:block;position:absolute;width:100%;top:-7px;border:0 solid;border-top-width:0;border-color:var(--divider-color,transparent);}/*!sc*/ .hTSEii:not(:first-of-type){--divider-color:var(--borderColor-muted,var(--color-action-list-item-inline-divider,rgba(208,215,222,0.48)));}/*!sc*/ [data-component="ActionList.Divider"] + .Item__LiBox-sc-yeql7o-0{--divider-color:transparent !important;}/*!sc*/ .hTSEii:hover:not([aria-disabled]):not([data-inactive]):not([data-loading]),.hTSEii[data-focus-visible-added]:not([aria-disabled]):not([data-inactive]){--divider-color:transparent;}/*!sc*/ .hTSEii:hover:not([aria-disabled]):not([data-inactive]):not([data-loading]) + .Item__LiBox-sc-yeql7o-0,.hTSEii[data-focus-visible-added] + li{--divider-color:transparent;}/*!sc*/ .hTSEii::after{position:absolute;top:calc(50% - 12px);left:-8px;width:4px;height:24px;content:"";background-color:var(--fgColor-accent,var(--color-accent-fg,#0969da));border-radius:6px;}/*!sc*/ @media (hover:hover) and (pointer:fine){.hTSEii:hover:not([aria-disabled]):not([data-inactive]){background-color:var(--control-transparent-bgColor-hover,var(--color-action-list-item-default-hover-bg,rgba(208,215,222,0.32)));color:var(--fgColor-default,var(--color-fg-default,#1F2328));box-shadow:inset 0 0 0 max(1px,0.0625rem) var(--control-transparent-borderColor-active,var(--color-action-list-item-default-active-border,transparent));}.hTSEii:focus-visible,.hTSEii > a.focus-visible,.hTSEii:focus.focus-visible{outline:none;border:2 solid;box-shadow:0 0 0 2px var(--bgColor-accent-emphasis,var(--color-accent-emphasis,#0969da));}.hTSEii:active:not([aria-disabled]):not([data-inactive]){background-color:var(--control-transparent-bgColor-active,var(--color-action-list-item-default-active-bg,rgba(208,215,222,0.48)));color:var(--fgColor-default,var(--color-fg-default,#1F2328));}}/*!sc*/ data-styled.g31[id="Item__LiBox-sc-yeql7o-0"]{content:"itjSOb,lnYQME,hTSEii,"}/*!sc*/ .fuIgwR{color:var(--fgColor-accent,var(--color-accent-fg,#0969da));-webkit-text-decoration:none;text-decoration:none;padding-left:16px;padding-right:8px;padding-top:6px;padding-bottom:6px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;border-radius:6px;color:inherit;font-size:12px;font-weight:400;}/*!sc*/ [data-a11y-link-underlines='true'] .Link__StyledLink-sc-14289xe-0[data-inline='true']{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ .fuIgwR:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ .fuIgwR:is(button){display:inline-block;padding:0;font-size:inherit;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;}/*!sc*/ .fuIgwR:hover{color:inherit;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .cJbOew{color:var(--fgColor-accent,var(--color-accent-fg,#0969da));-webkit-text-decoration:none;text-decoration:none;padding-left:8px;padding-right:8px;padding-top:6px;padding-bottom:6px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;border-radius:6px;color:inherit;}/*!sc*/ [data-a11y-link-underlines='true'] .Link__StyledLink-sc-14289xe-0[data-inline='true']{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ .cJbOew:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ .cJbOew:is(button){display:inline-block;padding:0;font-size:inherit;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;}/*!sc*/ .cJbOew:hover{color:inherit;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ data-styled.g32[id="Link__StyledLink-sc-14289xe-0"]{content:"fuIgwR,cJbOew,"}/*!sc*/ .cnCOhW{font-size:14px;line-height:20px;color:var(--fgColor-default,var(--color-fg-default,#1F2328));vertical-align:middle;background-color:var(--bgColor-default,var(--color-canvas-default,#ffffff));border:1px solid var(--control-borderColor-rest,var(--borderColor-default,var(--color-border-default,#d0d7de)));border-radius:6px;outline:none;box-shadow:var(--shadow-inset,var(--color-primer-shadow-inset,inset 0 1px 0 rgba(208,215,222,0.2)));display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;min-height:32px;overflow:hidden;width:100%;height:2rem;-webkit-transition:width 0.3s ease-in-out;transition:width 0.3s ease-in-out;border-bottom-right-radius:unset;border-top-right-radius:unset;border-right:none;min-width:15rem;}/*!sc*/ .cnCOhW input,.cnCOhW textarea{cursor:text;}/*!sc*/ .cnCOhW select{cursor:pointer;}/*!sc*/ .cnCOhW input::-webkit-input-placeholder,.cnCOhW textarea::-webkit-input-placeholder,.cnCOhW select::-webkit-input-placeholder{color:var(---control-fgColor-placeholder,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .cnCOhW input::-moz-placeholder,.cnCOhW textarea::-moz-placeholder,.cnCOhW select::-moz-placeholder{color:var(---control-fgColor-placeholder,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .cnCOhW input:-ms-input-placeholder,.cnCOhW textarea:-ms-input-placeholder,.cnCOhW select:-ms-input-placeholder{color:var(---control-fgColor-placeholder,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .cnCOhW input::placeholder,.cnCOhW textarea::placeholder,.cnCOhW select::placeholder{color:var(---control-fgColor-placeholder,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .cnCOhW:focus-within{border-color:var(--fgColor-accent,var(--color-accent-fg,#0969da));outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-1px;}/*!sc*/ .cnCOhW > textarea{padding:12px;}/*!sc*/ @media (min-width:768px){.cnCOhW{font-size:14px;}}/*!sc*/ data-styled.g34[id="TextInputWrapper__TextInputBaseWrapper-sc-1mqhpbi-0"]{content:"cnCOhW,"}/*!sc*/ .hmJNAM{background-repeat:no-repeat;background-position:right 8px center;padding-left:0;padding-right:0;width:100%;height:2rem;-webkit-transition:width 0.3s ease-in-out;transition:width 0.3s ease-in-out;border-bottom-right-radius:unset;border-top-right-radius:unset;border-right:none;min-width:15rem;}/*!sc*/ .hmJNAM > :not(:last-child){margin-right:8px;}/*!sc*/ .hmJNAM .TextInput-icon,.hmJNAM .TextInput-action{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}/*!sc*/ .hmJNAM > input,.hmJNAM > select{padding-left:12px;padding-right:12px;}/*!sc*/ data-styled.g35[id="TextInputWrapper-sc-1mqhpbi-1"]{content:"hmJNAM,"}/*!sc*/ .jvumlb{border:0;font-size:inherit;font-family:inherit;background-color:transparent;-webkit-appearance:none;color:inherit;width:100%;}/*!sc*/ .jvumlb:focus{outline:0;}/*!sc*/ data-styled.g36[id="UnstyledTextInput-sc-14ypya-0"]{content:"jvumlb,"}/*!sc*/ </style></head><body><div id="__next"><a href="#main-content" class="visually-hidden skip-button color-bg-accent-emphasis color-fg-on-emphasis">Skip to main content</a><div data-container="header" class="border-bottom d-unset color-border-muted no-print z-3 color-bg-default Header_header__frpqb"><div data-container="notifications"></div><header class="color-bg-default p-2 position-sticky top-0 z-1 border-bottom" role="banner" aria-label="Main"><div class="d-flex flex-justify-between p-2 flex-items-center flex-wrap" data-testid="desktop-header"><div tabindex="-1" class="Header_logoWithClosedSearch__zhF6Q" id="github-logo"><a rel="" class="d-flex flex-items-center color-fg-default no-underline mr-3" href="/en"><svg aria-hidden="true" focusable="false" class="octicon octicon-mark-github" viewBox="0 0 24 24" width="32" height="32" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z"></path></svg><span class="h4 text-semibold ml-2 mr-3">GitHub Docs</span></a><div class="hide-sm border-left pl-3"><div data-testid="version-picker" class=""><button type="button" aria-label="Select GitHub product version: current version is free-pro-team@latest" class="types__StyledButton-sc-ws60qy-0 hXCKEr color-fg-default width-full p-1 pl-2 pr-2" aria-haspopup="true" aria-expanded="false" tabindex="0" data-loading="false" aria-describedby=":Ripn6:-loading-announcement" id=":Ripn6:"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 cEhRXB"><span data-component="text"><span style="white-space:pre-wrap">Version: </span><span class="f5 color-fg-muted text-normal" data-testid="field">Free, Pro, &amp; Team</span></span></span><span data-component="trailingAction" class="Box-sc-g0xbh4-0 dmdEgz"><svg aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></button></div></div></div><div class="d-flex flex-items-center"><div class="Header_searchContainerWithClosedSearch__h372b mr-3"><div data-testid="search"><div class="position-relative z-2"><form role="search" class="width-full d-flex"><meta name="viewport" content="width=device-width initial-scale=1"/><label class="text-normal width-full"><span class="visually-hidden" aria-describedby="Enter a search term to find it in the GitHub Docs.">Search GitHub Docs</span><span class="TextInputWrapper__TextInputBaseWrapper-sc-1mqhpbi-0 TextInputWrapper-sc-1mqhpbi-1 cnCOhW hmJNAM TextInput-wrapper" aria-busy="false"><input type="search" aria-required="true" data-testid="site-search-input" placeholder="Search GitHub Docs" autoComplete="off" autoCorrect="off" autoCapitalize="off" spellcheck="false" maxLength="512" aria-label="Search GitHub Docs" aria-describedby="Enter a search term to find it in the GitHub Docs." data-component="input" class="UnstyledTextInput-sc-14ypya-0 jvumlb" value=""/></span></label><button data-component="IconButton" type="submit" data-loading="false" data-no-visuals="true" aria-describedby=":Rucpn6:-loading-announcement" aria-labelledby=":R6cpn6:" class="types__StyledButton-sc-ws60qy-0 jOdgLl"><svg aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg></button><span data-direction="s" aria-hidden="true" id=":R6cpn6:" class="Tooltip__StyledTooltip-sc-e45c7z-0 eiGLpS">Search</span></form></div></div></div><div class="d-none d-lg-flex flex-items-center"><div data-testid="language-picker" class="d-flex"><button data-component="IconButton" type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" data-loading="false" data-no-visuals="true" aria-describedby=":Rkpn6:-loading-announcement" aria-labelledby=":Rukpn6:" id=":Rkpn6:" class="types__StyledButton-sc-ws60qy-0 hmWbvh"><svg aria-hidden="true" focusable="false" class="octicon octicon-globe" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path></svg></button><span data-direction="s" aria-hidden="true" id=":Rukpn6:" class="Tooltip__StyledTooltip-sc-e45c7z-0 eiGLpS">Select language: current language is English</span></div></div><button data-component="IconButton" type="button" class="types__StyledButton-sc-ws60qy-0 hmWbvh hide-lg hide-xl d-flex flex-items-center" data-testid="mobile-search-button" aria-expanded="false" data-loading="false" data-no-visuals="true" aria-describedby=":R74pn6:-loading-announcement" aria-labelledby=":R14pn6:"><svg aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg></button><span data-direction="s" aria-hidden="true" id=":R14pn6:" class="Tooltip__StyledTooltip-sc-e45c7z-0 eiGLpS">Open Search Bar</span><button data-component="IconButton" type="button" class="types__StyledButton-sc-ws60qy-0 lkeyoI px-3" data-testid="mobile-search-button" aria-expanded="false" data-loading="false" data-no-visuals="true" aria-describedby=":R7cpn6:-loading-announcement" aria-labelledby=":R1cpn6:"><svg aria-hidden="true" focusable="false" class="octicon octicon-x" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg></button><span data-direction="s" aria-hidden="true" id=":R1cpn6:" class="Tooltip__StyledTooltip-sc-e45c7z-0 eiGLpS">Close Search Bar</span><div><button data-component="IconButton" type="button" data-testid="mobile-menu" aria-haspopup="true" aria-expanded="false" tabindex="0" data-loading="false" data-no-visuals="true" aria-describedby=":R1kpn6:-loading-announcement" aria-labelledby=":Rvkpn6:" id=":R1kpn6:" class="types__StyledButton-sc-ws60qy-0 htZXvk"><svg aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button><span data-direction="s" aria-hidden="true" id=":Rvkpn6:" class="Tooltip__StyledTooltip-sc-e45c7z-0 eiGLpS">Open Menu</span></div></div></div><div class="d-flex flex-items-center d-xxl-none mt-2" data-testid="header-subnav"><div class="mr-2" data-testid="header-subnav-hamburger"><button data-component="IconButton" type="button" data-testid="sidebar-hamburger" class="types__StyledButton-sc-ws60qy-0 jCopKa color-fg-muted" data-loading="false" data-no-visuals="true" aria-describedby=":R3b9n6:-loading-announcement" aria-labelledby=":Rb9n6:"><svg aria-hidden="true" focusable="false" class="octicon octicon-three-bars" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M1 2.75A.75.75 0 0 1 1.75 2h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 2.75Zm0 5A.75.75 0 0 1 1.75 7h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 7.75ZM1.75 12h12.5a.75.75 0 0 1 0 1.5H1.75a.75.75 0 0 1 0-1.5Z"></path></svg></button><span data-direction="s" aria-hidden="true" id=":Rb9n6:" class="Tooltip__StyledTooltip-sc-e45c7z-0 eiGLpS">Open Sidebar</span></div><div class="mr-auto width-full" data-search="breadcrumbs"><nav data-testid="breadcrumbs-header" class="f5 breadcrumbs Breadcrumbs_breadcrumbs__xAC4i" aria-label="Breadcrumb" data-container="breadcrumbs"><ul><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="Contribute to GitHub Docs" class="Link--primary mr-2 color-fg-muted" href="/en/contributing">Contribute to GitHub Docs</a><span class="color-fg-muted pr-2">/</span></li><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="Collaborate on GitHub Docs" class="Link--primary mr-2 color-fg-muted" href="/en/contributing/collaborating-on-github-docs">Collaborate on GitHub Docs</a><span class="color-fg-muted pr-2">/</span></li><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="Using the content linter" class="Link--primary mr-2 color-fg-muted" href="/en/contributing/collaborating-on-github-docs/using-the-content-linter">Using the content linter</a></li></ul></nav></div></div></header></div><div class="d-lg-flex"><div data-container="nav" class="position-sticky d-none border-right d-xxl-block" style="width:326px;height:calc(100vh - 65px);top:65px"><nav aria-labelledby="allproducts-menu"><div class="d-none px-4 pb-3 border-bottom d-xxl-block"><div class="mt-3"><a rel="" class="f6 pl-2 pr-5 ml-n1 pb-1 Link--primary color-fg-default" href="/en"><svg aria-hidden="true" focusable="false" class="mr-1" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M7.78 12.53a.75.75 0 0 1-1.06 0L2.47 8.28a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L4.81 7h7.44a.75.75 0 0 1 0 1.5H4.81l2.97 2.97a.75.75 0 0 1 0 1.06Z"></path></svg>Home</a></div><div class="mt-3" id="allproducts-menu"><a rel="" data-testid="sidebar-product-xl" class="d-block pl-1 mb-2 h3 color-fg-default no-underline _product-title" href="/en/contributing">Contribute to GitHub Docs</a></div></div><div class="border-right d-none d-xxl-block bg-primary overflow-y-auto flex-shrink-0" style="width:326px;height:calc(100vh - 175px);padding-bottom:185px"><div data-testid="sidebar" style="overflow-y:auto" class="pt-3"><div class="ml-3" data-testid="product-sidebar"><nav aria-label="Product sidebar" class="NavList__NavBox-sc-1c8ygf7-0"><ul class="List__ListBox-sc-1x7olzq-0 hgjakc"><li aria-labelledby=":R3b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R3b6n6:--label " id=":R3b6n6:" aria-expanded="false" aria-controls=":R3b6n6H1:" class="Item__LiBox-sc-yeql7o-0 itjSOb"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R3b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Writing for GitHub Docs</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":R3b6n6H1:" aria-labelledby=":R3b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6jb6n6:--label " id=":R6jb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/writing-for-github-docs/best-practices-for-github-docs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6jb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Best practices for GitHub Docs</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rajb6n6:--label " id=":Rajb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/writing-for-github-docs/about-githubs-documentation-philosophy"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rajb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Documentation philosophy</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rejb6n6:--label " id=":Rejb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/writing-for-github-docs/about-githubs-documentation-fundamentals"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rejb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Documentation fundamentals</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rijb6n6:--label " id=":Rijb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/writing-for-github-docs/content-design-principles"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rijb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Content design principles</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rmjb6n6:--label " id=":Rmjb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/writing-for-github-docs/writing-content-to-be-translated"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rmjb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Write content to be translated</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rqjb6n6:--label " id=":Rqjb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/writing-for-github-docs/making-content-findable-in-search"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rqjb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Make content findable</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rujb6n6:--label " id=":Rujb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/writing-for-github-docs/versioning-documentation"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rujb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Versioning documentation</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R12jb6n6:--label " id=":R12jb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/writing-for-github-docs/using-markdown-and-liquid-in-github-docs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R12jb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Markdown and Liquid</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R16jb6n6:--label " id=":R16jb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/writing-for-github-docs/using-yaml-frontmatter"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R16jb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">YAML frontmatter</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1ajb6n6:--label " id=":R1ajb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/writing-for-github-docs/using-videos-in-github-docs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1ajb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Use videos</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1ejb6n6:--label " id=":R1ejb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/writing-for-github-docs/creating-reusable-content"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1ejb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Create reusable content</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1ijb6n6:--label " id=":R1ijb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/writing-for-github-docs/creating-screenshots"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1ijb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Create screenshots</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1mjb6n6:--label " id=":R1mjb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/writing-for-github-docs/creating-diagrams-for-github-docs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1mjb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Create diagrams</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1qjb6n6:--label " id=":R1qjb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/writing-for-github-docs/creating-tool-switchers-in-articles"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1qjb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Create tool switchers</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1ujb6n6:--label " id=":R1ujb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/writing-for-github-docs/configuring-redirects"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1ujb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Configure redirects</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R22jb6n6:--label " id=":R22jb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/writing-for-github-docs/changing-an-articles-title"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R22jb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Change an article&#x27;s title</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R26jb6n6:--label " id=":R26jb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/writing-for-github-docs/annotating-code-examples"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R26jb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Annotate code examples</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2ajb6n6:--label " id=":R2ajb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/writing-for-github-docs/templates"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2ajb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Templates</span></div></a></li></ul></div></li><li aria-labelledby=":R5b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R5b6n6:--label " id=":R5b6n6:" aria-expanded="false" aria-controls=":R5b6n6H1:" class="Item__LiBox-sc-yeql7o-0 itjSOb"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Style guide and content model</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":R5b6n6H1:" aria-labelledby=":R5b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6lb6n6:--label " id=":R6lb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/style-guide-and-content-model/style-guide"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6lb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Style guide</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Ralb6n6:--label " id=":Ralb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/style-guide-and-content-model/about-the-content-model"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Ralb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About the content model</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Relb6n6:--label " id=":Relb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/style-guide-and-content-model/contents-of-a-github-docs-article"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Relb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Contents of an article</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rilb6n6:--label " id=":Rilb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/style-guide-and-content-model/about-topics"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rilb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About topics</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rmlb6n6:--label " id=":Rmlb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/style-guide-and-content-model/conceptual-content-type"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rmlb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Conceptual content type</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rqlb6n6:--label " id=":Rqlb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/style-guide-and-content-model/referential-content-type"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rqlb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Referential content type</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rulb6n6:--label " id=":Rulb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/style-guide-and-content-model/procedural-content-type"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rulb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Procedural content type</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R12lb6n6:--label " id=":R12lb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/style-guide-and-content-model/troubleshooting-content-type"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R12lb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Troubleshooting content type</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R16lb6n6:--label " id=":R16lb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/style-guide-and-content-model/release-note-content-type"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R16lb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Release note content type</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1alb6n6:--label " id=":R1alb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/style-guide-and-content-model/quickstart-content-type"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1alb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Quickstart content type</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1elb6n6:--label " id=":R1elb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/style-guide-and-content-model/tutorial-content-type"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1elb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Tutorial content type</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1ilb6n6:--label " id=":R1ilb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/style-guide-and-content-model/about-combining-multiple-content-types"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1ilb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Combining multiple types</span></div></a></li></ul></div></li><li aria-labelledby=":R7b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R7b6n6:--label " id=":R7b6n6:" aria-expanded="true" aria-controls=":R7b6n6H1:" class="Item__LiBox-sc-yeql7o-0 itjSOb"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Collaborate on GitHub Docs</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 gzcJGA" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":R7b6n6H1:" aria-labelledby=":R7b6n6:" class="Box-sc-g0xbh4-0 enEvIH"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6nb6n6:--label " id=":R6nb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/collaborating-on-github-docs/about-contributing-to-github-docs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6nb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About contributing</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Ranb6n6:--label " id=":Ranb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/collaborating-on-github-docs/using-git-on-github-docs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Ranb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Using Git</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Renb6n6:--label " id=":Renb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/collaborating-on-github-docs/using-the-todocs-placeholder-to-leave-notes"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Renb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Using the TODOCS placeholder</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 hTSEii"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rinb6n6:--label " id=":Rinb6n6:" aria-current="page" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/collaborating-on-github-docs/using-the-content-linter"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rinb6n6:--label" class="Box-sc-g0xbh4-0 ivpQTm">Using the content linter</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rmnb6n6:--label " id=":Rmnb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/collaborating-on-github-docs/label-reference"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rmnb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Label reference</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rqnb6n6:--label " id=":Rqnb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/collaborating-on-github-docs/self-review-checklist"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rqnb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Self review checklist</span></div></a></li></ul></div></li><li aria-labelledby=":R9b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R9b6n6:--label " id=":R9b6n6:" aria-expanded="false" aria-controls=":R9b6n6H1:" class="Item__LiBox-sc-yeql7o-0 itjSOb"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Your working environment</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":R9b6n6H1:" aria-labelledby=":R9b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6pb6n6:--label " id=":R6pb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/setting-up-your-environment-to-work-on-github-docs/working-on-github-docs-in-a-codespace"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6pb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Working in a codespace</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rapb6n6:--label " id=":Rapb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/setting-up-your-environment-to-work-on-github-docs/creating-a-local-environment"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rapb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Create a local environment</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Repb6n6:--label " id=":Repb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/contributing/setting-up-your-environment-to-work-on-github-docs/troubleshooting-your-environment"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Repb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Troubleshooting your environment</span></div></a></li></ul></div></li></ul></nav></div></div></div></nav></div><div class="flex-column flex-1 min-width-0"><main id="main-content" style="scroll-margin-top:5rem"><div class="container-xl px-3 px-md-6 my-4"><div class="d-none d-xxl-block mt-3 mr-auto width-full"><nav data-testid="breadcrumbs-in-article" class="f5 breadcrumbs Breadcrumbs_breadcrumbs__xAC4i" aria-label="Breadcrumb" data-container="breadcrumbs"><ul><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="Contribute to GitHub Docs" class="Link--primary mr-2 color-fg-muted" href="/en/contributing">Contribute to GitHub Docs</a><span class="color-fg-muted pr-2">/</span></li><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="Collaborate on GitHub Docs" class="Link--primary mr-2 color-fg-muted" href="/en/contributing/collaborating-on-github-docs">Collaborate on GitHub Docs</a><span class="color-fg-muted pr-2">/</span></li><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="Using the content linter" class="Link--primary mr-2 color-fg-muted d-none" href="/en/contributing/collaborating-on-github-docs/using-the-content-linter">Using the content linter</a></li></ul></nav></div><div class="ArticleGridLayout_containerBox__lLLio"><div class="Box-sc-g0xbh4-0 eQiQea"><div class="d-flex flex-items-baseline flex-justify-between" data-container="title"><h1 id="title-h1" class="border-bottom-0">Using the content linter</h1></div></div><div id="article-intro" class="Box-sc-g0xbh4-0 ijSsTo f4 pb-4"><div class="f2 color-fg-muted mb-3 Lead_container__m3L5f _page-intro" data-container="lead" data-testid="lead" data-search="lead"><p>You can use content linter to check your contributions for errors.</p></div></div><div data-container="toc" class="Box-sc-g0xbh4-0 giVcWX ArticleGridLayout_sidebarBox__Cj_03 border-bottom border-lg-0 pb-4 mb-5 pb-xl-0 mb-xl-0"><h2 id="in-this-article" class="Heading__StyledHeading-sc-1c1dgg0-0 bebFBv mb-1 ml-3" aria-label="In this article">In this article</h2><nav data-testid="minitoc" class="NavList__NavBox-sc-1c8ygf7-0 Minitocs_miniToc__NaGol my-2" aria-labelledby="in-this-article"><ul class="List__ListBox-sc-1x7olzq-0 hgjakc"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R2dkteqn6:--label " id=":R2dkteqn6:" aria-current="false" href="#about-the-github-docs-content-linter" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2dkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">About the GitHub Docs content linter</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R2lkteqn6:--label " id=":R2lkteqn6:" aria-current="false" href="#running-the-github-docs-content-linter" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2lkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">Running the GitHub Docs content linter</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R2tkteqn6:--label " id=":R2tkteqn6:" aria-current="false" href="#linting-rules" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2tkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">Linting rules</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R35kteqn6:--label " id=":R35kteqn6:" aria-current="false" href="#suppressing-linter-rules" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R35kteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">Suppressing linter rules</span></div></a></li></ul></nav></div><div data-container="article" data-search="article-body" class="Box-sc-g0xbh4-0 kohLxz"><div id="article-contents"><div class="MarkdownContent_markdownBody__v5MYy markdown-body"><h2 id="about-the-github-docs-content-linter" tabindex="-1"><a class="heading-link" href="#about-the-github-docs-content-linter">About the GitHub Docs content linter<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p>Our content linter enforces style guide rules in our Markdown content.</p> <p>The linter uses <a href="https://github.com/DavidAnson/markdownlint"><code>markdownlint</code></a> as the framework to perform checks, report flaws, and automatically fix content, when possible. This framework flexibly runs specific rules, gives descriptive error messages, and fixes errors. The GitHub Docs content linter uses several existing <code>markdownlint</code> rules and additional custom rules to check the Markdown content in our <code>content</code> and <code>data</code> directories. Our custom rules implement checks that are either not yet available in the <code>markdownlint</code> framework or are specific to GitHub Docs content. Rules check the syntax for both Markdown and Liquid.</p> <h2 id="running-the-github-docs-content-linter" tabindex="-1"><a class="heading-link" href="#running-the-github-docs-content-linter">Running the GitHub Docs content linter<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p>The GitHub Docs content linter will run automatically on pre-commit, but you can also run it manually.</p> <h3 id="automatically-run-the-linter-on-pre-commit" tabindex="-1"><a class="heading-link" href="#automatically-run-the-linter-on-pre-commit">Automatically run the linter on pre-commit<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p>When you are writing content locally and committing files using the command line, those staged files will automatically be linted by the content linter. Both warnings and errors are reported, but only errors will prevent your commit from completing.</p> <p>If any errors are reported, your commit will not complete. You will need to fix the reported errors, re-add the changed files, and commit your changes again. Any errors that are reported must be fixed to prevent introducing errors in the content that are in violation of the GitHub Docs style guide. If any warnings are reported, you can optionally choose to fix them or not.</p> <p>When you are writing content locally, there are several rules that you can fix automatically using the command line. If you want to automatically fix errors that can be fixed, see "<a href="#automatically-fix-errors-that-can-be-fixed">Automatically fix errors that can be fixed</a>."</p> <p>If you are editing a file in the GitHub UI, you will not be able to automatically fix errors or run the linter on a commit, but you will get a CI failure if the content violates any rules with a severity of <code>error</code>.</p> <h3 id="manually-run-the-linter" tabindex="-1"><a class="heading-link" href="#manually-run-the-linter">Manually run the linter<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <h4 id="run-the-linter-on-staged-and-changed-files" tabindex="-1"><a class="heading-link" href="#run-the-linter-on-staged-and-changed-files">Run the linter on staged and changed files<span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p>Use the following command to run the linter locally on your staged and changed files. It will output both <code>warning</code> and <code>error</code> severity flaws.</p> <pre><code class="hljs language-shell">npm run lint-content </code></pre> <h4 id="run-the-linter-on-staged-and-changed-files-and-only-report-errors" tabindex="-1"><a class="heading-link" href="#run-the-linter-on-staged-and-changed-files-and-only-report-errors">Run the linter on staged and changed files and only report errors<span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p>Use the following command to run the linter locally on your staged and changed files, and report only <code>error</code> severity flaws.</p> <pre><code class="hljs language-shell">npm run lint-content -- --errors </code></pre> <h4 id="run-the-linter-on-specific-files-or-directories" tabindex="-1"><a class="heading-link" href="#run-the-linter-on-specific-files-or-directories">Run the linter on specific files or directories<span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p>Use the following command to run the linter locally on specific files or directories. Separate multiple paths with a space. You can include both files and directories in the same command.</p> <div class="code-example"><header class="d-flex flex-items-center flex-justify-between p-2 text-small rounded-top-1 border-top border-left border-right"><span class="flex-1">Shell</span><button class="js-btn-copy btn btn-sm tooltipped tooltipped-nw" aria-label="Copy Shell code to clipboard" data-clipboard="3087724006"><svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-copy" aria-hidden="true"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></button><pre hidden data-clipboard="3087724006">npm run lint-content -- \ --paths content/FILENAME.md content/DIRECTORY </pre></header><pre><code class="hljs language-shell">npm run lint-content -- \ --paths content/FILENAME.md content/DIRECTORY </code></pre></div> <h4 id="automatically-fix-errors-that-can-be-fixed" tabindex="-1"><a class="heading-link" href="#automatically-fix-errors-that-can-be-fixed">Automatically fix errors that can be fixed<span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p>If an error has <code>fixable: true</code> in its description, you can use the following commands to automatically fix them.</p> <p>Run this command to fix staged and changed files only:</p> <pre><code class="hljs language-shell">npm run lint-content -- --fix </code></pre> <p>Run this command to fix specific files or directories:</p> <pre><code class="hljs language-shell">npm run lint-content -- \ --fix --paths content/FILENAME.md content/DIRECTORY </code></pre> <h4 id="run-a-specific-set-of-linter-rules" tabindex="-1"><a class="heading-link" href="#run-a-specific-set-of-linter-rules">Run a specific set of linter rules<span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p>Use the following command to run one or more specific linter rules. These examples run the <code>heading-increment</code> and <code>code-fence-line-length</code> rules. Replace <code>heading-increment code-fence-line-length</code> with one or more linter aliases that you would like to run. To see the list of linter rules you can pass to this option, run <code>npm run lint-content -- --help</code>. You can use either the short name (for example, <code>MD001</code>) or long name (for example, <code>heading-increment</code>) of a linter rule.</p> <p>Run the specified linter rules on all staged and changed files:</p> <pre><code class="hljs language-shell">npm run lint-content -- \ --rules heading-increment code-fence-line-length </code></pre> <p>Run the specified linter rules on specific files or directories:</p> <pre><code class="hljs language-shell">npm run lint-content -- \ --rules heading-increment code-fence-line-length \ --path content/FILENAME.md content/DIRECTORY </code></pre> <h4 id="bypass-the-commit-hook" tabindex="-1"><a class="heading-link" href="#bypass-the-commit-hook">Bypass the commit hook<span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p>If the linter catches errors that you did not introduce, you can bypass the git commit hook by using the <code>--no-verify</code> option when you commit your changes.</p> <pre><code class="hljs language-shell">git commit -m 'MESSAGE' --no-verify </code></pre> <h3 id="display-the-help-menu-for-the-content-linter-script" tabindex="-1"><a class="heading-link" href="#display-the-help-menu-for-the-content-linter-script">Display the help menu for the content linter script<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <pre><code class="hljs language-shell">npm run lint-content -- --help </code></pre> <h2 id="linting-rules" tabindex="-1"><a class="heading-link" href="#linting-rules">Linting rules<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p>Each rule is configured in a file in <a href="https://github.com/github/docs/tree/main/src/content-linter/style"><code>src/content-linter/style</code></a>, which is where the severities of rules are defined.</p> <p>Errors must be addressed before merging your changes to the <code>main</code> branch. Warnings should be addressed but do not prevent a change from being merged into the <code>main</code> branch. Most rules will eventually be promoted to errors, once the content no longer has warning violations.</p> <table><thead><tr><th scope="col">Rule ID</th><th scope="col">Rule Name(s)</th><th scope="col">Description</th><th scope="col">Severity</th><th scope="col">Tags</th></tr></thead><tbody><tr><td><a href="https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md001.md">MD001</a></td><td>heading-increment</td><td>Heading levels should only increment by one level at a time</td><td>error</td><td>headings</td></tr><tr><td><a href="https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md004.md">MD004</a></td><td>ul-style</td><td>Unordered list style</td><td>error</td><td>bullet, ul</td></tr><tr><td><a href="https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md009.md">MD009</a></td><td>no-trailing-spaces</td><td>Trailing spaces</td><td>error</td><td>whitespace</td></tr><tr><td><a href="https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md011.md">MD011</a></td><td>no-reversed-links</td><td>Reversed link syntax</td><td>error</td><td>links</td></tr><tr><td><a href="https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md012.md">MD012</a></td><td>no-multiple-blanks</td><td>Multiple consecutive blank lines</td><td>error</td><td>whitespace, blank_lines</td></tr><tr><td><a href="https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md014.md">MD014</a></td><td>commands-show-output</td><td>Dollar signs used before commands without showing output</td><td>error</td><td>code</td></tr><tr><td><a href="https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md018.md">MD018</a></td><td>no-missing-space-atx</td><td>No space after hash on atx style heading</td><td>error</td><td>headings, atx, spaces</td></tr><tr><td><a href="https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md019.md">MD019</a></td><td>no-multiple-space-atx</td><td>Multiple spaces after hash on atx style heading</td><td>error</td><td>headings, atx, spaces</td></tr><tr><td><a href="https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md022.md">MD022</a></td><td>blanks-around-headings</td><td>Headings should be surrounded by blank lines</td><td>error</td><td>headings, blank_lines</td></tr><tr><td><a href="https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md023.md">MD023</a></td><td>heading-start-left</td><td>Headings must start at the beginning of the line</td><td>error</td><td>headings, spaces</td></tr><tr><td><a href="https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md027.md">MD027</a></td><td>no-multiple-space-blockquote</td><td>Multiple spaces after blockquote symbol</td><td>error</td><td>blockquote, whitespace, indentation</td></tr><tr><td><a href="https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md029.md">MD029</a></td><td>ol-prefix</td><td>Ordered list item prefix</td><td>error</td><td>ol</td></tr><tr><td><a href="https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md030.md">MD030</a></td><td>list-marker-space</td><td>Spaces after list markers</td><td>error</td><td>ol, ul, whitespace</td></tr><tr><td><a href="https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md031.md">MD031</a></td><td>blanks-around-fences</td><td>Fenced code blocks should be surrounded by blank lines</td><td>error</td><td>code, blank_lines</td></tr><tr><td><a href="https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md037.md">MD037</a></td><td>no-space-in-emphasis</td><td>Spaces inside emphasis markers</td><td>error</td><td>whitespace, emphasis</td></tr><tr><td><a href="https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md039.md">MD039</a></td><td>no-space-in-links</td><td>Spaces inside link text</td><td>error</td><td>whitespace, links</td></tr><tr><td><a href="https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md040.md">MD040</a></td><td>fenced-code-language</td><td>Fenced code blocks should have a language specified</td><td>error</td><td>code, language</td></tr><tr><td><a href="https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md042.md">MD042</a></td><td>no-empty-links</td><td>No empty links</td><td>error</td><td>links</td></tr><tr><td><a href="https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md047.md">MD047</a></td><td>single-trailing-newline</td><td>Files should end with a single newline character</td><td>error</td><td>blank_lines</td></tr><tr><td><a href="https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md049.md">MD049</a></td><td>emphasis-style</td><td>Emphasis style</td><td>error</td><td>emphasis</td></tr><tr><td><a href="https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md050.md">MD050</a></td><td>strong-style</td><td>Strong style</td><td>error</td><td>emphasis</td></tr><tr><td><a href="https://github.com/OnkarRuikar/markdownlint-rule-search-replace">search-replace</a></td><td>todocs-placeholder</td><td>Catch occurrences of TODOCS placeholder.</td><td>error</td><td></td></tr><tr><td><a href="https://github.com/OnkarRuikar/markdownlint-rule-search-replace">search-replace</a></td><td>docs-domain</td><td>Catch occurrences of docs.github.com domain.</td><td>error</td><td></td></tr><tr><td><a href="https://github.com/OnkarRuikar/markdownlint-rule-search-replace">search-replace</a></td><td>help-domain</td><td>Catch occurrences of help.github.com domain.</td><td>error</td><td></td></tr><tr><td><a href="https://github.com/OnkarRuikar/markdownlint-rule-search-replace">search-replace</a></td><td>preview-domain</td><td>Catch occurrences of preview.ghdocs.com domain.</td><td>error</td><td></td></tr><tr><td><a href="https://github.com/OnkarRuikar/markdownlint-rule-search-replace">search-replace</a></td><td>developer-domain</td><td>Catch occurrences of developer.github.com domain.</td><td>error</td><td></td></tr><tr><td><a href="https://github.com/OnkarRuikar/markdownlint-rule-search-replace">search-replace</a></td><td>deprecated liquid syntax: site.data</td><td>Catch occurrences of deprecated liquid data syntax.</td><td>error</td><td></td></tr><tr><td><a href="https://github.com/OnkarRuikar/markdownlint-rule-search-replace">search-replace</a></td><td>deprecated liquid syntax: octicon-<icon-name></icon-name></td><td>The octicon liquid syntax used is deprecated. Use this format instead <code>octicon "&#x3C;octicon-name>" aria-label="&#x3C;Octicon aria label>"</code></td><td>error</td><td></td></tr><tr><td><a href="https://github.com/github/markdownlint-github/blob/main/docs/rules/GH001-no-default-alt-text.md">GH001</a></td><td>no-default-alt-text</td><td>Images should have meaningful alternative text (alt text)</td><td>error</td><td>accessibility, images</td></tr><tr><td><a href="https://github.com/github/markdownlint-github/blob/main/docs/rules/GH002-no-generic-link-text.md">GH002</a></td><td>no-generic-link-text</td><td>Avoid using generic link text like <code>Learn more</code> or <code>Click here</code></td><td>error</td><td>accessibility, links</td></tr><tr><td>GHD030</td><td>code-fence-line-length</td><td>Code fence lines should not exceed a maximum length</td><td>warning</td><td>code, accessibility</td></tr><tr><td>GHD032</td><td>image-alt-text-end-punctuation</td><td>Alternate text for images should end with punctuation</td><td>error</td><td>accessibility, images</td></tr><tr><td>GHD004</td><td>image-file-kebab-case</td><td>Image file names must use kebab-case</td><td>error</td><td>images</td></tr><tr><td>GHD033</td><td>incorrect-alt-text-length</td><td>Images alternate text should be between 40-150 characters</td><td>warning</td><td>accessibility, images</td></tr><tr><td>GHD002</td><td>internal-links-no-lang</td><td>Internal links must not have a hardcoded language code</td><td>error</td><td>links, url</td></tr><tr><td>GHD003</td><td>internal-links-slash</td><td>Internal links must start with a /</td><td>error</td><td>links, url</td></tr><tr><td>GHD031</td><td>image-alt-text-exclude-words</td><td>Alternate text for images should not begin with words like "image" or "graphic"</td><td>error</td><td>accessibility, images</td></tr><tr><td>GHD034</td><td>list-first-word-capitalization</td><td>First word of list item should be capitalized</td><td>warning</td><td>ul, ol</td></tr><tr><td>GHD001</td><td>link-punctuation</td><td>Internal link titles must not contain punctuation</td><td>error</td><td>links, url</td></tr><tr><td>GHD008</td><td>early-access-references</td><td>Files that are not early access should not reference early-access or early-access files</td><td>error</td><td>feature, early-access</td></tr><tr><td>GHD021</td><td>yaml-scheduled-jobs</td><td>YAML snippets that include scheduled workflows must not run on the hour and must be unique</td><td>error</td><td>feature, actions</td></tr><tr><td>GHD006</td><td>internal-links-old-version</td><td>Internal links must not have a hardcoded version using old versioning syntax</td><td>error</td><td>links, url, versioning</td></tr><tr><td>GHD005</td><td>hardcoded-data-variable</td><td>Strings that contain "personal access token" should use the product variable instead</td><td>error</td><td>single-source</td></tr><tr><td>GHD013</td><td>github-owned-action-references</td><td>GitHub-owned action references should not be hardcoded</td><td>error</td><td>feature, actions</td></tr><tr><td>GHD016</td><td>liquid-quoted-conditional-arg</td><td>Liquid conditional tags should not quote the conditional argument</td><td>error</td><td>liquid, format</td></tr><tr><td>GHD014</td><td>liquid-data-references-defined</td><td>Liquid data or indented data references were found in content that have no value or do not exist in the data directory</td><td>error</td><td>liquid</td></tr><tr><td>GHD015</td><td>liquid-data-tag-format</td><td>Liquid data or indented data references tags must be correctly formatted and have the correct number of arguments and spacing</td><td>error</td><td>liquid, format</td></tr><tr><td>GHD010</td><td>frontmatter-hidden-docs</td><td>Articles with frontmatter property <code>hidden</code> can only be located in specific products</td><td>error</td><td>frontmatter, feature, early-access</td></tr><tr><td>GHD009</td><td>frontmatter-early-access-references</td><td>Files that are not early access should not have frontmatter that references early-access</td><td>error</td><td>frontmatter, feature, early-access</td></tr><tr><td>GHD011</td><td>frontmatter-video-transcripts</td><td>Video transcript must be configured correctly</td><td>error</td><td>frontmatter, feature, video-transcripts</td></tr><tr><td>GHD012</td><td>frontmatter-schema</td><td>Frontmatter must conform to the schema</td><td>error</td><td>frontmatter, schema</td></tr><tr><td>GHD007</td><td>code-annotations</td><td>Code annotations defined in Markdown must contain a specific layout frontmatter property</td><td>error</td><td>code, feature, annotate, frontmatter</td></tr><tr><td>GHD017</td><td>frontmatter-liquid-syntax</td><td>Frontmatter properties must use valid Liquid</td><td>error</td><td>liquid, frontmatter</td></tr><tr><td>GHD018</td><td>liquid-syntax</td><td>Markdown content must use valid Liquid</td><td>error</td><td>liquid</td></tr><tr><td>GHD019</td><td>liquid-if-tags</td><td>Liquid <code>ifversion</code> tags should be used instead of <code>if</code> tags when the argument is a valid version</td><td>error</td><td>liquid, versioning</td></tr><tr><td>GHD020</td><td>liquid-ifversion-tags</td><td>Liquid <code>ifversion</code> tags should contain valid version names as arguments</td><td>error</td><td>liquid, versioning</td></tr><tr><td>GHD022</td><td>liquid-ifversion-versions</td><td>Liquid <code>ifversion</code> (and <code>elsif</code>) should not always be true</td><td>warning</td><td>liquid, versioning</td></tr><tr><td>GHD035</td><td>rai-reusable-usage</td><td>RAI articles and reusables can only reference reusable content in the data/reusables/rai directory</td><td>error</td><td>feature, rai</td></tr><tr><td>GHD036</td><td>image-no-gif</td><td>Image must not be a gif, styleguide reference: contributing/style-guide-and-content-model/style-guide.md#images</td><td>error</td><td>images</td></tr><tr><td>GHD038</td><td>expired-content</td><td>Expired content must be remediated.</td><td>error</td><td>expired</td></tr><tr><td>GHD039</td><td>expiring-soon</td><td>Content that expires soon should be proactively addressed.</td><td>warning</td><td>expired</td></tr><tr><td><a href="https://github.com/github/docs/blob/main/src/content-linter/README.md">GHD040</a></td><td>table-liquid-versioning</td><td>Tables must use the correct liquid versioning format</td><td>error</td><td>tables</td></tr><tr><td>GHD041</td><td>third-party-action-pinning</td><td>Code examples that use third-party actions must always pin to a full length commit SHA</td><td>error</td><td>feature, actions</td></tr><tr><td>GHD042</td><td>liquid-tag-whitespace</td><td>Liquid tags should start and end with one whitespace. Liquid tag arguments should be separated by only one whitespace.</td><td>error</td><td>liquid, format</td></tr></tbody></table> <h3 id="syntax-for-linting-rules" tabindex="-1"><a class="heading-link" href="#syntax-for-linting-rules">Syntax for linting rules<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p>Some linting rules return warnings or errors based on HTML comments that you can add to articles.</p> <h4 id="syntax-for-expiring-and-expired-content" tabindex="-1"><a class="heading-link" href="#syntax-for-expiring-and-expired-content">Syntax for expiring and expired content<span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p>Rules <code>GHD038</code> and <code>GHD039</code> check for content that has been manually given an expiration date. Fourteen days before the specified date, the content linter will return a warning that the content is expiring soon. Starting on the specified date, the content linter will return an error and flag the content for remediation.</p> <p>You can add an expiration date to content by wrapping it in HTML tags that contain an expiration date in the format: <code>&#x3C;!-- expires yyyy-mm-dd --> &#x3C;!-- end expires yyyy-mm-dd --></code></p> <p><strong>Use:</strong></p> <pre><code class="hljs language-markdown">This content does not expire. &#x3C;!-- expires 2022-01-28 --> This content expires on January 28, 2022. &#x3C;!-- end expires 2022-01-28 --> This content also does not expire. </code></pre> <p>Note, if you are placing the expired tags in an HTML <code>table</code> element, make sure the tag goes around the entire row and not just the cell. For example:</p> <pre><code class="hljs language-html"><span class="hljs-comment">&#x3C;!-- expires 2024-06-28 --></span> <span class="hljs-tag">&#x3C;<span class="hljs-name">tr</span>></span> <span class="hljs-tag">&#x3C;<span class="hljs-name">td</span>></span> macOS <span class="hljs-tag">&#x3C;/<span class="hljs-name">td</span>></span> <span class="hljs-tag">&#x3C;<span class="hljs-name">td</span>></span> The <span class="hljs-tag">&#x3C;<span class="hljs-name">code</span>></span>macos-11<span class="hljs-tag">&#x3C;/<span class="hljs-name">code</span>></span> label is closing down and will no longer be available after 28 June 2024. <span class="hljs-tag">&#x3C;/<span class="hljs-name">td</span>></span> <span class="hljs-tag">&#x3C;/<span class="hljs-name">tr</span>></span> <span class="hljs-comment">&#x3C;!-- end expires 2024-06-28 --></span> </code></pre> <h2 id="suppressing-linter-rules" tabindex="-1"><a class="heading-link" href="#suppressing-linter-rules">Suppressing linter rules<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p>Rarely, you may need to document something that violates one or more linter rules. In these cases, you can suppress rules by adding a comment to the Markdown file. You can disable all rules or specific rules. Always try to limit as few rules as possible. You can disable a rule for an entire file, for a section of a Markdown file, a specific line, or the next line.</p> <p>For example, if you are writing an article that includes the regular expression <code>(^|/)[Cc]+odespace/</code> that checks for reversed link syntax, it will trigger the <code>MD011</code> rule that checks for reversed links. You can disable the rule <code>MD011</code> on that specific line by adding the following comment.</p> <pre><code class="hljs language-text">(^|/)[Cc]+odespace/ &#x3C;!-- markdownlint-disable-line MD011 --> </code></pre> <p>If the line you're trying to ignore is in a code block, you can ignore the code block by surrounding it with the following comments.</p> <pre><code class="hljs language-text">&#x3C;!-- markdownlint-disable MD011 --> ``` (^|/)[Cc]+odespace/ ``` &#x3C;!-- markdownlint-enable MD011 --> </code></pre> <p>You can use these comments to enable or disable rules.</p> <table><thead><tr><th align="left" scope="col">Comment</th><th align="left" scope="col">Effect</th></tr></thead><tbody><tr><td align="left"><code>&#x3C;!-- markdownlint-disable --></code></td><td align="left">Disable all rules</td></tr><tr><td align="left"><code>&#x3C;!-- markdownlint-enable --></code></td><td align="left">Enable all rules</td></tr><tr><td align="left"><code>&#x3C;!-- markdownlint-disable-line --></code></td><td align="left">Disable all rules for the current line</td></tr><tr><td align="left"><code>&#x3C;!-- markdownlint-disable-next-line --></code></td><td align="left">Disable all rules for the next line</td></tr><tr><td align="left"><code>&#x3C;!-- markdownlint-disable RULE-ONE RULE-TWO --></code></td><td align="left"></td></tr><tr><td align="left"><code>&#x3C;!-- markdownlint-enable RULE-ONE RULE-TWO --></code></td><td align="left">Enable one or more rules by name</td></tr><tr><td align="left"><code>&#x3C;!-- markdownlint-disable-line RULE-NAME --></code></td><td align="left">Disable one or more rules by name for the current line</td></tr><tr><td align="left"><code>&#x3C;!-- markdownlint-disable-next-line RULE-NAME --></code></td><td align="left">Disable one or more rules by name for the next line</td></tr></tbody></table></div></div></div></div></div></main><footer data-container="footer"><section class="container-xl mt-lg-8 mt-6 px-3 px-md-6 no-print mx-auto"><h2 class="f3">Help and support</h2><div class="container-xl mx-auto py-6 py-lg-6 clearfix border-top border-color-secondary"><div class="float-left pr-4 mb-6 mb-xl-0 col-12 col-lg-6 col-xl-3"><form class="f5" data-testid="survey-form" aria-live="polite"><h3 id="survey-title" class="f4 mb-3">Did you find what you needed?</h3><input type="text" class="d-none" name="survey-token" value=""/><div class="mb-2" role="radiogroup" aria-labelledby="survey-title"><input class="Survey_visuallyHidden__Xh_nl Survey_customRadio__aNqUl" id="survey-yes" type="radio" name="survey-vote" aria-label="Yes" value="Y"/><label class="btn mr-1" for="survey-yes"><svg aria-hidden="true" focusable="false" class="color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8.834.066c.763.087 1.5.295 2.01.884.505.581.656 1.378.656 2.3 0 .467-.087 1.119-.157 1.637L11.328 5h1.422c.603 0 1.174.085 1.668.333.508.254.911.679 1.137 1.2.453.998.438 2.447.188 4.316l-.04.306c-.105.79-.195 1.473-.313 2.033-.131.63-.315 1.209-.668 1.672C13.97 15.847 12.706 16 11 16c-1.848 0-3.234-.333-4.388-.653-.165-.045-.323-.09-.475-.133-.658-.186-1.2-.34-1.725-.415A1.75 1.75 0 0 1 2.75 16h-1A1.75 1.75 0 0 1 0 14.25v-7.5C0 5.784.784 5 1.75 5h1a1.75 1.75 0 0 1 1.514.872c.258-.105.59-.268.918-.508C5.853 4.874 6.5 4.079 6.5 2.75v-.5c0-1.202.994-2.337 2.334-2.184ZM4.5 13.3c.705.088 1.39.284 2.072.478l.441.125c1.096.305 2.334.598 3.987.598 1.794 0 2.28-.223 2.528-.549.147-.193.276-.505.394-1.07.105-.502.188-1.124.295-1.93l.04-.3c.25-1.882.189-2.933-.068-3.497a.921.921 0 0 0-.442-.48c-.208-.104-.52-.174-.997-.174H11c-.686 0-1.295-.577-1.206-1.336.023-.192.05-.39.076-.586.065-.488.13-.97.13-1.328 0-.809-.144-1.15-.288-1.316-.137-.158-.402-.304-1.048-.378C8.357 1.521 8 1.793 8 2.25v.5c0 1.922-.978 3.128-1.933 3.825a5.831 5.831 0 0 1-1.567.81ZM2.75 6.5h-1a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h1a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg> <!-- -->Yes</label><input class="Survey_visuallyHidden__Xh_nl Survey_customRadio__aNqUl" id="survey-no" type="radio" name="survey-vote" aria-label="No" value="N"/><label class="btn" for="survey-no"><svg aria-hidden="true" focusable="false" class="color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M7.083 15.986c-.763-.087-1.499-.295-2.011-.884-.504-.581-.655-1.378-.655-2.299 0-.468.087-1.12.157-1.638l.015-.112H3.167c-.603 0-1.174-.086-1.669-.334a2.415 2.415 0 0 1-1.136-1.2c-.454-.998-.438-2.447-.188-4.316l.04-.306C.32 4.108.41 3.424.526 2.864c.132-.63.316-1.209.669-1.672C1.947.205 3.211.053 4.917.053c1.848 0 3.234.332 4.388.652l.474.133c.658.187 1.201.341 1.726.415a1.75 1.75 0 0 1 1.662-1.2h1c.966 0 1.75.784 1.75 1.75v7.5a1.75 1.75 0 0 1-1.75 1.75h-1a1.75 1.75 0 0 1-1.514-.872c-.259.105-.59.268-.919.508-.671.491-1.317 1.285-1.317 2.614v.5c0 1.201-.994 2.336-2.334 2.183Zm4.334-13.232c-.706-.089-1.39-.284-2.072-.479l-.441-.125c-1.096-.304-2.335-.597-3.987-.597-1.794 0-2.28.222-2.529.548-.147.193-.275.505-.393 1.07-.105.502-.188 1.124-.295 1.93l-.04.3c-.25 1.882-.19 2.933.067 3.497a.923.923 0 0 0 .443.48c.208.104.52.175.997.175h1.75c.685 0 1.295.577 1.205 1.335-.022.192-.049.39-.075.586-.066.488-.13.97-.13 1.329 0 .808.144 1.15.288 1.316.137.157.401.303 1.048.377.307.035.664-.237.664-.693v-.5c0-1.922.978-3.127 1.932-3.825a5.878 5.878 0 0 1 1.568-.809Zm1.75 6.798h1a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25h-1a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25Z"></path></svg> <!-- -->No</label></div><a rel="" class="f6 text-underline" target="_blank" href="/en/site-policy/privacy-policies/github-privacy-statement">Privacy policy</a></form></div><div class="float-left pr-4 mb-6 mb-xl-0 col-12 col-lg-6 col-xl-4 offset-xl-1"><div class="f5 contribution"><h3 class="f4 mb-3">Help us make these docs great!</h3><p class="max-w-xs color-fg-muted mb-3">All GitHub docs are open source. See something that&#x27;s wrong or unclear? Submit a pull request.</p><a class="btn" href="https://github.com/github/docs/blob/main/content/contributing/collaborating-on-github-docs/using-the-content-linter.md"><svg aria-hidden="true" focusable="false" class="octicon mr-1" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path></svg>Make a contribution</a><p class="color-fg-muted f6 mt-2"><a class="text-underline" href="/contributing" target="_blank" rel="noopener">Learn how to contribute</a></p></div></div><div class="float-left pr-4 mb-6 mb-xl-0 col-12 col-lg-6 col-xl-3 offset-xl-1"><div><h3 class="mb-3 f4">Still need help?</h3><div class="mb-2"><a id="ask-community" href="https://github.com/orgs/community/discussions" class="text-underline"><svg aria-hidden="true" focusable="false" class="octicon mr-1" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path></svg>Ask the GitHub community</a></div><div><a id="support" href="https://support.github.com" class="text-underline"><svg aria-hidden="true" focusable="false" class="octicon mr-1" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path></svg>Contact support</a></div></div></div></div></section><section class="container-xl px-3 mt-6 pb-8 px-md-6 color-fg-muted"><h2 class="f4 mb-2 col-12">Legal</h2><ul class="d-flex flex-wrap list-style-none"><li class="mr-3">© <!-- -->2024<!-- --> GitHub, Inc.</li><li class="mr-3"><a class="text-underline" href="/en/site-policy/github-terms/github-terms-of-service">Terms</a></li><li class="mr-3"><a class="text-underline" href="/en/site-policy/privacy-policies/github-privacy-statement">Privacy</a></li><li class="mr-3"><a class="text-underline" href="https://www.githubstatus.com/">Status</a></li><li class="mr-3"><a class="text-underline" href="https://github.com/pricing">Pricing</a></li><li class="mr-3"><a class="text-underline" href="https://services.github.com">Expert services</a></li><li class="mr-3"><a class="text-underline" href="https://github.blog">Blog</a></li></ul></section><div role="tooltip" class="position-fixed bottom-0 mb-4 right-0 mr-4 z-1 ScrollButton_transition200__rLxBo ScrollButton_opacity0__vjKQD"><button class="ghd-scroll-to-top tooltipped tooltipped-n tooltipped-no-delay btn circle border-1 d-flex flex-items-center flex-justify-center ScrollButton_customFocus__L3FsX" style="width:40px;height:40px" aria-label="Scroll to top"><svg aria-hidden="true" focusable="false" class="octicon octicon-chevron-up" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M3.22 10.53a.749.749 0 0 1 0-1.06l4.25-4.25a.749.749 0 0 1 1.06 0l4.25 4.25a.749.749 0 1 1-1.06 1.06L8 6.811 4.28 10.53a.749.749 0 0 1-1.06 0Z"></path></svg></button></div></footer></div></div><script type="application/json" id="__PRIMER_DATA_:R16:__">{"resolvedServerColorMode":"day"}</script></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"mainContext":{"breadcrumbs":[{"href":"/en/contributing","title":"Contribute to GitHub Docs"},{"href":"/en/contributing/collaborating-on-github-docs","title":"Collaborate on GitHub Docs"},{"href":"/en/contributing/collaborating-on-github-docs/using-the-content-linter","title":"Using the content linter"}],"communityRedirect":{},"currentProduct":{"id":"contributing","name":"Contribute to GitHub Docs","href":"/contributing","dir":"content/contributing","toc":"content/contributing/index.md","wip":false,"hidden":false,"versions":["free-pro-team@latest","enterprise-cloud@latest","enterprise-server@3.15","enterprise-server@3.14","enterprise-server@3.13","enterprise-server@3.12","enterprise-server@3.11","enterprise-server@3.10"]},"currentProductName":"Contribute to GitHub Docs","isHomepageVersion":false,"error":"","data":{"ui":{"alerts":{"NOTE":"Note","IMPORTANT":"Important","WARNING":"Warning","TIP":"Tip","CAUTION":"Caution"},"header":{"github_docs":"GitHub Docs","contact":"Contact","notices":{"release_candidate":" is currently available as a \u003ca href=\"/admin/overview/about-upgrades-to-new-releases\"\u003erelease candidate\u003c/a\u003e.","early_access":"📣 Please \u003cb\u003edo not share\u003c/b\u003e this URL publicly. This page contains content about a private preview feature.","release_notes_use_latest":"Please use the latest release for the latest security, performance, and bug fixes.","ghes_release_notes_upgrade_patch_only":"📣 This is not the \u003ca href=\"#{{ latestPatch }}\"\u003elatest patch release\u003c/a\u003e of Enterprise Server.","ghes_release_notes_upgrade_release_only":"📣 This is not the \u003ca href=\"/enterprise-server@{{ latestRelease }}/admin/release-notes\"\u003elatest release\u003c/a\u003e of Enterprise Server.","ghes_release_notes_upgrade_patch_and_release":"📣 This is not the \u003ca href=\"#{{ latestPatch }}\"\u003elatest patch release\u003c/a\u003e of this release series, and this is not the \u003ca href=\"/enterprise-server@{{ latestRelease }}/admin/release-notes\"\u003elatest release\u003c/a\u003e of Enterprise Server."},"sign_up_cta":"Sign up","menu":"Menu","go_home":"Home"},"search":{"description":"Enter a search term to find it in the GitHub Docs.","placeholder":"Search GitHub Docs","label":"Search GitHub Docs"},"survey":{"able_to_find":"Did you find what you needed?","yes":"Yes","no":"No","cancel":"Cancel","additional_feedback":"Can you tell us more about your rating? (Optional)","optional":"Optional","required":"Required","email_label":"Leave your email if we can contact you. (Optional)","email_validation":"Please enter a valid email address","send":"Send","feedback":"Thank you! We received your feedback.","not_support":"If you need a reply, please contact \u003ca href=\"https://support.github.com/\"\u003esupport\u003c/a\u003e.","privacy_policy":"Privacy policy","server_error":"Unable to process comment at the moment. Please try again."},"toc":{"getting_started":"Getting started","popular":"Popular","startHere":"Start here","whats_new":"What's new","videos":"Videos","all_changelogs":"All changelog posts"},"meta":{"default_description":"Get started, troubleshoot, and make the most of GitHub. Documentation for new users, developers, administrators, and all of GitHub's products."},"scroll_button":{"scroll_to_top":"Scroll to top"},"pages":{"article_version":"Article version","miniToc":"In this article","all_enterprise_releases":"All Enterprise Server releases","about_versions":"About versions","permissions_callout_title":"Who can use this feature?","video_from_transcript":"See video for this transcript"},"picker":{"language_picker_label":"Language","product_picker_default_text":"All products","version_picker_default_text":"Choose a version"},"footer":{"support_heading":"Help and support","legal_heading":"Legal","imprint":"Imprint","terms":"Terms","privacy":"Privacy","status":"Status","pricing":"Pricing","expert_services":"Expert services","blog":"Blog"},"contribution_cta":{"title":"Help us make these docs great!","body":"All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.","button":"Make a contribution","to_guidelines":"Learn how to contribute"},"support":{"still_need_help":"Still need help?","contact_support":"Contact support","ask_community":"Ask the GitHub community"},"rest":{"banner":{"api_versioned":"The REST API is now versioned.","api_version_info":"For more information, see \"\u003ca href=\"{{ versionWithApiVersion }}/rest/overview/api-versions\"\u003eAbout API versioning\u003c/a\u003e.\"","ghes_api_versioned":"After a site administrator upgrades your Enterprise Server instance to {{ firstGhesReleaseWithApiVersions.versionTitle }} or later, the REST API will be versioned. To learn how to find your instance's version, see \"\u003ca href=\"/{{ currentVersion }}/get-started/learning-about-github/about-versions-of-github-docs#github-enterprise-server\"\u003eAbout versions of GitHub Docs\u003c/a\u003e\".","redirect_notice":"We've recently moved some of the REST API documentation.","redirect_repo":"If you can't find what you're looking for, you might try the new {{ newRestPagesLinks }} REST API pages.","redirect_enterprise":"If you can't find what you're looking for, you might try the {{ actionsPageLink }} REST API page.","actions_api_title":"Actions"},"versioning":{"about_versions":"About REST API versions"},"overview":{"permissions":{"access":"Access","endpoints":"Endpoint","tokens":"Token types","additionalPermissions":"Additional permissions","uat":"UAT","iat":"IAT"}},"screen_reader_text_checkmark_icon":"Multiple permissions are required, or a different permission may be used. For more information about the permissions, see the documentation for this endpoint."},"domain_edit":{"name":"Domain name","edit":"Edit","edit_your":"Edit your domain name","experimental":"Experimental","your_name":"Your domain name","cancel":"Cancel","save":"Save","snippet_about":"Updating will include the new domain name in all code snippets across GitHub Docs.","learn_more":"Learn more","submission_failed":"Submission failed. Please try again in a minute."},"popovers":{"role_description":"hovercard link"}},"reusables":{},"variables":{"release_candidate":{"version":"enterprise-server@3.15"}}},"currentCategory":"collaborating-on-github-docs","currentPathWithoutLanguage":"/contributing/collaborating-on-github-docs/using-the-content-linter","page":{"documentType":"article","type":null,"title":"Using the content linter","fullTitle":"Using the content linter - GitHub Docs","topics":[],"introPlainText":"You can use content linter to check your contributions for errors.","applicableVersions":["free-pro-team@latest","enterprise-cloud@latest","enterprise-server@3.15","enterprise-server@3.14","enterprise-server@3.13","enterprise-server@3.12","enterprise-server@3.11","enterprise-server@3.10"],"hidden":false,"noEarlyAccessBanner":false},"enterpriseServerReleases":{"isOldestReleaseDeprecated":true,"oldestSupported":"3.10","nextDeprecationDate":"2024-09-25","supported":["3.15","3.14","3.13","3.12","3.11","3.10"]},"enterpriseServerVersions":["enterprise-server@3.15","enterprise-server@3.14","enterprise-server@3.13","enterprise-server@3.12","enterprise-server@3.11","enterprise-server@3.10"],"allVersions":{"free-pro-team@latest":{"version":"free-pro-team@latest","versionTitle":"Free, Pro, \u0026 Team","apiVersions":["2022-11-28"],"latestApiVersion":"2022-11-28"},"enterprise-cloud@latest":{"version":"enterprise-cloud@latest","versionTitle":"Enterprise Cloud","apiVersions":["2022-11-28"],"latestApiVersion":"2022-11-28"},"enterprise-server@3.15":{"version":"enterprise-server@3.15","versionTitle":"Enterprise Server 3.15","apiVersions":["2022-11-28"],"latestApiVersion":"2022-11-28","isGHES":true},"enterprise-server@3.14":{"version":"enterprise-server@3.14","versionTitle":"Enterprise Server 3.14","apiVersions":["2022-11-28"],"latestApiVersion":"2022-11-28","isGHES":true},"enterprise-server@3.13":{"version":"enterprise-server@3.13","versionTitle":"Enterprise Server 3.13","apiVersions":["2022-11-28"],"latestApiVersion":"2022-11-28","isGHES":true},"enterprise-server@3.12":{"version":"enterprise-server@3.12","versionTitle":"Enterprise Server 3.12","apiVersions":["2022-11-28"],"latestApiVersion":"2022-11-28","isGHES":true},"enterprise-server@3.11":{"version":"enterprise-server@3.11","versionTitle":"Enterprise Server 3.11","apiVersions":["2022-11-28"],"latestApiVersion":"2022-11-28","isGHES":true},"enterprise-server@3.10":{"version":"enterprise-server@3.10","versionTitle":"Enterprise Server 3.10","apiVersions":["2022-11-28"],"latestApiVersion":"2022-11-28","isGHES":true}},"currentVersion":"free-pro-team@latest","currentProductTree":null,"sidebarTree":{"href":"/en/contributing","title":"Contribute to GitHub Docs","childPages":[{"href":"/en/contributing/writing-for-github-docs","title":"Writing for GitHub Docs","childPages":[{"href":"/en/contributing/writing-for-github-docs/best-practices-for-github-docs","title":"Best practices for GitHub Docs","childPages":[]},{"href":"/en/contributing/writing-for-github-docs/about-githubs-documentation-philosophy","title":"Documentation philosophy","childPages":[]},{"href":"/en/contributing/writing-for-github-docs/about-githubs-documentation-fundamentals","title":"Documentation fundamentals","childPages":[]},{"href":"/en/contributing/writing-for-github-docs/content-design-principles","title":"Content design principles","childPages":[]},{"href":"/en/contributing/writing-for-github-docs/writing-content-to-be-translated","title":"Write content to be translated","childPages":[]},{"href":"/en/contributing/writing-for-github-docs/making-content-findable-in-search","title":"Make content findable","childPages":[]},{"href":"/en/contributing/writing-for-github-docs/versioning-documentation","title":"Versioning documentation","childPages":[]},{"href":"/en/contributing/writing-for-github-docs/using-markdown-and-liquid-in-github-docs","title":"Markdown and Liquid","childPages":[]},{"href":"/en/contributing/writing-for-github-docs/using-yaml-frontmatter","title":"YAML frontmatter","childPages":[]},{"href":"/en/contributing/writing-for-github-docs/using-videos-in-github-docs","title":"Use videos","childPages":[]},{"href":"/en/contributing/writing-for-github-docs/creating-reusable-content","title":"Create reusable content","childPages":[]},{"href":"/en/contributing/writing-for-github-docs/creating-screenshots","title":"Create screenshots","childPages":[]},{"href":"/en/contributing/writing-for-github-docs/creating-diagrams-for-github-docs","title":"Create diagrams","childPages":[]},{"href":"/en/contributing/writing-for-github-docs/creating-tool-switchers-in-articles","title":"Create tool switchers","childPages":[]},{"href":"/en/contributing/writing-for-github-docs/configuring-redirects","title":"Configure redirects","childPages":[]},{"href":"/en/contributing/writing-for-github-docs/changing-an-articles-title","title":"Change an article's title","childPages":[]},{"href":"/en/contributing/writing-for-github-docs/annotating-code-examples","title":"Annotate code examples","childPages":[]},{"href":"/en/contributing/writing-for-github-docs/templates","title":"Templates","childPages":[]}]},{"href":"/en/contributing/style-guide-and-content-model","title":"Style guide and content model","childPages":[{"href":"/en/contributing/style-guide-and-content-model/style-guide","title":"Style guide","childPages":[]},{"href":"/en/contributing/style-guide-and-content-model/about-the-content-model","title":"About the content model","childPages":[]},{"href":"/en/contributing/style-guide-and-content-model/contents-of-a-github-docs-article","title":"Contents of an article","childPages":[]},{"href":"/en/contributing/style-guide-and-content-model/about-topics","title":"About topics","childPages":[]},{"href":"/en/contributing/style-guide-and-content-model/conceptual-content-type","title":"Conceptual content type","childPages":[]},{"href":"/en/contributing/style-guide-and-content-model/referential-content-type","title":"Referential content type","childPages":[]},{"href":"/en/contributing/style-guide-and-content-model/procedural-content-type","title":"Procedural content type","childPages":[]},{"href":"/en/contributing/style-guide-and-content-model/troubleshooting-content-type","title":"Troubleshooting content type","childPages":[]},{"href":"/en/contributing/style-guide-and-content-model/release-note-content-type","title":"Release note content type","childPages":[]},{"href":"/en/contributing/style-guide-and-content-model/quickstart-content-type","title":"Quickstart content type","childPages":[]},{"href":"/en/contributing/style-guide-and-content-model/tutorial-content-type","title":"Tutorial content type","childPages":[]},{"href":"/en/contributing/style-guide-and-content-model/about-combining-multiple-content-types","title":"Combining multiple types","childPages":[]}]},{"href":"/en/contributing/collaborating-on-github-docs","title":"Collaborate on GitHub Docs","childPages":[{"href":"/en/contributing/collaborating-on-github-docs/about-contributing-to-github-docs","title":"About contributing","childPages":[]},{"href":"/en/contributing/collaborating-on-github-docs/using-git-on-github-docs","title":"Using Git","childPages":[]},{"href":"/en/contributing/collaborating-on-github-docs/using-the-todocs-placeholder-to-leave-notes","title":"Using the TODOCS placeholder","childPages":[]},{"href":"/en/contributing/collaborating-on-github-docs/using-the-content-linter","title":"Using the content linter","childPages":[]},{"href":"/en/contributing/collaborating-on-github-docs/label-reference","title":"Label reference","childPages":[]},{"href":"/en/contributing/collaborating-on-github-docs/self-review-checklist","title":"Self review checklist","childPages":[]}]},{"href":"/en/contributing/setting-up-your-environment-to-work-on-github-docs","title":"Your working environment","childPages":[{"href":"/en/contributing/setting-up-your-environment-to-work-on-github-docs/working-on-github-docs-in-a-codespace","title":"Working in a codespace","childPages":[]},{"href":"/en/contributing/setting-up-your-environment-to-work-on-github-docs/creating-a-local-environment","title":"Create a local environment","childPages":[]},{"href":"/en/contributing/setting-up-your-environment-to-work-on-github-docs/troubleshooting-your-environment","title":"Troubleshooting your environment","childPages":[]}]}]},"featureFlags":{},"nonEnterpriseDefaultVersion":"free-pro-team@latest","status":200,"fullUrl":"https://docs.github.com/en/contributing/collaborating-on-github-docs/using-the-content-linter","currentLayoutName":"default","relativePath":"contributing/collaborating-on-github-docs/using-the-content-linter.md"},"articleContext":{"title":"Using the content linter","intro":"\u003cp\u003eYou can use content linter to check your contributions for errors.\u003c/p\u003e","effectiveDate":"","renderedPage":"\u003ch2 id=\"about-the-github-docs-content-linter\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#about-the-github-docs-content-linter\"\u003eAbout the GitHub Docs content linter\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eOur content linter enforces style guide rules in our Markdown content.\u003c/p\u003e\n\u003cp\u003eThe linter uses \u003ca href=\"https://github.com/DavidAnson/markdownlint\"\u003e\u003ccode\u003emarkdownlint\u003c/code\u003e\u003c/a\u003e as the framework to perform checks, report flaws, and automatically fix content, when possible. This framework flexibly runs specific rules, gives descriptive error messages, and fixes errors. The GitHub Docs content linter uses several existing \u003ccode\u003emarkdownlint\u003c/code\u003e rules and additional custom rules to check the Markdown content in our \u003ccode\u003econtent\u003c/code\u003e and \u003ccode\u003edata\u003c/code\u003e directories. Our custom rules implement checks that are either not yet available in the \u003ccode\u003emarkdownlint\u003c/code\u003e framework or are specific to GitHub Docs content. Rules check the syntax for both Markdown and Liquid.\u003c/p\u003e\n\u003ch2 id=\"running-the-github-docs-content-linter\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#running-the-github-docs-content-linter\"\u003eRunning the GitHub Docs content linter\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eThe GitHub Docs content linter will run automatically on pre-commit, but you can also run it manually.\u003c/p\u003e\n\u003ch3 id=\"automatically-run-the-linter-on-pre-commit\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#automatically-run-the-linter-on-pre-commit\"\u003eAutomatically run the linter on pre-commit\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eWhen you are writing content locally and committing files using the command line, those staged files will automatically be linted by the content linter. Both warnings and errors are reported, but only errors will prevent your commit from completing.\u003c/p\u003e\n\u003cp\u003eIf any errors are reported, your commit will not complete. You will need to fix the reported errors, re-add the changed files, and commit your changes again. Any errors that are reported must be fixed to prevent introducing errors in the content that are in violation of the GitHub Docs style guide. If any warnings are reported, you can optionally choose to fix them or not.\u003c/p\u003e\n\u003cp\u003eWhen you are writing content locally, there are several rules that you can fix automatically using the command line. If you want to automatically fix errors that can be fixed, see \"\u003ca href=\"#automatically-fix-errors-that-can-be-fixed\"\u003eAutomatically fix errors that can be fixed\u003c/a\u003e.\"\u003c/p\u003e\n\u003cp\u003eIf you are editing a file in the GitHub UI, you will not be able to automatically fix errors or run the linter on a commit, but you will get a CI failure if the content violates any rules with a severity of \u003ccode\u003eerror\u003c/code\u003e.\u003c/p\u003e\n\u003ch3 id=\"manually-run-the-linter\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#manually-run-the-linter\"\u003eManually run the linter\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003ch4 id=\"run-the-linter-on-staged-and-changed-files\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#run-the-linter-on-staged-and-changed-files\"\u003eRun the linter on staged and changed files\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003eUse the following command to run the linter locally on your staged and changed files. It will output both \u003ccode\u003ewarning\u003c/code\u003e and \u003ccode\u003eerror\u003c/code\u003e severity flaws.\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-shell\"\u003enpm run lint-content\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch4 id=\"run-the-linter-on-staged-and-changed-files-and-only-report-errors\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#run-the-linter-on-staged-and-changed-files-and-only-report-errors\"\u003eRun the linter on staged and changed files and only report errors\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003eUse the following command to run the linter locally on your staged and changed files, and report only \u003ccode\u003eerror\u003c/code\u003e severity flaws.\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-shell\"\u003enpm run lint-content -- --errors\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch4 id=\"run-the-linter-on-specific-files-or-directories\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#run-the-linter-on-specific-files-or-directories\"\u003eRun the linter on specific files or directories\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003eUse the following command to run the linter locally on specific files or directories. Separate multiple paths with a space. You can include both files and directories in the same command.\u003c/p\u003e\n\u003cdiv class=\"code-example\"\u003e\u003cheader class=\"d-flex flex-items-center flex-justify-between p-2 text-small rounded-top-1 border-top border-left border-right\"\u003e\u003cspan class=\"flex-1\"\u003eShell\u003c/span\u003e\u003cbutton class=\"js-btn-copy btn btn-sm tooltipped tooltipped-nw\" aria-label=\"Copy Shell code to clipboard\" data-clipboard=\"3087724006\"\u003e\u003csvg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-copy\" aria-hidden=\"true\"\u003e\u003cpath d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"\u003e\u003c/path\u003e\u003cpath d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/button\u003e\u003cpre hidden data-clipboard=\"3087724006\"\u003enpm run lint-content -- \\\n --paths content/FILENAME.md content/DIRECTORY\n\u003c/pre\u003e\u003c/header\u003e\u003cpre\u003e\u003ccode class=\"hljs language-shell\"\u003enpm run lint-content -- \\\n --paths content/FILENAME.md content/DIRECTORY\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003ch4 id=\"automatically-fix-errors-that-can-be-fixed\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#automatically-fix-errors-that-can-be-fixed\"\u003eAutomatically fix errors that can be fixed\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003eIf an error has \u003ccode\u003efixable: true\u003c/code\u003e in its description, you can use the following commands to automatically fix them.\u003c/p\u003e\n\u003cp\u003eRun this command to fix staged and changed files only:\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-shell\"\u003enpm run lint-content -- --fix\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eRun this command to fix specific files or directories:\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-shell\"\u003enpm run lint-content -- \\\n --fix --paths content/FILENAME.md content/DIRECTORY\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch4 id=\"run-a-specific-set-of-linter-rules\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#run-a-specific-set-of-linter-rules\"\u003eRun a specific set of linter rules\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003eUse the following command to run one or more specific linter rules. These examples run the \u003ccode\u003eheading-increment\u003c/code\u003e and \u003ccode\u003ecode-fence-line-length\u003c/code\u003e rules. Replace \u003ccode\u003eheading-increment code-fence-line-length\u003c/code\u003e with one or more linter aliases that you would like to run. To see the list of linter rules you can pass to this option, run \u003ccode\u003enpm run lint-content -- --help\u003c/code\u003e. You can use either the short name (for example, \u003ccode\u003eMD001\u003c/code\u003e) or long name (for example, \u003ccode\u003eheading-increment\u003c/code\u003e) of a linter rule.\u003c/p\u003e\n\u003cp\u003eRun the specified linter rules on all staged and changed files:\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-shell\"\u003enpm run lint-content -- \\\n --rules heading-increment code-fence-line-length\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eRun the specified linter rules on specific files or directories:\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-shell\"\u003enpm run lint-content -- \\\n --rules heading-increment code-fence-line-length \\\n --path content/FILENAME.md content/DIRECTORY\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch4 id=\"bypass-the-commit-hook\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#bypass-the-commit-hook\"\u003eBypass the commit hook\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003eIf the linter catches errors that you did not introduce, you can bypass the git commit hook by using the \u003ccode\u003e--no-verify\u003c/code\u003e option when you commit your changes.\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-shell\"\u003egit commit -m 'MESSAGE' --no-verify\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3 id=\"display-the-help-menu-for-the-content-linter-script\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#display-the-help-menu-for-the-content-linter-script\"\u003eDisplay the help menu for the content linter script\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-shell\"\u003enpm run lint-content -- --help\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2 id=\"linting-rules\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#linting-rules\"\u003eLinting rules\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eEach rule is configured in a file in \u003ca href=\"https://github.com/github/docs/tree/main/src/content-linter/style\"\u003e\u003ccode\u003esrc/content-linter/style\u003c/code\u003e\u003c/a\u003e, which is where the severities of rules are defined.\u003c/p\u003e\n\u003cp\u003eErrors must be addressed before merging your changes to the \u003ccode\u003emain\u003c/code\u003e branch. Warnings should be addressed but do not prevent a change from being merged into the \u003ccode\u003emain\u003c/code\u003e branch. Most rules will eventually be promoted to errors, once the content no longer has warning violations.\u003c/p\u003e\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003ctable\u003e\u003cthead\u003e\u003ctr\u003e\u003cth scope=\"col\"\u003eRule ID\u003c/th\u003e\u003cth scope=\"col\"\u003eRule Name(s)\u003c/th\u003e\u003cth scope=\"col\"\u003eDescription\u003c/th\u003e\u003cth scope=\"col\"\u003eSeverity\u003c/th\u003e\u003cth scope=\"col\"\u003eTags\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md001.md\"\u003eMD001\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eheading-increment\u003c/td\u003e\u003ctd\u003eHeading levels should only increment by one level at a time\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eheadings\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md004.md\"\u003eMD004\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eul-style\u003c/td\u003e\u003ctd\u003eUnordered list style\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003ebullet, ul\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md009.md\"\u003eMD009\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eno-trailing-spaces\u003c/td\u003e\u003ctd\u003eTrailing spaces\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003ewhitespace\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md011.md\"\u003eMD011\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eno-reversed-links\u003c/td\u003e\u003ctd\u003eReversed link syntax\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003elinks\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md012.md\"\u003eMD012\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eno-multiple-blanks\u003c/td\u003e\u003ctd\u003eMultiple consecutive blank lines\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003ewhitespace, blank_lines\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md014.md\"\u003eMD014\u003c/a\u003e\u003c/td\u003e\u003ctd\u003ecommands-show-output\u003c/td\u003e\u003ctd\u003eDollar signs used before commands without showing output\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003ecode\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md018.md\"\u003eMD018\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eno-missing-space-atx\u003c/td\u003e\u003ctd\u003eNo space after hash on atx style heading\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eheadings, atx, spaces\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md019.md\"\u003eMD019\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eno-multiple-space-atx\u003c/td\u003e\u003ctd\u003eMultiple spaces after hash on atx style heading\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eheadings, atx, spaces\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md022.md\"\u003eMD022\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eblanks-around-headings\u003c/td\u003e\u003ctd\u003eHeadings should be surrounded by blank lines\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eheadings, blank_lines\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md023.md\"\u003eMD023\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eheading-start-left\u003c/td\u003e\u003ctd\u003eHeadings must start at the beginning of the line\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eheadings, spaces\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md027.md\"\u003eMD027\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eno-multiple-space-blockquote\u003c/td\u003e\u003ctd\u003eMultiple spaces after blockquote symbol\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eblockquote, whitespace, indentation\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md029.md\"\u003eMD029\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eol-prefix\u003c/td\u003e\u003ctd\u003eOrdered list item prefix\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eol\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md030.md\"\u003eMD030\u003c/a\u003e\u003c/td\u003e\u003ctd\u003elist-marker-space\u003c/td\u003e\u003ctd\u003eSpaces after list markers\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eol, ul, whitespace\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md031.md\"\u003eMD031\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eblanks-around-fences\u003c/td\u003e\u003ctd\u003eFenced code blocks should be surrounded by blank lines\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003ecode, blank_lines\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md037.md\"\u003eMD037\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eno-space-in-emphasis\u003c/td\u003e\u003ctd\u003eSpaces inside emphasis markers\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003ewhitespace, emphasis\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md039.md\"\u003eMD039\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eno-space-in-links\u003c/td\u003e\u003ctd\u003eSpaces inside link text\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003ewhitespace, links\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md040.md\"\u003eMD040\u003c/a\u003e\u003c/td\u003e\u003ctd\u003efenced-code-language\u003c/td\u003e\u003ctd\u003eFenced code blocks should have a language specified\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003ecode, language\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md042.md\"\u003eMD042\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eno-empty-links\u003c/td\u003e\u003ctd\u003eNo empty links\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003elinks\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md047.md\"\u003eMD047\u003c/a\u003e\u003c/td\u003e\u003ctd\u003esingle-trailing-newline\u003c/td\u003e\u003ctd\u003eFiles should end with a single newline character\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eblank_lines\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md049.md\"\u003eMD049\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eemphasis-style\u003c/td\u003e\u003ctd\u003eEmphasis style\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eemphasis\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/DavidAnson/markdownlint/blob/v0.34.0/doc/md050.md\"\u003eMD050\u003c/a\u003e\u003c/td\u003e\u003ctd\u003estrong-style\u003c/td\u003e\u003ctd\u003eStrong style\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eemphasis\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/OnkarRuikar/markdownlint-rule-search-replace\"\u003esearch-replace\u003c/a\u003e\u003c/td\u003e\u003ctd\u003etodocs-placeholder\u003c/td\u003e\u003ctd\u003eCatch occurrences of TODOCS placeholder.\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/OnkarRuikar/markdownlint-rule-search-replace\"\u003esearch-replace\u003c/a\u003e\u003c/td\u003e\u003ctd\u003edocs-domain\u003c/td\u003e\u003ctd\u003eCatch occurrences of docs.github.com domain.\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/OnkarRuikar/markdownlint-rule-search-replace\"\u003esearch-replace\u003c/a\u003e\u003c/td\u003e\u003ctd\u003ehelp-domain\u003c/td\u003e\u003ctd\u003eCatch occurrences of help.github.com domain.\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/OnkarRuikar/markdownlint-rule-search-replace\"\u003esearch-replace\u003c/a\u003e\u003c/td\u003e\u003ctd\u003epreview-domain\u003c/td\u003e\u003ctd\u003eCatch occurrences of preview.ghdocs.com domain.\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/OnkarRuikar/markdownlint-rule-search-replace\"\u003esearch-replace\u003c/a\u003e\u003c/td\u003e\u003ctd\u003edeveloper-domain\u003c/td\u003e\u003ctd\u003eCatch occurrences of developer.github.com domain.\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/OnkarRuikar/markdownlint-rule-search-replace\"\u003esearch-replace\u003c/a\u003e\u003c/td\u003e\u003ctd\u003edeprecated liquid syntax: site.data\u003c/td\u003e\u003ctd\u003eCatch occurrences of deprecated liquid data syntax.\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/OnkarRuikar/markdownlint-rule-search-replace\"\u003esearch-replace\u003c/a\u003e\u003c/td\u003e\u003ctd\u003edeprecated liquid syntax: octicon-\u003cicon-name\u003e\u003c/icon-name\u003e\u003c/td\u003e\u003ctd\u003eThe octicon liquid syntax used is deprecated. Use this format instead \u003ccode\u003eocticon \"\u0026#x3C;octicon-name\u003e\" aria-label=\"\u0026#x3C;Octicon aria label\u003e\"\u003c/code\u003e\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/github/markdownlint-github/blob/main/docs/rules/GH001-no-default-alt-text.md\"\u003eGH001\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eno-default-alt-text\u003c/td\u003e\u003ctd\u003eImages should have meaningful alternative text (alt text)\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eaccessibility, images\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/github/markdownlint-github/blob/main/docs/rules/GH002-no-generic-link-text.md\"\u003eGH002\u003c/a\u003e\u003c/td\u003e\u003ctd\u003eno-generic-link-text\u003c/td\u003e\u003ctd\u003eAvoid using generic link text like \u003ccode\u003eLearn more\u003c/code\u003e or \u003ccode\u003eClick here\u003c/code\u003e\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eaccessibility, links\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD030\u003c/td\u003e\u003ctd\u003ecode-fence-line-length\u003c/td\u003e\u003ctd\u003eCode fence lines should not exceed a maximum length\u003c/td\u003e\u003ctd\u003ewarning\u003c/td\u003e\u003ctd\u003ecode, accessibility\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD032\u003c/td\u003e\u003ctd\u003eimage-alt-text-end-punctuation\u003c/td\u003e\u003ctd\u003eAlternate text for images should end with punctuation\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eaccessibility, images\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD004\u003c/td\u003e\u003ctd\u003eimage-file-kebab-case\u003c/td\u003e\u003ctd\u003eImage file names must use kebab-case\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eimages\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD033\u003c/td\u003e\u003ctd\u003eincorrect-alt-text-length\u003c/td\u003e\u003ctd\u003eImages alternate text should be between 40-150 characters\u003c/td\u003e\u003ctd\u003ewarning\u003c/td\u003e\u003ctd\u003eaccessibility, images\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD002\u003c/td\u003e\u003ctd\u003einternal-links-no-lang\u003c/td\u003e\u003ctd\u003eInternal links must not have a hardcoded language code\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003elinks, url\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD003\u003c/td\u003e\u003ctd\u003einternal-links-slash\u003c/td\u003e\u003ctd\u003eInternal links must start with a /\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003elinks, url\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD031\u003c/td\u003e\u003ctd\u003eimage-alt-text-exclude-words\u003c/td\u003e\u003ctd\u003eAlternate text for images should not begin with words like \"image\" or \"graphic\"\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eaccessibility, images\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD034\u003c/td\u003e\u003ctd\u003elist-first-word-capitalization\u003c/td\u003e\u003ctd\u003eFirst word of list item should be capitalized\u003c/td\u003e\u003ctd\u003ewarning\u003c/td\u003e\u003ctd\u003eul, ol\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD001\u003c/td\u003e\u003ctd\u003elink-punctuation\u003c/td\u003e\u003ctd\u003eInternal link titles must not contain punctuation\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003elinks, url\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD008\u003c/td\u003e\u003ctd\u003eearly-access-references\u003c/td\u003e\u003ctd\u003eFiles that are not early access should not reference early-access or early-access files\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003efeature, early-access\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD021\u003c/td\u003e\u003ctd\u003eyaml-scheduled-jobs\u003c/td\u003e\u003ctd\u003eYAML snippets that include scheduled workflows must not run on the hour and must be unique\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003efeature, actions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD006\u003c/td\u003e\u003ctd\u003einternal-links-old-version\u003c/td\u003e\u003ctd\u003eInternal links must not have a hardcoded version using old versioning syntax\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003elinks, url, versioning\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD005\u003c/td\u003e\u003ctd\u003ehardcoded-data-variable\u003c/td\u003e\u003ctd\u003eStrings that contain \"personal access token\" should use the product variable instead\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003esingle-source\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD013\u003c/td\u003e\u003ctd\u003egithub-owned-action-references\u003c/td\u003e\u003ctd\u003eGitHub-owned action references should not be hardcoded\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003efeature, actions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD016\u003c/td\u003e\u003ctd\u003eliquid-quoted-conditional-arg\u003c/td\u003e\u003ctd\u003eLiquid conditional tags should not quote the conditional argument\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eliquid, format\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD014\u003c/td\u003e\u003ctd\u003eliquid-data-references-defined\u003c/td\u003e\u003ctd\u003eLiquid data or indented data references were found in content that have no value or do not exist in the data directory\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eliquid\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD015\u003c/td\u003e\u003ctd\u003eliquid-data-tag-format\u003c/td\u003e\u003ctd\u003eLiquid data or indented data references tags must be correctly formatted and have the correct number of arguments and spacing\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eliquid, format\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD010\u003c/td\u003e\u003ctd\u003efrontmatter-hidden-docs\u003c/td\u003e\u003ctd\u003eArticles with frontmatter property \u003ccode\u003ehidden\u003c/code\u003e can only be located in specific products\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003efrontmatter, feature, early-access\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD009\u003c/td\u003e\u003ctd\u003efrontmatter-early-access-references\u003c/td\u003e\u003ctd\u003eFiles that are not early access should not have frontmatter that references early-access\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003efrontmatter, feature, early-access\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD011\u003c/td\u003e\u003ctd\u003efrontmatter-video-transcripts\u003c/td\u003e\u003ctd\u003eVideo transcript must be configured correctly\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003efrontmatter, feature, video-transcripts\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD012\u003c/td\u003e\u003ctd\u003efrontmatter-schema\u003c/td\u003e\u003ctd\u003eFrontmatter must conform to the schema\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003efrontmatter, schema\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD007\u003c/td\u003e\u003ctd\u003ecode-annotations\u003c/td\u003e\u003ctd\u003eCode annotations defined in Markdown must contain a specific layout frontmatter property\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003ecode, feature, annotate, frontmatter\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD017\u003c/td\u003e\u003ctd\u003efrontmatter-liquid-syntax\u003c/td\u003e\u003ctd\u003eFrontmatter properties must use valid Liquid\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eliquid, frontmatter\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD018\u003c/td\u003e\u003ctd\u003eliquid-syntax\u003c/td\u003e\u003ctd\u003eMarkdown content must use valid Liquid\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eliquid\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD019\u003c/td\u003e\u003ctd\u003eliquid-if-tags\u003c/td\u003e\u003ctd\u003eLiquid \u003ccode\u003eifversion\u003c/code\u003e tags should be used instead of \u003ccode\u003eif\u003c/code\u003e tags when the argument is a valid version\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eliquid, versioning\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD020\u003c/td\u003e\u003ctd\u003eliquid-ifversion-tags\u003c/td\u003e\u003ctd\u003eLiquid \u003ccode\u003eifversion\u003c/code\u003e tags should contain valid version names as arguments\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eliquid, versioning\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD022\u003c/td\u003e\u003ctd\u003eliquid-ifversion-versions\u003c/td\u003e\u003ctd\u003eLiquid \u003ccode\u003eifversion\u003c/code\u003e (and \u003ccode\u003eelsif\u003c/code\u003e) should not always be true\u003c/td\u003e\u003ctd\u003ewarning\u003c/td\u003e\u003ctd\u003eliquid, versioning\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD035\u003c/td\u003e\u003ctd\u003erai-reusable-usage\u003c/td\u003e\u003ctd\u003eRAI articles and reusables can only reference reusable content in the data/reusables/rai directory\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003efeature, rai\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD036\u003c/td\u003e\u003ctd\u003eimage-no-gif\u003c/td\u003e\u003ctd\u003eImage must not be a gif, styleguide reference: contributing/style-guide-and-content-model/style-guide.md#images\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eimages\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD038\u003c/td\u003e\u003ctd\u003eexpired-content\u003c/td\u003e\u003ctd\u003eExpired content must be remediated.\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eexpired\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD039\u003c/td\u003e\u003ctd\u003eexpiring-soon\u003c/td\u003e\u003ctd\u003eContent that expires soon should be proactively addressed.\u003c/td\u003e\u003ctd\u003ewarning\u003c/td\u003e\u003ctd\u003eexpired\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003e\u003ca href=\"https://github.com/github/docs/blob/main/src/content-linter/README.md\"\u003eGHD040\u003c/a\u003e\u003c/td\u003e\u003ctd\u003etable-liquid-versioning\u003c/td\u003e\u003ctd\u003eTables must use the correct liquid versioning format\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003etables\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD041\u003c/td\u003e\u003ctd\u003ethird-party-action-pinning\u003c/td\u003e\u003ctd\u003eCode examples that use third-party actions must always pin to a full length commit SHA\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003efeature, actions\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eGHD042\u003c/td\u003e\u003ctd\u003eliquid-tag-whitespace\u003c/td\u003e\u003ctd\u003eLiquid tags should start and end with one whitespace. Liquid tag arguments should be separated by only one whitespace.\u003c/td\u003e\u003ctd\u003eerror\u003c/td\u003e\u003ctd\u003eliquid, format\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\n\u003ch3 id=\"syntax-for-linting-rules\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#syntax-for-linting-rules\"\u003eSyntax for linting rules\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eSome linting rules return warnings or errors based on HTML comments that you can add to articles.\u003c/p\u003e\n\u003ch4 id=\"syntax-for-expiring-and-expired-content\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#syntax-for-expiring-and-expired-content\"\u003eSyntax for expiring and expired content\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003eRules \u003ccode\u003eGHD038\u003c/code\u003e and \u003ccode\u003eGHD039\u003c/code\u003e check for content that has been manually given an expiration date. Fourteen days before the specified date, the content linter will return a warning that the content is expiring soon. Starting on the specified date, the content linter will return an error and flag the content for remediation.\u003c/p\u003e\n\u003cp\u003eYou can add an expiration date to content by wrapping it in HTML tags that contain an expiration date in the format: \u003ccode\u003e\u0026#x3C;!-- expires yyyy-mm-dd --\u003e \u0026#x3C;!-- end expires yyyy-mm-dd --\u003e\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eUse:\u003c/strong\u003e\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-markdown\"\u003eThis content does not expire.\n\u0026#x3C;!-- expires 2022-01-28 --\u003e\nThis content expires on January 28, 2022.\n\u0026#x3C;!-- end expires 2022-01-28 --\u003e\nThis content also does not expire.\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eNote, if you are placing the expired tags in an HTML \u003ccode\u003etable\u003c/code\u003e element, make sure the tag goes around the entire row and not just the cell. For example:\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-html\"\u003e\u003cspan class=\"hljs-comment\"\u003e\u0026#x3C;!-- expires 2024-06-28 --\u003e\u003c/span\u003e\n\u003cspan class=\"hljs-tag\"\u003e\u0026#x3C;\u003cspan class=\"hljs-name\"\u003etr\u003c/span\u003e\u003e\u003c/span\u003e\n\u003cspan class=\"hljs-tag\"\u003e\u0026#x3C;\u003cspan class=\"hljs-name\"\u003etd\u003c/span\u003e\u003e\u003c/span\u003e\nmacOS\n\u003cspan class=\"hljs-tag\"\u003e\u0026#x3C;/\u003cspan class=\"hljs-name\"\u003etd\u003c/span\u003e\u003e\u003c/span\u003e\n\u003cspan class=\"hljs-tag\"\u003e\u0026#x3C;\u003cspan class=\"hljs-name\"\u003etd\u003c/span\u003e\u003e\u003c/span\u003e\nThe \u003cspan class=\"hljs-tag\"\u003e\u0026#x3C;\u003cspan class=\"hljs-name\"\u003ecode\u003c/span\u003e\u003e\u003c/span\u003emacos-11\u003cspan class=\"hljs-tag\"\u003e\u0026#x3C;/\u003cspan class=\"hljs-name\"\u003ecode\u003c/span\u003e\u003e\u003c/span\u003e label is closing down and will no longer be available after 28 June 2024.\n\u003cspan class=\"hljs-tag\"\u003e\u0026#x3C;/\u003cspan class=\"hljs-name\"\u003etd\u003c/span\u003e\u003e\u003c/span\u003e\n\u003cspan class=\"hljs-tag\"\u003e\u0026#x3C;/\u003cspan class=\"hljs-name\"\u003etr\u003c/span\u003e\u003e\u003c/span\u003e\n\u003cspan class=\"hljs-comment\"\u003e\u0026#x3C;!-- end expires 2024-06-28 --\u003e\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2 id=\"suppressing-linter-rules\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#suppressing-linter-rules\"\u003eSuppressing linter rules\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eRarely, you may need to document something that violates one or more linter rules. In these cases, you can suppress rules by adding a comment to the Markdown file. You can disable all rules or specific rules. Always try to limit as few rules as possible. You can disable a rule for an entire file, for a section of a Markdown file, a specific line, or the next line.\u003c/p\u003e\n\u003cp\u003eFor example, if you are writing an article that includes the regular expression \u003ccode\u003e(^|/)[Cc]+odespace/\u003c/code\u003e that checks for reversed link syntax, it will trigger the \u003ccode\u003eMD011\u003c/code\u003e rule that checks for reversed links. You can disable the rule \u003ccode\u003eMD011\u003c/code\u003e on that specific line by adding the following comment.\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-text\"\u003e(^|/)[Cc]+odespace/ \u0026#x3C;!-- markdownlint-disable-line MD011 --\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eIf the line you're trying to ignore is in a code block, you can ignore the code block by surrounding it with the following comments.\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-text\"\u003e\u0026#x3C;!-- markdownlint-disable MD011 --\u003e\n```\n(^|/)[Cc]+odespace/\n```\n\u0026#x3C;!-- markdownlint-enable MD011 --\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eYou can use these comments to enable or disable rules.\u003c/p\u003e\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003ctable\u003e\u003cthead\u003e\u003ctr\u003e\u003cth align=\"left\" scope=\"col\"\u003eComment\u003c/th\u003e\u003cth align=\"left\" scope=\"col\"\u003eEffect\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd align=\"left\"\u003e\u003ccode\u003e\u0026#x3C;!-- markdownlint-disable --\u003e\u003c/code\u003e\u003c/td\u003e\u003ctd align=\"left\"\u003eDisable all rules\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\"\u003e\u003ccode\u003e\u0026#x3C;!-- markdownlint-enable --\u003e\u003c/code\u003e\u003c/td\u003e\u003ctd align=\"left\"\u003eEnable all rules\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\"\u003e\u003ccode\u003e\u0026#x3C;!-- markdownlint-disable-line --\u003e\u003c/code\u003e\u003c/td\u003e\u003ctd align=\"left\"\u003eDisable all rules for the current line\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\"\u003e\u003ccode\u003e\u0026#x3C;!-- markdownlint-disable-next-line --\u003e\u003c/code\u003e\u003c/td\u003e\u003ctd align=\"left\"\u003eDisable all rules for the next line\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\"\u003e\u003ccode\u003e\u0026#x3C;!-- markdownlint-disable RULE-ONE RULE-TWO --\u003e\u003c/code\u003e\u003c/td\u003e\u003ctd align=\"left\"\u003e\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\"\u003e\u003ccode\u003e\u0026#x3C;!-- markdownlint-enable RULE-ONE RULE-TWO --\u003e\u003c/code\u003e\u003c/td\u003e\u003ctd align=\"left\"\u003eEnable one or more rules by name\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\"\u003e\u003ccode\u003e\u0026#x3C;!-- markdownlint-disable-line RULE-NAME --\u003e\u003c/code\u003e\u003c/td\u003e\u003ctd align=\"left\"\u003eDisable one or more rules by name for the current line\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd align=\"left\"\u003e\u003ccode\u003e\u0026#x3C;!-- markdownlint-disable-next-line RULE-NAME --\u003e\u003c/code\u003e\u003c/td\u003e\u003ctd align=\"left\"\u003eDisable one or more rules by name for the next line\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e","miniTocItems":[{"contents":{"href":"#about-the-github-docs-content-linter","title":"About the GitHub Docs content linter"}},{"contents":{"href":"#running-the-github-docs-content-linter","title":"Running the GitHub Docs content linter"}},{"contents":{"href":"#linting-rules","title":"Linting rules"}},{"contents":{"href":"#suppressing-linter-rules","title":"Suppressing linter rules"}}],"permissions":"","includesPlatformSpecificContent":false,"includesToolSpecificContent":false,"defaultPlatform":"","defaultTool":"","product":"","productVideoUrl":"","currentLearningTrack":null,"detectedPlatforms":[],"detectedTools":[],"allTools":{"agents":"Agents","api":"API","azure_data_studio":"Azure Data Studio","bash":"Bash","cli":"GitHub CLI","codespaces":"Codespaces","curl":"curl","desktop":"Desktop","importer_cli":"GitHub Enterprise Importer CLI","javascript":"JavaScript","jetbrains":"JetBrains IDEs","jetbrains_beta":"JetBrains IDEs (Beta)","skillsets":"Skillsets","vimneovim":"Vim/Neovim","powershell":"PowerShell","visualstudio":"Visual Studio","vscode":"Visual Studio Code","webui":"Web browser","windowsterminal":"Windows Terminal","xcode":"Xcode"},"supportPortalVaIframeProps":{"supportPortalUrl":"https://support.github.com","vaFlowUrlParameter":""},"currentLayout":"default"}},"languagesContext":{"languages":{"en":{"name":"English","code":"en"},"zh":{"name":"Simplified Chinese","code":"zh","hreflang":"zh-Hans","nativeName":"简体中文"},"es":{"name":"Spanish","code":"es","nativeName":"Español"},"pt":{"name":"Portuguese","code":"pt","nativeName":"Português do Brasil"},"ru":{"name":"Russian","code":"ru","nativeName":"Русский"},"ja":{"name":"Japanese","code":"ja","nativeName":"日本語"},"fr":{"name":"French","code":"fr","nativeName":"Français"},"de":{"name":"German","code":"de","nativeName":"Deutsch"},"ko":{"name":"Korean","code":"ko","nativeName":"한국어"}}},"__N_SSP":true},"page":"/[versionId]/[productId]/[...restPage]","query":{"versionId":"free-pro-team@latest","productId":"contributing","restPage":["collaborating-on-github-docs","using-the-content-linter"]},"buildId":"zlsDNEj4XHFrSHCwIiw66","isFallback":false,"isExperimentalCompile":false,"gssp":true,"appGip":true,"locale":"en","locales":["en","zh","es","pt","ru","ja","fr","de","ko"],"defaultLocale":"en","scriptLoader":[]}</script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10