diff --git a/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-java-project-for-codespaces.md b/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-java-project-for-codespaces.md index b79ab44834..e200f53034 100644 --- a/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-java-project-for-codespaces.md +++ b/content/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/setting-up-your-java-project-for-codespaces.md @@ -186,7 +186,7 @@ With your dev container configuration added and a basic understanding of what ev 1. Run the application by pressing `F5`. 1. If a "toast" notification message is displayed at the bottom right corner of {% data variables.product.prodname_vscode_shortname %}, asking whether you want to switch to standard mode, click **Yes**. - ![Screenshot of a popup message: "Run/Debug feature requires Java language server to run in Standard mode. Do you want to switch it to Standard mode now?".](/assets/images/help/codespaces/switch-to-standard-mode.png) + ![Screenshot of a popup message: "Run/Debug feature requires Java language server to run in Standard mode. Do you want to switch it to Standard mode now?"](/assets/images/help/codespaces/switch-to-standard-mode.png) 1. When the project files have been imported, click the **Debug Console** tab to see the program output. diff --git a/content/get-started/writing-on-github/working-with-saved-replies/creating-a-saved-reply.md b/content/get-started/writing-on-github/working-with-saved-replies/creating-a-saved-reply.md index db2b0d7165..2af73caea2 100644 --- a/content/get-started/writing-on-github/working-with-saved-replies/creating-a-saved-reply.md +++ b/content/get-started/writing-on-github/working-with-saved-replies/creating-a-saved-reply.md @@ -15,9 +15,9 @@ versions: {% data reusables.user-settings.saved_replies %} 1. Under "Add a saved reply", add a title for your saved reply. 2. In the "Write" field, add the content you'd like to use for the saved reply. For information on using Markdown, see "[AUTOTITLE](/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)." -![Screenshot of a {% data variables.product.prodname_dotcom %} saved reply titled "Squirrel ship" showing Markdown in the "Write" box. The text reads, "This looks great. :shipit: it!".](/assets/images/help/writing/saved-replies-settings-adding.png) +![Screenshot of a {% data variables.product.prodname_dotcom %} saved reply titled "Squirrel ship" showing Markdown in the "Write" box. The text reads, "This looks great. :shipit: it!"](/assets/images/help/writing/saved-replies-settings-adding.png) 1. To review your reply, click **Preview**. -![Screenshot of a GitHub saved reply titled "Squirrel ship" showing rendered Markdown in the "Preview" box. The text reads, "This looks great. :shipit: it!".](/assets/images/help/writing/saved-replies-preview.png) +![Screenshot of a GitHub saved reply titled "Squirrel ship" showing rendered Markdown in the "Preview" box. The text reads, "This looks great. :shipit: it!"](/assets/images/help/writing/saved-replies-preview.png) 1. Click **Add saved reply**. ## Further reading diff --git a/content/issues/tracking-your-work-with-issues/quickstart.md b/content/issues/tracking-your-work-with-issues/quickstart.md index e7d0b1eadb..06fc616a24 100644 --- a/content/issues/tracking-your-work-with-issues/quickstart.md +++ b/content/issues/tracking-your-work-with-issues/quickstart.md @@ -80,7 +80,7 @@ Click **Submit new issue** to create your issue. You can edit any of the above f After your issue is created, continue the conversation by adding comments to the issue. You can @mention collaborators or teams to draw their attention to a comment. To link related issues in the same repository, you can type `#` followed by part of the issue title and then clicking the issue that you want to link. For more information, see "[AUTOTITLE](/get-started/writing-on-github)." -![Screenshot of an issue comment. The header says "octocat commented now" and the body says "@hubot Do we also need to update the rocket logic?".](/assets/images/help/issues/issue-comment.png) +![Screenshot of an issue comment. The header says "octocat commented now" and the body says "@hubot Do we also need to update the rocket logic?"](/assets/images/help/issues/issue-comment.png) ## Next steps diff --git a/data/features/dependabot-updates-pnpm-support.yml b/data/features/dependabot-updates-pnpm-support.yml new file mode 100644 index 0000000000..675d5a6207 --- /dev/null +++ b/data/features/dependabot-updates-pnpm-support.yml @@ -0,0 +1,5 @@ +# Reference: Issue #10063 - Dependabot: pnpm supported for version updates (not security updates) +versions: + fpt: '*' + ghec: '*' + ghes: '>3.9' diff --git a/data/reusables/dependabot/supported-package-managers.md b/data/reusables/dependabot/supported-package-managers.md index d0f43790f4..7c419fc8df 100644 --- a/data/reusables/dependabot/supported-package-managers.md +++ b/data/reusables/dependabot/supported-package-managers.md @@ -22,7 +22,8 @@ npm | `npm` | v6, v7, v8 | {% octicon "check" aria-l {% ifversion dependabot-PEP621-support %}[pip](#pip-and-pip-compile){% else %}pip{% endif %} | `pip` | v21.1.2 | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | pipenv | `pip` | <= 2021-05-29 | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% ifversion dependabot-PEP621-support %}[pip-compile](#pip-and-pip-compile){% else %}pip-compile{% endif %} | `pip` | 6.1.0 | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | -poetry | `pip` | v1 | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} |{% ifversion fpt or ghec or ghes > 3.4 %} +{% ifversion dependabot-updates-pnpm-support %}[pnpm](#pnpm) | `npm` | v7, v8 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | +{% endif %}poetry | `pip` | v1 | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} |{% ifversion fpt or ghec or ghes > 3.4 %} [pub](#pub) | `pub` | v2 | {% octicon "x" aria-label="Not supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "x" aria-label="Not supported" %} |{% endif %} Terraform | `terraform` | >= 0.13, <= 1.3.x | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | Not applicable | {% ifversion dependabot-yarn-v3-update %}[yarn](#yarn) | `npm` | v1, v2, v3 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %}|{% else %}yarn | `npm` | v1 | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | | @@ -71,6 +72,11 @@ In order for {% data variables.product.prodname_dependabot %} to fetch Docker me In addition to supporting updates to `requirements.txt` files, {% data variables.product.prodname_dependabot %} supports updates to `pyproject.toml` files if they follow the PEP 621 standard. {% endif %} +{% ifversion dependabot-updates-pnpm-support %} +#### pnpm +pnpm is supported for {% data variables.product.prodname_dependabot_version_updates %} only. {% data variables.product.prodname_dependabot_security_updates %} are not currently supported. +{% endif %} + {% ifversion fpt or ghec or ghes > 3.4 %} #### pub {% ifversion ghes = 3.5 %}`pub` support is currently in beta. Any known limitations are subject to change. Note that {% data variables.product.prodname_dependabot %}: diff --git a/src/content-linter/lib/linting-rules/image-alt-text-end-punctuation.js b/src/content-linter/lib/linting-rules/image-alt-text-end-punctuation.js new file mode 100644 index 0000000000..d570c5393a --- /dev/null +++ b/src/content-linter/lib/linting-rules/image-alt-text-end-punctuation.js @@ -0,0 +1,33 @@ +import { addError, forEachInlineChild } from 'markdownlint-rule-helpers' + +export const imageAltTextEndPunctuation = { + names: ['MD112', 'image-alt-text-end-punctuation'], + description: 'Images alternate text should end with a punctuation.', + severity: 'error', + tags: ['accessibility', 'images'], + function: function MD112(params, onError) { + forEachInlineChild(params, 'image', function forToken(token) { + const quoteRegex = /[.?!]['"]$/ + const endRegex = /[.?!]$/ + const imageAltText = token.content.trim() + if ( + (!imageAltText.endsWith('"') && !imageAltText.slice(-1).match(endRegex)) || + (imageAltText.endsWith('"') && !imageAltText.slice(-2).match(quoteRegex)) + ) { + addError( + onError, + token.lineNumber, + `On line ${token.lineNumber}, the image alt text '${imageAltText}' must have punctuation at the end of the sentence.`, + undefined, + undefined, + { + lineNumber: token.lineNumber, + editColumn: token.line.indexOf(']') + 1, + deleteCount: 0, + insertText: '.', + } + ) + } + }) + }, +} diff --git a/src/content-linter/lib/linting-rules/image-alt-text-period.js b/src/content-linter/lib/linting-rules/image-alt-text-period.js deleted file mode 100644 index c1da561817..0000000000 --- a/src/content-linter/lib/linting-rules/image-alt-text-period.js +++ /dev/null @@ -1,28 +0,0 @@ -import { addError, forEachInlineChild } from 'markdownlint-rule-helpers' - -export const imageAltTextPeriod = { - names: ['MD112', 'image-alt-text-period'], - description: 'Images alternate text should have a period', - tags: ['accessibility', 'images'], - function: function MD112(params, onError) { - forEachInlineChild(params, 'image', function forToken(token) { - const imageAltText = token.content.trim() - if (!imageAltText.endsWith('.') && !imageAltText.endsWith('."')) { - const period = imageAltText.endsWith('"') ? '."' : '.' - addError( - onError, - token.lineNumber, - `On line ${token.lineNumber}, the image alt text: "${imageAltText}" must have a period at the end of it.`, - undefined, - undefined, - { - lineNumber: token.lineNumber, - editColumn: token.line.indexOf(']') + 1, - deleteCount: 0, - insertText: period, - } - ) - } - }) - }, -} diff --git a/src/content-linter/scripts/markdownlint.js b/src/content-linter/scripts/markdownlint.js index 092330dd59..98ee8b17ff 100755 --- a/src/content-linter/scripts/markdownlint.js +++ b/src/content-linter/scripts/markdownlint.js @@ -7,7 +7,7 @@ import { readFile, writeFile } from 'fs/promises' import walkFiles from '../../../script/helpers/walk-files.js' import { incorrectAltTextLength } from '../lib/linting-rules/image-alt-text-length.js' -import { imageAltTextPeriod } from '../lib/linting-rules/image-alt-text-period.js' +import { imageAltTextEndPunctuation } from '../lib/linting-rules/image-alt-text-end-punctuation.js' import { imageFileKebab } from '../lib/linting-rules/image-file-kebab.js' program @@ -35,7 +35,7 @@ async function main() { const files = walkFiles(path, ['.md'], { includeBasePath: true }) const options = { files, - customRules: [incorrectAltTextLength, imageAltTextPeriod, imageFileKebab], + customRules: [incorrectAltTextLength, imageAltTextEndPunctuation, imageFileKebab], config, } diff --git a/src/content-linter/tests/fixtures/image-alt-text-end-punctuation.md b/src/content-linter/tests/fixtures/image-alt-text-end-punctuation.md new file mode 100644 index 0000000000..896f13ee1b --- /dev/null +++ b/src/content-linter/tests/fixtures/image-alt-text-end-punctuation.md @@ -0,0 +1,15 @@ +# hi + +![GitHub Documentation is here](./image.png) + +![GitHub Documentation is found on this site.](./image.png) + +GitHub Documentation's logo looks like this: ![logo of GitHub Docs?](./image.png) over here. + +!["image".](./image.png) +!["image!"](./image.png) +!["image"!](./image.png) +!["image?"](./image.png) +!["image"?](./image.png) +!["image."](./image.png) +!["image"](./image.png) diff --git a/src/content-linter/tests/unit/image-alt-text-length.md b/src/content-linter/tests/fixtures/image-alt-text-length.md similarity index 100% rename from src/content-linter/tests/unit/image-alt-text-length.md rename to src/content-linter/tests/fixtures/image-alt-text-length.md diff --git a/src/content-linter/tests/unit/image-alt-text-end-punctuation.js b/src/content-linter/tests/unit/image-alt-text-end-punctuation.js new file mode 100644 index 0000000000..c963f3c151 --- /dev/null +++ b/src/content-linter/tests/unit/image-alt-text-end-punctuation.js @@ -0,0 +1,20 @@ +import { jest } from '@jest/globals' +import markdownlint from 'markdownlint' + +import { imageAltTextEndPunctuation } from '../../lib/linting-rules/image-alt-text-end-punctuation.js' +import { testOptions } from '../../lib/default-markdownlint-options.js' + +const fixtureFile = 'src/content-linter/tests/fixtures/image-alt-text-end-punctuation.md' + +describe('image alt text length rule', () => { + jest.setTimeout(60 * 1000) + const options = testOptions('MD112', imageAltTextEndPunctuation, fixtureFile) + + const result = markdownlint.sync(options) + test('image alt text must have an end punctuation', () => { + const errors = result[fixtureFile] + expect(Object.keys(result).length).toBe(1) + expect(errors.length).toBe(2) + expect(errors.map((error) => error.lineNumber)).toEqual([3, 15]) + }) +}) diff --git a/src/content-linter/tests/unit/image-alt-text-length.js b/src/content-linter/tests/unit/image-alt-text-length.js index 2357a62a04..d2f19cb77b 100644 --- a/src/content-linter/tests/unit/image-alt-text-length.js +++ b/src/content-linter/tests/unit/image-alt-text-length.js @@ -3,7 +3,8 @@ import markdownlint from 'markdownlint' import { incorrectAltTextLength } from '../../lib/linting-rules/image-alt-text-length.js' import { testOptions } from '../../lib/default-markdownlint-options.js' -const fixtureFile = 'src/content-linter/tests/unit/image-alt-text-length.md' + +const fixtureFile = 'src/content-linter/tests/fixtures/image-alt-text-length.md' describe('image alt text length rule', () => { jest.setTimeout(60 * 1000)