From 4d5dcfb5bf19492f65674e6bd23de759c13637da Mon Sep 17 00:00:00 2001
From: David Anson
Date: Sat, 22 Mar 2025 16:42:37 -0700
Subject: [PATCH] wip
---
package.json | 4 +-
test/markdownlint-test-scenarios-1.mjs | 5 +
test/markdownlint-test-scenarios-2.mjs | 5 +
test/markdownlint-test-scenarios-3.mjs | 5 +
test/markdownlint-test-scenarios-4.mjs | 5 +
test/markdownlint-test-scenarios.mjs | 20 +-
.../markdownlint-test-scenarios-1.mjs.md | 14003 ++++
.../markdownlint-test-scenarios-1.mjs.snap | Bin 0 -> 68063 bytes
.../markdownlint-test-scenarios-2.mjs.md | 7852 ++
.../markdownlint-test-scenarios-2.mjs.snap | Bin 0 -> 31283 bytes
.../markdownlint-test-scenarios-3.mjs.md | 21127 ++++++
.../markdownlint-test-scenarios-3.mjs.snap | Bin 0 -> 90037 bytes
.../markdownlint-test-scenarios-4.mjs.md | 17995 +++++
.../markdownlint-test-scenarios-4.mjs.snap | Bin 0 -> 77298 bytes
.../markdownlint-test-scenarios.mjs.md | 60962 ----------------
.../markdownlint-test-scenarios.mjs.snap | Bin 264740 -> 0 bytes
16 files changed, 61013 insertions(+), 60970 deletions(-)
create mode 100644 test/markdownlint-test-scenarios-1.mjs
create mode 100644 test/markdownlint-test-scenarios-2.mjs
create mode 100644 test/markdownlint-test-scenarios-3.mjs
create mode 100644 test/markdownlint-test-scenarios-4.mjs
create mode 100644 test/snapshots/markdownlint-test-scenarios-1.mjs.md
create mode 100644 test/snapshots/markdownlint-test-scenarios-1.mjs.snap
create mode 100644 test/snapshots/markdownlint-test-scenarios-2.mjs.md
create mode 100644 test/snapshots/markdownlint-test-scenarios-2.mjs.snap
create mode 100644 test/snapshots/markdownlint-test-scenarios-3.mjs.md
create mode 100644 test/snapshots/markdownlint-test-scenarios-3.mjs.snap
create mode 100644 test/snapshots/markdownlint-test-scenarios-4.mjs.md
create mode 100644 test/snapshots/markdownlint-test-scenarios-4.mjs.snap
delete mode 100644 test/snapshots/markdownlint-test-scenarios.mjs.md
delete mode 100644 test/snapshots/markdownlint-test-scenarios.mjs.snap
diff --git a/package.json b/package.json
index 5d0e7f05..52edb5df 100644
--- a/package.json
+++ b/package.json
@@ -59,13 +59,13 @@
"lint-test-repos": "ava --timeout=10m test/markdownlint-test-repos-*.mjs",
"serial-config-docs": "npm run build-config && npm run build-docs",
"serial-declaration": "npm run build-declaration && npm run test-declaration",
- "test": "ava --timeout=30s test/markdownlint-test.mjs test/markdownlint-test-config.mjs test/markdownlint-test-custom-rules.mjs test/markdownlint-test-exports.mjs test/markdownlint-test-fixes.mjs test/markdownlint-test-helpers.mjs test/markdownlint-test-micromark.mjs test/markdownlint-test-project.mjs test/markdownlint-test-result-object.mjs test/markdownlint-test-scenarios.mjs test/parse-configuration-test.mjs test/resolve-module-test.mjs helpers/test.cjs",
+ "test": "ava --timeout=30s test/markdownlint-test.mjs test/markdownlint-test-config.mjs test/markdownlint-test-custom-rules.mjs test/markdownlint-test-exports.mjs test/markdownlint-test-fixes.mjs test/markdownlint-test-helpers.mjs test/markdownlint-test-micromark.mjs test/markdownlint-test-project.mjs test/markdownlint-test-result-object.mjs test/markdownlint-test-scenarios-*.mjs test/parse-configuration-test.mjs test/resolve-module-test.mjs helpers/test.cjs",
"test-cover": "c8 --100 npm test",
"test-declaration": "npm-run-all --continue-on-error --parallel test-declaration-cts test-declaration-mts",
"test-declaration-cts": "cd example/typescript && node ../../scripts/index.mjs copy type-check.ts type-check-commonjs.cts && tsc --module commonjs --esModuleInterop type-check-commonjs.cts",
"test-declaration-mts": "cd example/typescript && node ../../scripts/index.mjs copy type-check.ts type-check-nodenext.mts && tsc --module nodenext type-check-nodenext.mts && node type-check-nodenext.mjs",
"test-extra": "ava --timeout=10m test/markdownlint-test-extra-parse.mjs test/markdownlint-test-extra-type.mjs",
- "update-snapshots": "ava --update-snapshots test/markdownlint-test-custom-rules.mjs test/markdownlint-test-exports.mjs test/markdownlint-test-micromark.mjs test/markdownlint-test-scenarios.mjs",
+ "update-snapshots": "ava --update-snapshots test/markdownlint-test-custom-rules.mjs test/markdownlint-test-exports.mjs test/markdownlint-test-micromark.mjs test/markdownlint-test-scenarios-*.mjs",
"update-snapshots-test-repos": "ava --timeout=10m --update-snapshots test/markdownlint-test-repos-*.mjs",
"upgrade": "npx --yes npm-check-updates --upgrade"
},
diff --git a/test/markdownlint-test-scenarios-1.mjs b/test/markdownlint-test-scenarios-1.mjs
new file mode 100644
index 00000000..9f3f0637
--- /dev/null
+++ b/test/markdownlint-test-scenarios-1.mjs
@@ -0,0 +1,5 @@
+// @ts-check
+
+import { createTests } from "./markdownlint-test-scenarios.mjs";
+
+createTests(1, 4);
diff --git a/test/markdownlint-test-scenarios-2.mjs b/test/markdownlint-test-scenarios-2.mjs
new file mode 100644
index 00000000..589f8904
--- /dev/null
+++ b/test/markdownlint-test-scenarios-2.mjs
@@ -0,0 +1,5 @@
+// @ts-check
+
+import { createTests } from "./markdownlint-test-scenarios.mjs";
+
+createTests(2, 4);
diff --git a/test/markdownlint-test-scenarios-3.mjs b/test/markdownlint-test-scenarios-3.mjs
new file mode 100644
index 00000000..10bdc81e
--- /dev/null
+++ b/test/markdownlint-test-scenarios-3.mjs
@@ -0,0 +1,5 @@
+// @ts-check
+
+import { createTests } from "./markdownlint-test-scenarios.mjs";
+
+createTests(3, 4);
diff --git a/test/markdownlint-test-scenarios-4.mjs b/test/markdownlint-test-scenarios-4.mjs
new file mode 100644
index 00000000..a1e3b6ea
--- /dev/null
+++ b/test/markdownlint-test-scenarios-4.mjs
@@ -0,0 +1,5 @@
+// @ts-check
+
+import { createTests } from "./markdownlint-test-scenarios.mjs";
+
+createTests(4, 4);
diff --git a/test/markdownlint-test-scenarios.mjs b/test/markdownlint-test-scenarios.mjs
index c98b4f9c..0d0a3faf 100644
--- a/test/markdownlint-test-scenarios.mjs
+++ b/test/markdownlint-test-scenarios.mjs
@@ -103,10 +103,18 @@ function createTestForFile(file) {
const dir = await fs.readdir("./test");
const files = dir.filter((file) => /\.md$/.test(file));
-for (const file of files) {
- // @ts-ignore
- test(
- file,
- createTestForFile(path.join("./test", file))
- );
+
+/**
+ * Creates tests for chunk N/M of the set.
+ *
+ * @param {number} number Chunk number.
+ * @param {number} total Total chunks.
+ * @returns {void}
+ */
+export function createTests(number, total) {
+ const start = Math.floor(((number - 1) * files.length) / total);
+ const end = Math.floor((number * files.length) / total);
+ for (const file of files.slice(start, end)) {
+ test(file, createTestForFile(path.join("./test", file)));
+ }
}
diff --git a/test/snapshots/markdownlint-test-scenarios-1.mjs.md b/test/snapshots/markdownlint-test-scenarios-1.mjs.md
new file mode 100644
index 00000000..ef3260f6
--- /dev/null
+++ b/test/snapshots/markdownlint-test-scenarios-1.mjs.md
@@ -0,0 +1,14003 @@
+# Snapshot report for `test/markdownlint-test-scenarios-1.mjs`
+
+The actual snapshot is saved in `markdownlint-test-scenarios-1.mjs.snap`.
+
+Generated by [AVA](https://avajs.dev).
+
+## 4-tabs-MD010.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 13,
+ ],
+ fixInfo: {
+ deleteCount: 13,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 1,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 5',
+ errorRange: [
+ 5,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 5,
+ insertText: ' ',
+ },
+ lineNumber: 2,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 35',
+ errorRange: [
+ 35,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 3,
+ editColumn: 35,
+ insertText: ' ',
+ },
+ lineNumber: 3,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ ],
+ fixed: ` text {MD010}␊
+ text and text 2 {MD010}␊
+ texts with trailing spaces {MD010} ␊
+ ␊
+ ␊
+ `,
+ }
+
+## MD001-MD010.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Expected: h3; Actual: h4',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 3,
+ ruleDescription: 'Heading levels should only increment by one level at a time',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md001.md',
+ ruleNames: [
+ 'MD001',
+ 'heading-increment',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: atx; Actual: atx_closed',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 5,
+ ruleDescription: 'Heading style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md003.md',
+ ruleNames: [
+ 'MD003',
+ 'heading-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: dash',
+ errorRange: [
+ 1,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: '*',
+ },
+ lineNumber: 10,
+ ruleDescription: 'Unordered list style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md004.md',
+ ruleNames: [
+ 'MD004',
+ 'ul-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 0; Actual: 1',
+ errorRange: [
+ 1,
+ 3,
+ ],
+ fixInfo: null,
+ lineNumber: 8,
+ ruleDescription: 'Inconsistent indentation for list items at the same level',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md005.md',
+ ruleNames: [
+ 'MD005',
+ 'list-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 1; Actual: 0',
+ errorRange: [
+ 1,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 0,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 23,
+ ruleDescription: 'Inconsistent indentation for list items at the same level',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md005.md',
+ ruleNames: [
+ 'MD005',
+ 'list-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: (3); Actual: (4)',
+ errorRange: [
+ 1,
+ 5,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 29,
+ ruleDescription: 'Inconsistent indentation for list items at the same level',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md005.md',
+ ruleNames: [
+ 'MD005',
+ 'list-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 0; Actual: 1',
+ errorRange: [
+ 1,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 8,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 0; Actual: 1',
+ errorRange: [
+ 1,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 12,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 0; Actual: 1',
+ errorRange: [
+ 1,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 13,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 0 or 2; Actual: 1',
+ errorRange: [
+ 13,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 13,
+ },
+ lineNumber: 15,
+ ruleDescription: 'Trailing spaces',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md009.md',
+ ruleNames: [
+ 'MD009',
+ 'no-trailing-spaces',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 5',
+ errorRange: [
+ 5,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 5,
+ insertText: ' ',
+ },
+ lineNumber: 17,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ ],
+ fixed: `## One␊
+ ␊
+ #### Two {MD001}␊
+ ␊
+ ### Three {MD003} ###␊
+ ␊
+ * Alpha␊
+ * Bravo {MD005} {MD007}␊
+ ␊
+ * Charlie {MD004}␊
+ ␊
+ * Delta {MD007}␊
+ * Echo {MD007}␊
+ ␊
+ Text {MD009}␊
+ ␊
+ Text text {MD010}␊
+ ␊
+ 1. One␊
+ 2. Two␊
+ 3. Three␊
+ 4. Four␊
+ 5. Five {MD005}␊
+ 6. Six␊
+ 7. Seven␊
+ 8. Eight␊
+ 9. Nine␊
+ 10. Ten␊
+ 11. Eleven {MD005}␊
+ 12. Twelve␊
+ ␊
+ ␊
+ `,
+ }
+
+## MD011-MD021.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: '(reversed)[link]',
+ errorRange: [
+ 3,
+ 16,
+ ],
+ fixInfo: {
+ deleteCount: 16,
+ editColumn: 3,
+ insertText: '[reversed](link)',
+ },
+ lineNumber: 5,
+ ruleDescription: 'Reversed link syntax',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md011.md',
+ ruleNames: [
+ 'MD011',
+ 'no-reversed-links',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: '(reversed)[link]',
+ errorRange: [
+ 11,
+ 16,
+ ],
+ fixInfo: {
+ deleteCount: 16,
+ editColumn: 11,
+ insertText: '[reversed](link)',
+ },
+ lineNumber: 26,
+ ruleDescription: 'Reversed link syntax',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md011.md',
+ ruleNames: [
+ 'MD011',
+ 'no-reversed-links',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 1; Actual: 2',
+ errorRange: null,
+ fixInfo: {
+ deleteCount: -1,
+ },
+ lineNumber: 7,
+ ruleDescription: 'Multiple consecutive blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md012.md',
+ ruleNames: [
+ 'MD012',
+ 'no-multiple-blanks',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 80; Actual: 99',
+ errorRange: [
+ 81,
+ 19,
+ ],
+ fixInfo: null,
+ lineNumber: 8,
+ ruleDescription: 'Line length',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md013.md',
+ ruleNames: [
+ 'MD013',
+ 'line-length',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 40; Actual: 62',
+ errorRange: [
+ 41,
+ 22,
+ ],
+ fixInfo: null,
+ lineNumber: 10,
+ ruleDescription: 'Line length',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md013.md',
+ ruleNames: [
+ 'MD013',
+ 'line-length',
+ ],
+ },
+ {
+ errorContext: '$ command with no output {MD01...',
+ errorDetail: null,
+ errorRange: [
+ 5,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 5,
+ },
+ lineNumber: 12,
+ ruleDescription: 'Dollar signs used before commands without showing output',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md014.md',
+ ruleNames: [
+ 'MD014',
+ 'commands-show-output',
+ ],
+ },
+ {
+ errorContext: '##No space A {MD018}',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 3,
+ ],
+ fixInfo: {
+ editColumn: 3,
+ insertText: ' ',
+ },
+ lineNumber: 14,
+ ruleDescription: 'No space after hash on atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md018.md',
+ ruleNames: [
+ 'MD018',
+ 'no-missing-space-atx',
+ ],
+ },
+ {
+ errorContext: '## Multiple spaces B {MD019}',
+ errorDetail: null,
+ errorRange: [
+ 4,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 4,
+ },
+ lineNumber: 16,
+ ruleDescription: 'Multiple spaces after hash on atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md019.md',
+ ruleNames: [
+ 'MD019',
+ 'no-multiple-space-atx',
+ ],
+ },
+ {
+ errorContext: '##No space C {MD020} ##',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 23,
+ editColumn: 1,
+ insertText: '## No space C {MD020} ##',
+ },
+ lineNumber: 18,
+ ruleDescription: 'No space inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md020.md',
+ ruleNames: [
+ 'MD020',
+ 'no-missing-space-closed-atx',
+ ],
+ },
+ {
+ errorContext: '## No space D {MD020}##',
+ errorDetail: null,
+ errorRange: [
+ 21,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 23,
+ editColumn: 1,
+ insertText: '## No space D {MD020} ##',
+ },
+ lineNumber: 20,
+ ruleDescription: 'No space inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md020.md',
+ ruleNames: [
+ 'MD020',
+ 'no-missing-space-closed-atx',
+ ],
+ },
+ {
+ errorContext: '## Multiple spaces E {MD021} ...',
+ errorDetail: null,
+ errorRange: [
+ 4,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 4,
+ },
+ lineNumber: 22,
+ ruleDescription: 'Multiple spaces inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md021.md',
+ ruleNames: [
+ 'MD021',
+ 'no-multiple-space-closed-atx',
+ ],
+ },
+ {
+ errorContext: '... Multiple spaces F {MD021} ##',
+ errorDetail: null,
+ errorRange: [
+ 30,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 30,
+ },
+ lineNumber: 24,
+ ruleDescription: 'Multiple spaces inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md021.md',
+ ruleNames: [
+ 'MD021',
+ 'no-multiple-space-closed-atx',
+ ],
+ },
+ ],
+ fixed: `# Top level heading␊
+ ␊
+ ␊
+ ␊
+ A [reversed](link) example. {MD011}␊
+ ␊
+ 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789␊
+ ␊
+ ## 123456789 123456789 123456789 123456789 123456789 123456789␊
+ ␊
+ command with no output {MD014}␊
+ ␊
+ ## No space A {MD018}␊
+ ␊
+ ## Multiple spaces B {MD019}␊
+ ␊
+ ## No space C {MD020} ##␊
+ ␊
+ ## No space D {MD020} ##␊
+ ␊
+ ## Multiple spaces E {MD021} ##␊
+ ␊
+ ## Multiple spaces F {MD021} ##␊
+ ␊
+ *Another* [reversed](link) example. {MD011}␊
+ ␊
+ {MD012:7} {MD013:8} {MD013:10}␊
+ ␊
+ ␊
+ `,
+ }
+
+## MD022-MD030.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '# Heading',
+ errorDetail: 'Expected: 1; Actual: 0; Below',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 2,
+ },
+ lineNumber: 1,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: ' # Heading',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ },
+ lineNumber: 1,
+ ruleDescription: 'Headings must start at the beginning of the line',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md023.md',
+ ruleNames: [
+ 'MD023',
+ 'heading-start-left',
+ ],
+ },
+ {
+ errorContext: 'Heading',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 4,
+ ruleDescription: 'Multiple headings with the same content',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md024.md',
+ ruleNames: [
+ 'MD024',
+ 'no-duplicate-heading',
+ ],
+ },
+ {
+ errorContext: 'Heading',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 4,
+ ruleDescription: 'Multiple top-level headings in the same document',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md025.md',
+ ruleNames: [
+ 'MD025',
+ 'single-title',
+ 'single-h1',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Punctuation: \'.\'',
+ errorRange: [
+ 27,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 27,
+ },
+ lineNumber: 6,
+ ruleDescription: 'Trailing punctuation in heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md026.md',
+ ruleNames: [
+ 'MD026',
+ 'no-trailing-punctuation',
+ ],
+ },
+ {
+ errorContext: '> Multiple spaces {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ },
+ lineNumber: 8,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> > Multiple spaces, multiple...',
+ errorDetail: null,
+ errorRange: [
+ 5,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 5,
+ },
+ lineNumber: 15,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> > > Multiple spaces, multip...',
+ errorDetail: null,
+ errorRange: [
+ 7,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 7,
+ },
+ lineNumber: 17,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> > > Multiple spaces, multip...',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ },
+ lineNumber: 19,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 9,
+ ruleDescription: 'Blank line inside blockquote',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md028.md',
+ ruleNames: [
+ 'MD028',
+ 'no-blanks-blockquote',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 2; Actual: 3; Style: 1/2/3',
+ errorRange: [
+ 1,
+ 4,
+ ],
+ fixInfo: null,
+ lineNumber: 13,
+ ruleDescription: 'Ordered list item prefix',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md029.md',
+ ruleNames: [
+ 'MD029',
+ 'ol-prefix',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 1; Actual: 2',
+ errorRange: [
+ 1,
+ 4,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 3,
+ insertText: ' ',
+ },
+ lineNumber: 13,
+ ruleDescription: 'Spaces after list markers',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md030.md',
+ ruleNames: [
+ 'MD030',
+ 'list-marker-space',
+ ],
+ },
+ ],
+ fixed: `# Heading␊
+ ␊
+ Text␊
+ ␊
+ # Heading␊
+ ␊
+ ## Another heading {MD026}␊
+ ␊
+ > Multiple spaces {MD027}␊
+ ␊
+ > Blank line above␊
+ ␊
+ 1. Alpha␊
+ 3. Beta {MD029} {MD030}␊
+ ␊
+ > > Multiple spaces, multiple blockquotes {MD027}␊
+ > >␊
+ > > > Multiple spaces, multiple blockquotes {MD027}␊
+ > > >␊
+ > > > Multiple spaces, multiple blockquotes {MD027}␊
+ ␊
+ {MD022:1} {MD023:1} {MD024:4} {MD025:4} {MD028:9}␊
+ `,
+ }
+
+## MD030-warning-message.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 1; Actual: 2',
+ errorRange: [
+ 1,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 2,
+ insertText: ' ',
+ },
+ lineNumber: 19,
+ ruleDescription: 'Spaces after list markers',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md030.md',
+ ruleNames: [
+ 'MD030',
+ 'list-marker-space',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 1; Actual: 2',
+ errorRange: [
+ 1,
+ 4,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 3,
+ insertText: ' ',
+ },
+ lineNumber: 21,
+ ruleDescription: 'Spaces after list markers',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md030.md',
+ ruleNames: [
+ 'MD030',
+ 'list-marker-space',
+ ],
+ },
+ {
+ errorContext: '-',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 4,
+ },
+ lineNumber: 3,
+ ruleDescription: 'Lists should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md032.md',
+ ruleNames: [
+ 'MD032',
+ 'blanks-around-lists',
+ ],
+ },
+ {
+ errorContext: '1.',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 7,
+ },
+ lineNumber: 6,
+ ruleDescription: 'Lists should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md032.md',
+ ruleNames: [
+ 'MD032',
+ 'blanks-around-lists',
+ ],
+ },
+ ],
+ fixed: `#␊
+ ␊
+ -␊
+ ␊
+ (bare list item marker {MD032:3})␊
+ ␊
+ 1.␊
+ ␊
+ (bare list item marker {MD032:6})␊
+ ␊
+ -a␊
+ (not a list item)␊
+ ␊
+ 1.a␊
+ (not a list item)␊
+ ␊
+ - a␊
+ ␊
+ 1. a␊
+ ␊
+ - a {MD030}␊
+ ␊
+ 1. a {MD030}␊
+ `,
+ }
+
+## MD031-MD040.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 4,
+ },
+ lineNumber: 3,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '* List {MD032}',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 4,
+ ruleDescription: 'Lists should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md032.md',
+ ruleNames: [
+ 'MD032',
+ 'blanks-around-lists',
+ ],
+ },
+ {
+ errorContext: '* List {MD032}',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 48,
+ },
+ lineNumber: 47,
+ ruleDescription: 'Lists should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md032.md',
+ ruleNames: [
+ 'MD032',
+ 'blanks-around-lists',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Element: hr',
+ errorRange: [
+ 7,
+ 5,
+ ],
+ fixInfo: null,
+ lineNumber: 6,
+ ruleDescription: 'Inline HTML',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md033.md',
+ ruleNames: [
+ 'MD033',
+ 'no-inline-html',
+ ],
+ },
+ {
+ errorContext: 'https://example.com',
+ errorDetail: null,
+ errorRange: [
+ 6,
+ 19,
+ ],
+ fixInfo: {
+ deleteCount: 19,
+ editColumn: 6,
+ insertText: '',
+ },
+ lineNumber: 8,
+ ruleDescription: 'Bare URL used',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md034.md',
+ ruleNames: [
+ 'MD034',
+ 'no-bare-urls',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: ---; Actual: ***',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 11,
+ ruleDescription: 'Horizontal rule style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md035.md',
+ ruleNames: [
+ 'MD035',
+ 'hr-style',
+ ],
+ },
+ {
+ errorContext: 'Emphasis {MD036}',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 13,
+ ruleDescription: 'Emphasis used instead of a heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md036.md',
+ ruleNames: [
+ 'MD036',
+ 'no-emphasis-as-heading',
+ ],
+ },
+ {
+ errorContext: '* i',
+ errorDetail: null,
+ errorRange: [
+ 7,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 8,
+ },
+ lineNumber: 15,
+ ruleDescription: 'Spaces inside emphasis markers',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md037.md',
+ ruleNames: [
+ 'MD037',
+ 'no-space-in-emphasis',
+ ],
+ },
+ {
+ errorContext: 'e *',
+ errorDetail: null,
+ errorRange: [
+ 14,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 15,
+ },
+ lineNumber: 15,
+ ruleDescription: 'Spaces inside emphasis markers',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md037.md',
+ ruleNames: [
+ 'MD037',
+ 'no-space-in-emphasis',
+ ],
+ },
+ {
+ errorContext: '* s',
+ errorDetail: null,
+ errorRange: [
+ 17,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 18,
+ },
+ lineNumber: 31,
+ ruleDescription: 'Spaces inside emphasis markers',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md037.md',
+ ruleNames: [
+ 'MD037',
+ 'no-space-in-emphasis',
+ ],
+ },
+ {
+ errorContext: 'e *',
+ errorDetail: null,
+ errorRange: [
+ 21,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 22,
+ },
+ lineNumber: 32,
+ ruleDescription: 'Spaces inside emphasis markers',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md037.md',
+ ruleNames: [
+ 'MD037',
+ 'no-space-in-emphasis',
+ ],
+ },
+ {
+ errorContext: 'e **',
+ errorDetail: null,
+ errorRange: [
+ 22,
+ 4,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 23,
+ },
+ lineNumber: 33,
+ ruleDescription: 'Spaces inside emphasis markers',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md037.md',
+ ruleNames: [
+ 'MD037',
+ 'no-space-in-emphasis',
+ ],
+ },
+ {
+ errorContext: '_ s',
+ errorDetail: null,
+ errorRange: [
+ 17,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 18,
+ },
+ lineNumber: 34,
+ ruleDescription: 'Spaces inside emphasis markers',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md037.md',
+ ruleNames: [
+ 'MD037',
+ 'no-space-in-emphasis',
+ ],
+ },
+ {
+ errorContext: '__ s',
+ errorDetail: null,
+ errorRange: [
+ 19,
+ 4,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 21,
+ },
+ lineNumber: 35,
+ ruleDescription: 'Spaces inside emphasis markers',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md037.md',
+ ruleNames: [
+ 'MD037',
+ 'no-space-in-emphasis',
+ ],
+ },
+ {
+ errorContext: 'e __',
+ errorDetail: null,
+ errorRange: [
+ 25,
+ 4,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 26,
+ },
+ lineNumber: 35,
+ ruleDescription: 'Spaces inside emphasis markers',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md037.md',
+ ruleNames: [
+ 'MD037',
+ 'no-space-in-emphasis',
+ ],
+ },
+ {
+ errorContext: '* i',
+ errorDetail: null,
+ errorRange: [
+ 7,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 8,
+ },
+ lineNumber: 62,
+ ruleDescription: 'Spaces inside emphasis markers',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md037.md',
+ ruleNames: [
+ 'MD037',
+ 'no-space-in-emphasis',
+ ],
+ },
+ {
+ errorContext: 'e *',
+ errorDetail: null,
+ errorRange: [
+ 10,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 11,
+ },
+ lineNumber: 63,
+ ruleDescription: 'Spaces inside emphasis markers',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md037.md',
+ ruleNames: [
+ 'MD037',
+ 'no-space-in-emphasis',
+ ],
+ },
+ {
+ errorContext: '` inside`',
+ errorDetail: null,
+ errorRange: [
+ 8,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 8,
+ },
+ lineNumber: 17,
+ ruleDescription: 'Spaces inside code span elements',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md038.md',
+ ruleNames: [
+ 'MD038',
+ 'no-space-in-code',
+ ],
+ },
+ {
+ errorContext: '`` inside``',
+ errorDetail: null,
+ errorRange: [
+ 9,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 9,
+ },
+ lineNumber: 24,
+ ruleDescription: 'Spaces inside code span elements',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md038.md',
+ ruleNames: [
+ 'MD038',
+ 'no-space-in-code',
+ ],
+ },
+ {
+ errorContext: '` code`',
+ errorDetail: null,
+ errorRange: [
+ 20,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 20,
+ },
+ lineNumber: 25,
+ ruleDescription: 'Spaces inside code span elements',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md038.md',
+ ruleNames: [
+ 'MD038',
+ 'no-space-in-code',
+ ],
+ },
+ {
+ errorContext: '` elements`',
+ errorDetail: null,
+ errorRange: [
+ 27,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 27,
+ },
+ lineNumber: 26,
+ ruleDescription: 'Spaces inside code span elements',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md038.md',
+ ruleNames: [
+ 'MD038',
+ 'no-space-in-code',
+ ],
+ },
+ {
+ errorContext: '`` code``',
+ errorDetail: null,
+ errorRange: [
+ 23,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 23,
+ },
+ lineNumber: 27,
+ ruleDescription: 'Spaces inside code span elements',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md038.md',
+ ruleNames: [
+ 'MD038',
+ 'no-space-in-code',
+ ],
+ },
+ {
+ errorContext: '`` ` embedded backtick``',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ },
+ lineNumber: 28,
+ ruleDescription: 'Spaces inside code span elements',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md038.md',
+ ruleNames: [
+ 'MD038',
+ 'no-space-in-code',
+ ],
+ },
+ {
+ errorContext: '``embedded backtick` ``',
+ errorDetail: null,
+ errorRange: [
+ 22,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 22,
+ },
+ lineNumber: 29,
+ ruleDescription: 'Spaces inside code span elements',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md038.md',
+ ruleNames: [
+ 'MD038',
+ 'no-space-in-code',
+ ],
+ },
+ {
+ errorContext: `\` code {MD038}␊
+ span\``,
+ errorDetail: null,
+ errorRange: [
+ 7,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 7,
+ },
+ lineNumber: 38,
+ ruleDescription: 'Spaces inside code span elements',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md038.md',
+ ruleNames: [
+ 'MD038',
+ 'no-space-in-code',
+ ],
+ },
+ {
+ errorContext: `\`code␊
+ span \``,
+ errorDetail: null,
+ errorRange: [
+ 5,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 5,
+ },
+ lineNumber: 44,
+ ruleDescription: 'Spaces inside code span elements',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md038.md',
+ ruleNames: [
+ 'MD038',
+ 'no-space-in-code',
+ ],
+ },
+ {
+ errorContext: `...\`\`code␊
+ span code␊
+ span code \`\`\``,
+ errorDetail: null,
+ errorRange: [
+ 10,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 10,
+ },
+ lineNumber: 53,
+ ruleDescription: 'Spaces inside code span elements',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md038.md',
+ ruleNames: [
+ 'MD038',
+ 'no-space-in-code',
+ ],
+ },
+ {
+ errorContext: `\`\`\`\` code {MD038}␊
+ span code␊
+ sp...`,
+ errorDetail: null,
+ errorRange: [
+ 15,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 15,
+ },
+ lineNumber: 55,
+ ruleDescription: 'Spaces inside code span elements',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md038.md',
+ ruleNames: [
+ 'MD038',
+ 'no-space-in-code',
+ ],
+ },
+ {
+ errorContext: '[ inside ]',
+ errorDetail: null,
+ errorRange: [
+ 8,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 8,
+ },
+ lineNumber: 19,
+ ruleDescription: 'Spaces inside link text',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md039.md',
+ ruleNames: [
+ 'MD039',
+ 'no-space-in-links',
+ ],
+ },
+ {
+ errorContext: '[ inside ]',
+ errorDetail: null,
+ errorRange: [
+ 15,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 15,
+ },
+ lineNumber: 19,
+ ruleDescription: 'Spaces inside link text',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md039.md',
+ ruleNames: [
+ 'MD039',
+ 'no-space-in-links',
+ ],
+ },
+ {
+ errorContext: '[ space]',
+ errorDetail: null,
+ errorRange: [
+ 7,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 7,
+ },
+ lineNumber: 60,
+ ruleDescription: 'Spaces inside link text',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md039.md',
+ ruleNames: [
+ 'MD039',
+ 'no-space-in-links',
+ ],
+ },
+ {
+ errorContext: '[space ]',
+ errorDetail: null,
+ errorRange: [
+ 32,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 32,
+ },
+ lineNumber: 60,
+ ruleDescription: 'Spaces inside link text',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md039.md',
+ ruleNames: [
+ 'MD039',
+ 'no-space-in-links',
+ ],
+ },
+ {
+ errorContext: '[ space ]',
+ errorDetail: null,
+ errorRange: [
+ 47,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 47,
+ },
+ lineNumber: 60,
+ ruleDescription: 'Spaces inside link text',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md039.md',
+ ruleNames: [
+ 'MD039',
+ 'no-space-in-links',
+ ],
+ },
+ {
+ errorContext: '[ space ]',
+ errorDetail: null,
+ errorRange: [
+ 53,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 53,
+ },
+ lineNumber: 60,
+ ruleDescription: 'Spaces inside link text',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md039.md',
+ ruleNames: [
+ 'MD039',
+ 'no-space-in-links',
+ ],
+ },
+ {
+ errorContext: '```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 21,
+ ruleDescription: 'Fenced code blocks should have a language specified',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md040.md',
+ ruleNames: [
+ 'MD040',
+ 'fenced-code-language',
+ ],
+ },
+ ],
+ fixed: `\`\`\`js␊
+ debugger;␊
+ \`\`\`␊
+ ␊
+ * List {MD032}␊
+ ␊
+ Inline
HTML {MD033}␊
+ ␊
+ Bare link {MD034}␊
+ ␊
+ ---␊
+ ***␊
+ ␊
+ *Emphasis {MD036}*␊
+ ␊
+ Space *inside* emphasis {MD037}␊
+ ␊
+ Space \`inside\` code span {MD038}␊
+ ␊
+ Space [inside](link) text {MD039}␊
+ ␊
+ \`\`\`␊
+ \`\`\`␊
+ ␊
+ space \`\`inside\`\` code {MD038}␊
+ space \`inside\` of \`code\` elements {MD038}␊
+ \`space\` inside \`of\` code \`elements\` {MD038}␊
+ space \`\`inside\`\` of \`\`code\`\` elements {MD038}␊
+ \`\` \` embedded backtick\`\` {MD038}␊
+ \`\`embedded backtick\` \`\` {MD038}␊
+ ␊
+ some *space* in *some* emphasis {MD037}␊
+ some *space* in *some* emphasis {MD037}␊
+ some *space* in **some** emphasis {MD037}␊
+ some _space_ in _some_ emphasis {MD037}␊
+ some __space__ in __some__ emphasis {MD037}␊
+ ␊
+ Text␊
+ text \`code {MD038}␊
+ span\` text␊
+ text.␊
+ ␊
+ Text␊
+ text \`code␊
+ span\` text {MD038}␊
+ text.␊
+ ␊
+ * List {MD032}␊
+ ␊
+ ---␊
+ ␊
+ Text␊
+ text \`\`\`code␊
+ span code␊
+ span code\`\`\` text {MD038}␊
+ text␊
+ text text \`\`\`\`code {MD038}␊
+ span code␊
+ span\`\`\`\` text␊
+ text.␊
+ ␊
+ Text [space](link) text [space](link) text [space](link) text. {MD039}␊
+ ␊
+ Space *inside {MD037}␊
+ multi-line* emphasis. {MD037}␊
+ ␊
+ {MD031:3} {MD035:11} {MD040:21}␊
+ ␊
+ ␊
+ `,
+ }
+
+## MD041-MD050.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: 'Not a heading {MD041}',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 1,
+ ruleDescription: 'First line in a file should be a top-level heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md041.md',
+ ruleNames: [
+ 'MD041',
+ 'first-line-heading',
+ 'first-line-h1',
+ ],
+ },
+ {
+ errorContext: '[empty]()',
+ errorDetail: null,
+ errorRange: [
+ 4,
+ 9,
+ ],
+ fixInfo: null,
+ lineNumber: 3,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ {
+ errorContext: '[empty](#)',
+ errorDetail: null,
+ errorRange: [
+ 4,
+ 10,
+ ],
+ fixInfo: null,
+ lineNumber: 5,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ {
+ errorContext: '[empty](<>)',
+ errorDetail: null,
+ errorRange: [
+ 4,
+ 11,
+ ],
+ fixInfo: null,
+ lineNumber: 7,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ {
+ errorContext: '[empty one]()',
+ errorDetail: null,
+ errorRange: [
+ 25,
+ 13,
+ ],
+ fixInfo: null,
+ lineNumber: 17,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ {
+ errorContext: '# Heading',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 64,
+ ruleDescription: 'Required heading structure',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md043.md',
+ ruleNames: [
+ 'MD043',
+ 'required-headings',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: markdownlint; Actual: MARKDOWNLINT',
+ errorRange: [
+ 29,
+ 12,
+ ],
+ fixInfo: {
+ deleteCount: 12,
+ editColumn: 29,
+ insertText: 'markdownlint',
+ },
+ lineNumber: 9,
+ ruleDescription: 'Proper names should have the correct capitalization',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md044.md',
+ ruleNames: [
+ 'MD044',
+ 'proper-names',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: markdownlint; Actual: Markdownlint',
+ errorRange: [
+ 7,
+ 12,
+ ],
+ fixInfo: {
+ deleteCount: 12,
+ editColumn: 7,
+ insertText: 'markdownlint',
+ },
+ lineNumber: 12,
+ ruleDescription: 'Proper names should have the correct capitalization',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md044.md',
+ ruleNames: [
+ 'MD044',
+ 'proper-names',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: markdownlint; Actual: MarkDownLint',
+ errorRange: [
+ 1,
+ 12,
+ ],
+ fixInfo: {
+ deleteCount: 12,
+ editColumn: 1,
+ insertText: 'markdownlint',
+ },
+ lineNumber: 15,
+ ruleDescription: 'Proper names should have the correct capitalization',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md044.md',
+ ruleNames: [
+ 'MD044',
+ 'proper-names',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: null,
+ errorRange: [
+ 33,
+ 14,
+ ],
+ fixInfo: null,
+ lineNumber: 19,
+ ruleDescription: 'Images should have alternate text (alt text)',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md045.md',
+ ruleNames: [
+ 'MD045',
+ 'no-alt-text',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: fenced; Actual: indented',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 25,
+ ruleDescription: 'Code block style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md046.md',
+ ruleNames: [
+ 'MD046',
+ 'code-block-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: null,
+ errorRange: [
+ 41,
+ 1,
+ ],
+ fixInfo: {
+ editColumn: 42,
+ insertText: `␊
+ `,
+ },
+ lineNumber: 64,
+ ruleDescription: 'Files should end with a single newline character',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md047.md',
+ ruleNames: [
+ 'MD047',
+ 'single-trailing-newline',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: backtick; Actual: tilde',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 27,
+ ruleDescription: 'Code fence style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md048.md',
+ ruleNames: [
+ 'MD048',
+ 'code-fence-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 21,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 21,
+ insertText: '*',
+ },
+ lineNumber: 31,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 26,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 26,
+ insertText: '*',
+ },
+ lineNumber: 31,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 49,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 49,
+ insertText: '*',
+ },
+ lineNumber: 31,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 56,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 56,
+ insertText: '*',
+ },
+ lineNumber: 31,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 10,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 10,
+ insertText: '*',
+ },
+ lineNumber: 36,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 9,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 9,
+ insertText: '*',
+ },
+ lineNumber: 37,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 14,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 14,
+ insertText: '*',
+ },
+ lineNumber: 45,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 21,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 21,
+ insertText: '*',
+ },
+ lineNumber: 45,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 28,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 28,
+ insertText: '*',
+ },
+ lineNumber: 45,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 40,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 40,
+ insertText: '*',
+ },
+ lineNumber: 45,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 47,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 47,
+ insertText: '*',
+ },
+ lineNumber: 45,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 54,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 54,
+ insertText: '*',
+ },
+ lineNumber: 45,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 56,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 56,
+ insertText: '*',
+ },
+ lineNumber: 45,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 68,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 68,
+ insertText: '*',
+ },
+ lineNumber: 45,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 30,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 30,
+ insertText: '__',
+ },
+ lineNumber: 33,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 36,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 36,
+ insertText: '__',
+ },
+ lineNumber: 33,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 62,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 62,
+ insertText: '__',
+ },
+ lineNumber: 33,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 70,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 70,
+ insertText: '__',
+ },
+ lineNumber: 33,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 8,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 8,
+ insertText: '__',
+ },
+ lineNumber: 41,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 9,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 9,
+ insertText: '__',
+ },
+ lineNumber: 42,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 14,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 14,
+ insertText: '__',
+ },
+ lineNumber: 47,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 22,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 22,
+ insertText: '__',
+ },
+ lineNumber: 47,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 30,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 30,
+ insertText: '__',
+ },
+ lineNumber: 47,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 43,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 43,
+ insertText: '__',
+ },
+ lineNumber: 47,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 51,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 51,
+ insertText: '__',
+ },
+ lineNumber: 47,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 59,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 59,
+ insertText: '__',
+ },
+ lineNumber: 47,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 62,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 62,
+ insertText: '__',
+ },
+ lineNumber: 47,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 75,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 75,
+ insertText: '__',
+ },
+ lineNumber: 47,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ ],
+ fixed: `Not a heading {MD041}␊
+ ␊
+ An [empty]() link {MD042}␊
+ ␊
+ An [empty](#) link with fragment {MD042}␊
+ ␊
+ An [empty](<>) link with angle brackets {MD042}␊
+ ␊
+ This is a test file for the markdownlint package. {MD044}␊
+ ␊
+ This is a paragraph␊
+ about markdownlint {MD044}␊
+ that capitalizes the␊
+ name wrong twice:␊
+ markdownlint. {MD044}␊
+ ␊
+ A [normal](link) and an [empty one]() and a [fragment](#one). {MD042}␊
+ ␊
+ An image without alternate text  {MD045}␊
+ ␊
+ \`\`\`text␊
+ Fenced code␊
+ \`\`\`␊
+ ␊
+ Indented code {MD046}␊
+ ␊
+ ~~~text␊
+ Fenced code {MD048:27}␊
+ ~~~␊
+ ␊
+ Mixed *emphasis* on *this* line *with* multiple *issues* {MD049}␊
+ ␊
+ Mixed __strong emphasis__ on __this__ line __with__ multiple __issues__ {MD050}␊
+ ␊
+ Inconsistent␊
+ emphasis *text {MD049}␊
+ spanning* many {MD049}␊
+ lines␊
+ ␊
+ Inconsistent␊
+ strong __emphasis {MD050}␊
+ spanning__ many {MD050}␊
+ lines␊
+ ␊
+ Inconsistent *double* text *interleaved* text *double* *interleaved* emphasis. {MD049}␊
+ ␊
+ Inconsistent __double__ text __interleaved__ text __double__ __interleaved__ strong emphasis. {MD050}␊
+ ␊
+ ␊
+ ␊
+ Missing newline character {MD043} {MD047}␊
+ `,
+ }
+
+## MD051-MD060.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '[link with a missing](#fragment)',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 32,
+ ],
+ fixInfo: null,
+ lineNumber: 3,
+ ruleDescription: 'Link fragments should be valid',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md051.md',
+ ruleNames: [
+ 'MD051',
+ 'link-fragments',
+ ],
+ },
+ {
+ errorContext: '[link with a][undefined-label]',
+ errorDetail: 'Missing link or image reference definition: "undefined-label"',
+ errorRange: [
+ 3,
+ 30,
+ ],
+ fixInfo: null,
+ lineNumber: 7,
+ ruleDescription: 'Reference links and images should use a label that is defined',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md052.md',
+ ruleNames: [
+ 'MD052',
+ 'reference-links-images',
+ ],
+ },
+ {
+ errorContext: '[unused-label]: {MD053}',
+ errorDetail: 'Unused link or image reference definition: "unused-label"',
+ errorRange: [
+ 1,
+ 23,
+ ],
+ fixInfo: {
+ deleteCount: -1,
+ },
+ lineNumber: 10,
+ ruleDescription: 'Link and image reference definitions should be needed',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md053.md',
+ ruleNames: [
+ 'MD053',
+ 'link-image-reference-definitions',
+ ],
+ },
+ ],
+ fixed: `# detailed-results-MD051-MD060␊
+ ␊
+ A [link with a missing](#fragment) {MD051}␊
+ ␊
+ A [link with a][defined-label]␊
+ ␊
+ A [link with a][undefined-label] {MD052}␊
+ ␊
+ [defined-label]: https://example.com␊
+ `,
+ }
+
+## alternate_top_level_heading.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: 'Another one {MD025}',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 3,
+ ruleDescription: 'Multiple top-level headings in the same document',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md025.md',
+ ruleNames: [
+ 'MD025',
+ 'single-title',
+ 'single-h1',
+ ],
+ },
+ ],
+ fixed: `## A level 2 top level heading␊
+ ␊
+ ## Another one {MD025}␊
+ ␊
+ ␊
+ `,
+ }
+
+## atx-heading-spacing-trailing-spaces.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '##Heading 1 {MD018}',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 3,
+ ],
+ fixInfo: {
+ editColumn: 3,
+ insertText: ' ',
+ },
+ lineNumber: 5,
+ ruleDescription: 'No space after hash on atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md018.md',
+ ruleNames: [
+ 'MD018',
+ 'no-missing-space-atx',
+ ],
+ },
+ {
+ errorContext: '## Heading 2 {MD019}',
+ errorDetail: null,
+ errorRange: [
+ 4,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 3,
+ editColumn: 4,
+ },
+ lineNumber: 7,
+ ruleDescription: 'Multiple spaces after hash on atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md019.md',
+ ruleNames: [
+ 'MD019',
+ 'no-multiple-space-atx',
+ ],
+ },
+ {
+ errorContext: '##Heading 3 {MD020} ##',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 24,
+ editColumn: 1,
+ insertText: '## Heading 3 {MD020} ##',
+ },
+ lineNumber: 9,
+ ruleDescription: 'No space inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md020.md',
+ ruleNames: [
+ 'MD020',
+ 'no-missing-space-closed-atx',
+ ],
+ },
+ {
+ errorContext: '## Heading 4 {MD020}##',
+ errorDetail: null,
+ errorRange: [
+ 20,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 24,
+ editColumn: 1,
+ insertText: '## Heading 4 {MD020} ##',
+ },
+ lineNumber: 11,
+ ruleDescription: 'No space inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md020.md',
+ ruleNames: [
+ 'MD020',
+ 'no-missing-space-closed-atx',
+ ],
+ },
+ {
+ errorContext: '##Heading 5 {MD020}##',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 23,
+ editColumn: 1,
+ insertText: '## Heading 5 {MD020} ##',
+ },
+ lineNumber: 13,
+ ruleDescription: 'No space inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md020.md',
+ ruleNames: [
+ 'MD020',
+ 'no-missing-space-closed-atx',
+ ],
+ },
+ {
+ errorContext: '## Heading 5 {MD021} ##',
+ errorDetail: null,
+ errorRange: [
+ 4,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 3,
+ editColumn: 4,
+ },
+ lineNumber: 15,
+ ruleDescription: 'Multiple spaces inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md021.md',
+ ruleNames: [
+ 'MD021',
+ 'no-multiple-space-closed-atx',
+ ],
+ },
+ {
+ errorContext: '## Heading 6 {MD021} ##',
+ errorDetail: null,
+ errorRange: [
+ 22,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 22,
+ },
+ lineNumber: 17,
+ ruleDescription: 'Multiple spaces inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md021.md',
+ ruleNames: [
+ 'MD021',
+ 'no-multiple-space-closed-atx',
+ ],
+ },
+ {
+ errorContext: '## Heading 7 {MD021} ##',
+ errorDetail: null,
+ errorRange: [
+ 4,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 3,
+ editColumn: 4,
+ },
+ lineNumber: 19,
+ ruleDescription: 'Multiple spaces inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md021.md',
+ ruleNames: [
+ 'MD021',
+ 'no-multiple-space-closed-atx',
+ ],
+ },
+ {
+ errorContext: '## Heading 7 {MD021} ##',
+ errorDetail: null,
+ errorRange: [
+ 25,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 25,
+ },
+ lineNumber: 19,
+ ruleDescription: 'Multiple spaces inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md021.md',
+ ruleNames: [
+ 'MD021',
+ 'no-multiple-space-closed-atx',
+ ],
+ },
+ ],
+ fixed: `# atx-heading-spacing-trailing-spaces␊
+ ␊
+ ␊
+ ␊
+ ## Heading 1 {MD018} ␊
+ ␊
+ ## Heading 2 {MD019} ␊
+ ␊
+ ## Heading 3 {MD020} ##␊
+ ␊
+ ## Heading 4 {MD020} ##␊
+ ␊
+ ## Heading 5 {MD020} ##␊
+ ␊
+ ## Heading 5 {MD021} ## ␊
+ ␊
+ ## Heading 6 {MD021} ## ␊
+ ␊
+ ## Heading 7 {MD021} ## ␊
+ `,
+ }
+
+## atx_closed_heading_spacing.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '#Heading 1 {MD020} #',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 20,
+ editColumn: 1,
+ insertText: '# Heading 1 {MD020} #',
+ },
+ lineNumber: 1,
+ ruleDescription: 'No space inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md020.md',
+ ruleNames: [
+ 'MD020',
+ 'no-missing-space-closed-atx',
+ ],
+ },
+ {
+ errorContext: '## Heading 2 {MD020}##',
+ errorDetail: null,
+ errorRange: [
+ 20,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 22,
+ editColumn: 1,
+ insertText: '## Heading 2 {MD020} ##',
+ },
+ lineNumber: 3,
+ ruleDescription: 'No space inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md020.md',
+ ruleNames: [
+ 'MD020',
+ 'no-missing-space-closed-atx',
+ ],
+ },
+ {
+ errorContext: '##Heading 3 {MD020}##',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 21,
+ editColumn: 1,
+ insertText: '## Heading 3 {MD020} ##',
+ },
+ lineNumber: 5,
+ ruleDescription: 'No space inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md020.md',
+ ruleNames: [
+ 'MD020',
+ 'no-missing-space-closed-atx',
+ ],
+ },
+ {
+ errorContext: '## Heading 4 {MD021} ##',
+ errorDetail: null,
+ errorRange: [
+ 4,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 4,
+ },
+ lineNumber: 7,
+ ruleDescription: 'Multiple spaces inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md021.md',
+ ruleNames: [
+ 'MD021',
+ 'no-multiple-space-closed-atx',
+ ],
+ },
+ {
+ errorContext: '## Heading 5 {MD021} ##',
+ errorDetail: null,
+ errorRange: [
+ 22,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 22,
+ },
+ lineNumber: 9,
+ ruleDescription: 'Multiple spaces inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md021.md',
+ ruleNames: [
+ 'MD021',
+ 'no-multiple-space-closed-atx',
+ ],
+ },
+ {
+ errorContext: '## Heading 6 {MD021} ##',
+ errorDetail: null,
+ errorRange: [
+ 4,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 4,
+ },
+ lineNumber: 11,
+ ruleDescription: 'Multiple spaces inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md021.md',
+ ruleNames: [
+ 'MD021',
+ 'no-multiple-space-closed-atx',
+ ],
+ },
+ {
+ errorContext: '## Heading 6 {MD021} ##',
+ errorDetail: null,
+ errorRange: [
+ 23,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 23,
+ },
+ lineNumber: 11,
+ ruleDescription: 'Multiple spaces inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md021.md',
+ ruleNames: [
+ 'MD021',
+ 'no-multiple-space-closed-atx',
+ ],
+ },
+ {
+ errorContext: '## Heading 7 {MD021} ##',
+ errorDetail: null,
+ errorRange: [
+ 4,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 4,
+ },
+ lineNumber: 13,
+ ruleDescription: 'Multiple spaces inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md021.md',
+ ruleNames: [
+ 'MD021',
+ 'no-multiple-space-closed-atx',
+ ],
+ },
+ {
+ errorContext: '## Heading 7 {MD021} ##',
+ errorDetail: null,
+ errorRange: [
+ 24,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 24,
+ },
+ lineNumber: 13,
+ ruleDescription: 'Multiple spaces inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md021.md',
+ ruleNames: [
+ 'MD021',
+ 'no-multiple-space-closed-atx',
+ ],
+ },
+ ],
+ fixed: `# Heading 1 {MD020} #␊
+ ␊
+ ## Heading 2 {MD020} ##␊
+ ␊
+ ## Heading 3 {MD020} ##␊
+ ␊
+ ## Heading 4 {MD021} ##␊
+ ␊
+ ## Heading 5 {MD021} ##␊
+ ␊
+ ## Heading 6 {MD021} ##␊
+ ␊
+ ## Heading 7 {MD021} ##␊
+ ␊
+ ## Heading 8\\#␊
+ ␊
+ ## Heading 9 \\#␊
+ ␊
+ ## Heading 10 \\#␊
+ ␊
+ ␊
+ `,
+ }
+
+## atx_heading_spacing.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '#Heading 1 {MD018}',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 2,
+ ],
+ fixInfo: {
+ editColumn: 2,
+ insertText: ' ',
+ },
+ lineNumber: 1,
+ ruleDescription: 'No space after hash on atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md018.md',
+ ruleNames: [
+ 'MD018',
+ 'no-missing-space-atx',
+ ],
+ },
+ {
+ errorContext: '## Heading 2 {MD019}',
+ errorDetail: null,
+ errorRange: [
+ 4,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 4,
+ },
+ lineNumber: 3,
+ ruleDescription: 'Multiple spaces after hash on atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md019.md',
+ ruleNames: [
+ 'MD019',
+ 'no-multiple-space-atx',
+ ],
+ },
+ {
+ errorContext: '## Heading 3 {MD019}',
+ errorDetail: null,
+ errorRange: [
+ 4,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 4,
+ },
+ lineNumber: 5,
+ ruleDescription: 'Multiple spaces after hash on atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md019.md',
+ ruleNames: [
+ 'MD019',
+ 'no-multiple-space-atx',
+ ],
+ },
+ ],
+ fixed: `# Heading 1 {MD018}␊
+ ␊
+ ## Heading 2 {MD019}␊
+ ␊
+ ## Heading 3 {MD019}␊
+ ␊
+ ␊
+ `,
+ }
+
+## backslashes-and-backticks.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `# Heading␊
+ ␊
+ \\\\\`\\\\␊
+ \\\\\`\\\\␊
+ `,
+ }
+
+## bare-list-markers.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `# Bare List Markers␊
+ ␊
+ ## Ordered 1/1/1␊
+ ␊
+ 1.␊
+ 1.␊
+ 1.␊
+ ␊
+ ## Ordered 1/2/3␊
+ ␊
+ 1.␊
+ 2.␊
+ 3.␊
+ ␊
+ ## Unordered *␊
+ ␊
+ *␊
+ *␊
+ *␊
+ ␊
+ ## Unordered +␊
+ ␊
+ +␊
+ +␊
+ +␊
+ ␊
+ ## Unordered -␊
+ ␊
+ -␊
+ -␊
+ -␊
+ ␊
+ ␊
+ `,
+ }
+
+## bare-urls-in-html.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: 'https://example.com/fail',
+ errorDetail: null,
+ errorRange: [
+ 6,
+ 24,
+ ],
+ fixInfo: {
+ deleteCount: 24,
+ editColumn: 6,
+ insertText: '',
+ },
+ lineNumber: 7,
+ ruleDescription: 'Bare URL used',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md034.md',
+ ruleNames: [
+ 'MD034',
+ 'no-bare-urls',
+ ],
+ },
+ {
+ errorContext: 'https://example.com/fail',
+ errorDetail: null,
+ errorRange: [
+ 49,
+ 24,
+ ],
+ fixInfo: {
+ deleteCount: 24,
+ editColumn: 49,
+ insertText: '',
+ },
+ lineNumber: 11,
+ ruleDescription: 'Bare URL used',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md034.md',
+ ruleNames: [
+ 'MD034',
+ 'no-bare-urls',
+ ],
+ },
+ {
+ errorContext: 'https://example.com/fail',
+ errorDetail: null,
+ errorRange: [
+ 49,
+ 24,
+ ],
+ fixInfo: {
+ deleteCount: 24,
+ editColumn: 49,
+ insertText: '',
+ },
+ lineNumber: 13,
+ ruleDescription: 'Bare URL used',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md034.md',
+ ruleNames: [
+ 'MD034',
+ 'no-bare-urls',
+ ],
+ },
+ {
+ errorContext: 'https://example.com/fail',
+ errorDetail: null,
+ errorRange: [
+ 41,
+ 24,
+ ],
+ fixInfo: {
+ deleteCount: 24,
+ editColumn: 41,
+ insertText: '',
+ },
+ lineNumber: 19,
+ ruleDescription: 'Bare URL used',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md034.md',
+ ruleNames: [
+ 'MD034',
+ 'no-bare-urls',
+ ],
+ },
+ {
+ errorContext: 'https://example.com/fail',
+ errorDetail: null,
+ errorRange: [
+ 16,
+ 24,
+ ],
+ fixInfo: {
+ deleteCount: 24,
+ editColumn: 16,
+ insertText: '',
+ },
+ lineNumber: 21,
+ ruleDescription: 'Bare URL used',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md034.md',
+ ruleNames: [
+ 'MD034',
+ 'no-bare-urls',
+ ],
+ },
+ {
+ errorContext: 'https://example.com/fail',
+ errorDetail: null,
+ errorRange: [
+ 17,
+ 24,
+ ],
+ fixInfo: {
+ deleteCount: 24,
+ editColumn: 17,
+ insertText: '',
+ },
+ lineNumber: 23,
+ ruleDescription: 'Bare URL used',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md034.md',
+ ruleNames: [
+ 'MD034',
+ 'no-bare-urls',
+ ],
+ },
+ ],
+ fixed: `# Bare URLs in HTML␊
+ ␊
+ ␊
+ https://example.com/pass␊
+
␊
+ ␊
+ Text text. {MD034}␊
+ ␊
+ Text https://example.com/pass
text.␊
+ ␊
+ Text https://example.com/pass
text text. {MD034}␊
+ ␊
+ Text https://example.com/pass
text text https://example.com/pass
text. {MD034}␊
+ ␊
+ Text text text https://example.com/pass text.␊
+ ␊
+ Text text text https://example.com/pass text.␊
+ ␊
+ Text text text text text. {MD034}␊
+ ␊
+ Text
text
text. {MD034}␊
+ ␊
+ Text
text
text. {MD034}␊
+ ␊
+ ␊
+ `,
+ }
+
+## bare-urls.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: 'https://example.com',
+ errorDetail: null,
+ errorRange: [
+ 15,
+ 19,
+ ],
+ fixInfo: {
+ deleteCount: 19,
+ editColumn: 15,
+ insertText: '',
+ },
+ lineNumber: 3,
+ ruleDescription: 'Bare URL used',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md034.md',
+ ruleNames: [
+ 'MD034',
+ 'no-bare-urls',
+ ],
+ },
+ {
+ errorContext: 'https://example.com/',
+ errorDetail: null,
+ errorRange: [
+ 15,
+ 20,
+ ],
+ fixInfo: {
+ deleteCount: 20,
+ editColumn: 15,
+ insertText: '',
+ },
+ lineNumber: 5,
+ ruleDescription: 'Bare URL used',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md034.md',
+ ruleNames: [
+ 'MD034',
+ 'no-bare-urls',
+ ],
+ },
+ {
+ errorContext: 'https://example.com/?query=str...',
+ errorDetail: null,
+ errorRange: [
+ 15,
+ 38,
+ ],
+ fixInfo: {
+ deleteCount: 38,
+ editColumn: 15,
+ insertText: '',
+ },
+ lineNumber: 7,
+ ruleDescription: 'Bare URL used',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md034.md',
+ ruleNames: [
+ 'MD034',
+ 'no-bare-urls',
+ ],
+ },
+ {
+ errorContext: 'https://example.com/info.htm',
+ errorDetail: null,
+ errorRange: [
+ 15,
+ 28,
+ ],
+ fixInfo: {
+ deleteCount: 28,
+ editColumn: 15,
+ insertText: '',
+ },
+ lineNumber: 9,
+ ruleDescription: 'Bare URL used',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md034.md',
+ ruleNames: [
+ 'MD034',
+ 'no-bare-urls',
+ ],
+ },
+ {
+ errorContext: 'https://example.com',
+ errorDetail: null,
+ errorRange: [
+ 7,
+ 19,
+ ],
+ fixInfo: {
+ deleteCount: 19,
+ editColumn: 7,
+ insertText: '',
+ },
+ lineNumber: 11,
+ ruleDescription: 'Bare URL used',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md034.md',
+ ruleNames: [
+ 'MD034',
+ 'no-bare-urls',
+ ],
+ },
+ {
+ errorContext: 'https://example.com',
+ errorDetail: null,
+ errorRange: [
+ 11,
+ 19,
+ ],
+ fixInfo: {
+ deleteCount: 19,
+ editColumn: 11,
+ insertText: '',
+ },
+ lineNumber: 13,
+ ruleDescription: 'Bare URL used',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md034.md',
+ ruleNames: [
+ 'MD034',
+ 'no-bare-urls',
+ ],
+ },
+ {
+ errorContext: 'https://example.com',
+ errorDetail: null,
+ errorRange: [
+ 25,
+ 19,
+ ],
+ fixInfo: {
+ deleteCount: 19,
+ editColumn: 25,
+ insertText: '',
+ },
+ lineNumber: 29,
+ ruleDescription: 'Bare URL used',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md034.md',
+ ruleNames: [
+ 'MD034',
+ 'no-bare-urls',
+ ],
+ },
+ {
+ errorContext: 'https://example.com',
+ errorDetail: null,
+ errorRange: [
+ 26,
+ 19,
+ ],
+ fixInfo: {
+ deleteCount: 19,
+ editColumn: 26,
+ insertText: '',
+ },
+ lineNumber: 31,
+ ruleDescription: 'Bare URL used',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md034.md',
+ ruleNames: [
+ 'MD034',
+ 'no-bare-urls',
+ ],
+ },
+ {
+ errorContext: 'https://example.com',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 19,
+ ],
+ fixInfo: {
+ deleteCount: 19,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 73,
+ ruleDescription: 'Bare URL used',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md034.md',
+ ruleNames: [
+ 'MD034',
+ 'no-bare-urls',
+ ],
+ },
+ {
+ errorContext: 'https://example.com',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 19,
+ ],
+ fixInfo: {
+ deleteCount: 19,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 78,
+ ruleDescription: 'Bare URL used',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md034.md',
+ ruleNames: [
+ 'MD034',
+ 'no-bare-urls',
+ ],
+ },
+ {
+ errorContext: 'https://example.com#heading-',
+ errorDetail: null,
+ errorRange: [
+ 27,
+ 28,
+ ],
+ fixInfo: {
+ deleteCount: 28,
+ editColumn: 27,
+ insertText: '',
+ },
+ lineNumber: 88,
+ ruleDescription: 'Bare URL used',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md034.md',
+ ruleNames: [
+ 'MD034',
+ 'no-bare-urls',
+ ],
+ },
+ {
+ errorContext: 'user@example.com',
+ errorDetail: null,
+ errorRange: [
+ 40,
+ 16,
+ ],
+ fixInfo: {
+ deleteCount: 16,
+ editColumn: 40,
+ insertText: '',
+ },
+ lineNumber: 96,
+ ruleDescription: 'Bare URL used',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md034.md',
+ ruleNames: [
+ 'MD034',
+ 'no-bare-urls',
+ ],
+ },
+ {
+ errorContext: 'https://example.com',
+ errorDetail: null,
+ errorRange: [
+ 59,
+ 19,
+ ],
+ fixInfo: {
+ deleteCount: 19,
+ editColumn: 59,
+ insertText: '',
+ },
+ lineNumber: 106,
+ ruleDescription: 'Bare URL used',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md034.md',
+ ruleNames: [
+ 'MD034',
+ 'no-bare-urls',
+ ],
+ },
+ ],
+ fixed: `# Detailed Results Bare URLs␊
+ ␊
+ For more, see . {MD034}␊
+ ␊
+ For more, see . {MD034}␊
+ ␊
+ For more, see . {MD034}␊
+ ␊
+ For more, see . {MD034}␊
+ ␊
+ Visit , then refresh. {MD034}␊
+ ␊
+ The site () is down. {MD034}␊
+ ␊
+ ␊
+ ␊
+ Some documents use to link.␊
+ ␊
+ Or to link.␊
+ ␊
+ Or repeat the URL https://example.com.␊
+ ␊
+ Or https://example.com/info.htm.␊
+ ␊
+ This is allowed to avoid embedding angle brackets in HTML Text https://example.com.␊
+ ␊
+ As is https://example.com/info.htm text.␊
+ ␊
+
Another violation: . {MD034}
␊
+ ␊
+
Another violation: . {MD034}
␊
+ ␊
+ This is not a bare [link]( https://example.com ).␊
+ ␊
+ Nor is [link](https://example.com/path-with(parens)).␊
+ ␊
+ Or .␊
+ ␊
+ URLs in HTML attributes are not bare:␊
+ ␊
+ ␊
+ Text␊
+ ␊
+ ␊
+ ␊
+ ␊
+ URLs surrounded by HTML tags are not bare:␊
+ ␊
+ Not https://example.com
bare.␊
+ ␊
+ Not https://example.com
bare.␊
+ ␊
+ ␊
+ Not bare due to being in an HTML block:␊
+ https://example.com␊
+ https://example.com
␊
+
https://example.com
␊
+
␊
+ ␊
+ ␊
+ https://example.com␊
+
␊
+ ␊
+ ␊
+ https://example.com␊
+ ␊
+
␊
+ ␊
+ ␊
+ ␊
+ {MD034}␊
+
␊
+ ␊
+ ␊
+ ␊
+ {MD034}␊
+ ␊
+
␊
+ ␊
+ URLs in link and image text are not bare:␊
+ ␊
+ Text [link to https://example.com site](https://example.com) text.␊
+ ␊
+ Image  text.␊
+ ␊
+ URLs may end with a dash: {MD034}␊
+ ␊
+ ... when explicit: ␊
+ ␊
+ ... when embedded: https://example.com#heading-
␊
+ ␊
+ Links with spaces inside angle brackets are okay: [blue jay]()␊
+ ␊
+ Email addresses are treated similarly: {MD034}␊
+ ␊
+ Angle brackets work the same for email: ␊
+ ␊
+ Unusual email addresses are handled: ␊
+ ␊
+ ---␊
+ ␊
+ [is-a-valid]: https://example.com␊
+ ␊
+ Links bind to the innermost [link that [is-a-valid] link]() {MD034}␊
+ ␊
+ But not if the [link [is-not-a-valid] link](https://example.com)␊
+ ␊
+ Escaping both inner square brackets avoids confusion:␊
+ [link \\[is-not-a-valid\\] link](https://example.com)␊
+ `,
+ }
+
+## blanks-around-fences-in-lists.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 6,
+ },
+ lineNumber: 5,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '2. ```text',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 6,
+ },
+ lineNumber: 6,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 9,
+ },
+ lineNumber: 8,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '3. ```text',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 9,
+ },
+ lineNumber: 9,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 18,
+ },
+ lineNumber: 17,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '- ```text',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 18,
+ },
+ lineNumber: 18,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 21,
+ },
+ lineNumber: 20,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '- ```text',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 21,
+ },
+ lineNumber: 21,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '> ```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `>␊
+ `,
+ lineNumber: 30,
+ },
+ lineNumber: 29,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '> 2. ```text',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `>␊
+ `,
+ lineNumber: 30,
+ },
+ lineNumber: 30,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '> ```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `>␊
+ `,
+ lineNumber: 33,
+ },
+ lineNumber: 32,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '> 3. ```text',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `>␊
+ `,
+ lineNumber: 33,
+ },
+ lineNumber: 33,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '> ```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `>␊
+ `,
+ lineNumber: 42,
+ },
+ lineNumber: 41,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '> - ```text',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `>␊
+ `,
+ lineNumber: 42,
+ },
+ lineNumber: 42,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '> ```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `>␊
+ `,
+ lineNumber: 45,
+ },
+ lineNumber: 44,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '> - ```text',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `>␊
+ `,
+ lineNumber: 45,
+ },
+ lineNumber: 45,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '> > ```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `> >␊
+ `,
+ lineNumber: 54,
+ },
+ lineNumber: 53,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '> > 2. ```text',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `> >␊
+ `,
+ lineNumber: 54,
+ },
+ lineNumber: 54,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '> > ```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `> >␊
+ `,
+ lineNumber: 57,
+ },
+ lineNumber: 56,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '> > 3. ```text',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `> >␊
+ `,
+ lineNumber: 57,
+ },
+ lineNumber: 57,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '> > ```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `> >␊
+ `,
+ lineNumber: 66,
+ },
+ lineNumber: 65,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '> > - ```text',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `> >␊
+ `,
+ lineNumber: 66,
+ },
+ lineNumber: 66,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '> > ```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `> >␊
+ `,
+ lineNumber: 69,
+ },
+ lineNumber: 68,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '> > - ```text',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `> >␊
+ `,
+ lineNumber: 69,
+ },
+ lineNumber: 69,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ ],
+ fixed: `# Blanks Around Fences In Lists␊
+ ␊
+ 1. \`\`\`text␊
+ Text␊
+ \`\`\`␊
+ ␊
+ 2. \`\`\`text␊
+ Text␊
+ \`\`\`␊
+ ␊
+ 3. \`\`\`text␊
+ Text␊
+ \`\`\`␊
+ ␊
+ Text␊
+ ␊
+ - \`\`\`text␊
+ Text␊
+ \`\`\`␊
+ ␊
+ - \`\`\`text␊
+ Text␊
+ \`\`\`␊
+ ␊
+ - \`\`\`text␊
+ Text␊
+ \`\`\`␊
+ ␊
+ Text␊
+ ␊
+ > 1. \`\`\`text␊
+ > Text␊
+ > \`\`\`␊
+ >␊
+ > 2. \`\`\`text␊
+ > Text␊
+ > \`\`\`␊
+ >␊
+ > 3. \`\`\`text␊
+ > Text␊
+ > \`\`\`␊
+ ␊
+ Text␊
+ ␊
+ > - \`\`\`text␊
+ > Text␊
+ > \`\`\`␊
+ >␊
+ > - \`\`\`text␊
+ > Text␊
+ > \`\`\`␊
+ >␊
+ > - \`\`\`text␊
+ > Text␊
+ > \`\`\`␊
+ ␊
+ Text␊
+ ␊
+ > > 1. \`\`\`text␊
+ > > Text␊
+ > > \`\`\`␊
+ > >␊
+ > > 2. \`\`\`text␊
+ > > Text␊
+ > > \`\`\`␊
+ > >␊
+ > > 3. \`\`\`text␊
+ > > Text␊
+ > > \`\`\`␊
+ ␊
+ Text␊
+ ␊
+ > > - \`\`\`text␊
+ > > Text␊
+ > > \`\`\`␊
+ > >␊
+ > > - \`\`\`text␊
+ > > Text␊
+ > > \`\`\`␊
+ > >␊
+ > > - \`\`\`text␊
+ > > Text␊
+ > > \`\`\`␊
+ ␊
+ {MD031:5} {MD031:6} {MD031:8} {MD031:9} {MD031:17} {MD031:18} {MD031:20}␊
+ {MD031:21} {MD031:29} {MD031:30} {MD031:32} {MD031:33} {MD031:41} {MD031:42}␊
+ {MD031:44} {MD031:45} {MD031:53} {MD031:54} {MD031:56} {MD031:57} {MD031:65}␊
+ {MD031:66} {MD031:68} {MD031:69}␊
+ `,
+ }
+
+## blanks-around-headings--1-1.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: 'Elderberry {MD022}',
+ errorDetail: 'Expected: 1; Actual: 0; Below',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 21,
+ },
+ lineNumber: 19,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ ],
+ fixed: `# Blanks Around Headings␊
+ ␊
+ ## Apple␊
+ ␊
+ Text␊
+ ## Banana␊
+ ␊
+ Text␊
+ ␊
+ ## Cherry␊
+ ␊
+ Text␊
+ ␊
+ ␊
+ ## Durian ##␊
+ ␊
+ Text␊
+ ␊
+ Elderberry {MD022}␊
+ ------------------␊
+ ␊
+ Text␊
+ ␊
+ ---␊
+ ## Fig␊
+ ␊
+ ␊
+ `,
+ }
+
+## blanks-around-headings-0-2.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '## Banana {MD022}',
+ errorDetail: 'Expected: 2; Actual: 1; Below',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 9,
+ },
+ lineNumber: 8,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: 'Elderberry {MD022}',
+ errorDetail: 'Expected: 2; Actual: 0; Below',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ ␊
+ `,
+ lineNumber: 23,
+ },
+ lineNumber: 21,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ ],
+ fixed: `# Blanks Around Headings␊
+ ␊
+ ␊
+ ## Apple␊
+ ␊
+ ␊
+ Text␊
+ ## Banana {MD022}␊
+ ␊
+ ␊
+ Text␊
+ ## Cherry␊
+ ␊
+ ␊
+ Text␊
+ ## Durian ##␊
+ ␊
+ ␊
+ Text␊
+ ␊
+ ---␊
+ Elderberry {MD022}␊
+ ------------------␊
+ ␊
+ ␊
+ Text␊
+ ## Fig␊
+ ␊
+ ␊
+ `,
+ }
+
+## blanks-around-headings-1--1.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '## Durian {MD022} ##',
+ errorDetail: 'Expected: 1; Actual: 0; Above',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 16,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ ],
+ fixed: `# Blanks Around Headings␊
+ ␊
+ ## Apple␊
+ Text␊
+ ␊
+ ## Banana␊
+ ␊
+ Text␊
+ ␊
+ ## Cherry␊
+ ␊
+ ␊
+ Text␊
+ ␊
+ ---␊
+ ␊
+ ## Durian {MD022} ##␊
+ ␊
+ Text␊
+ ␊
+ ---␊
+ ␊
+ Elderberry␊
+ ------------------␊
+ Text␊
+ ␊
+ ## Fig␊
+ ␊
+ ␊
+ `,
+ }
+
+## blanks-around-headings-3-0.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '## Durian {MD022} ##',
+ errorDetail: 'Expected: 3; Actual: 2; Above',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 19,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: 'Elderberry {MD022}',
+ errorDetail: 'Expected: 3; Actual: 1; Above',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ ␊
+ `,
+ },
+ lineNumber: 22,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ ],
+ fixed: `# Blanks Around Headings␊
+ ␊
+ ␊
+ ␊
+ ## Apple␊
+ Text␊
+ ␊
+ ␊
+ ␊
+ ## Banana␊
+ Text␊
+ ␊
+ ␊
+ ␊
+ ## Cherry␊
+ Text␊
+ ␊
+ ␊
+ ␊
+ ## Durian {MD022} ##␊
+ Text␊
+ ␊
+ ␊
+ ␊
+ Elderberry {MD022}␊
+ ------------------␊
+ Text␊
+ ␊
+ ␊
+ ␊
+ ## Fig␊
+ ␊
+ ␊
+ `,
+ }
+
+## blanks-around-headings-arrays.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '# Apple - Top {MD022}',
+ errorDetail: 'Expected: 1; Actual: 0; Above',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 5,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '## Banana - Top {MD022}',
+ errorDetail: 'Expected: 2; Actual: 1; Above',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 18,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '## Banana - Bottom {MD022}',
+ errorDetail: 'Expected: 2; Actual: 1; Below',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 25,
+ },
+ lineNumber: 24,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '### Cherry - Top {MD022}',
+ errorDetail: 'Expected: 3; Actual: 2; Above',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 35,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '### Cherry - Bottom {MD022}',
+ errorDetail: 'Expected: 1; Actual: 0; Below',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 42,
+ },
+ lineNumber: 41,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '#### Durian - Bottom {MD022} ####',
+ errorDetail: 'Expected: 3; Actual: 1; Below',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ ␊
+ `,
+ lineNumber: 55,
+ },
+ lineNumber: 54,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '##### Elderberry - Top {MD022}',
+ errorDetail: 'Expected: 1; Actual: 0; Above',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 61,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '###### Fig - Top {MD022} ######',
+ errorDetail: 'Expected: 1; Actual: 0; Above',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 74,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '###### Fig - Bottom {MD022} ######',
+ errorDetail: 'Expected: 4; Actual: 1; Below',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ ␊
+ ␊
+ `,
+ lineNumber: 82,
+ },
+ lineNumber: 81,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: 'Grape - Top {MD022}',
+ errorDetail: 'Expected: 1; Actual: 0; Above',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 89,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: 'Honeycomb - Top {MD022}',
+ errorDetail: 'Expected: 2; Actual: 1; Above',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 107,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: 'Honeycomb - Bottom {MD022}',
+ errorDetail: 'Expected: 2; Actual: 1; Below',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 116,
+ },
+ lineNumber: 114,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ ],
+ fixed: `# Blanks Around Headings (Arrays)␊
+ ␊
+ # Apple - Good␊
+ Text␊
+ ␊
+ # Apple - Top {MD022}␊
+ Text␊
+ ␊
+ # Apple - Bottom␊
+ ␊
+ Text␊
+ ␊
+ ␊
+ ## Banana - Good␊
+ ␊
+ ␊
+ Text␊
+ ␊
+ ␊
+ ## Banana - Top {MD022}␊
+ ␊
+ ␊
+ Text␊
+ ␊
+ ␊
+ ## Banana - Bottom {MD022}␊
+ ␊
+ ␊
+ Text␊
+ ␊
+ ␊
+ ␊
+ ### Cherry - Good␊
+ ␊
+ Text␊
+ ␊
+ ␊
+ ␊
+ ### Cherry - Top {MD022}␊
+ ␊
+ Text␊
+ ␊
+ ␊
+ ␊
+ ### Cherry - Bottom {MD022}␊
+ ␊
+ Text␊
+ #### Durian - Good ####␊
+ ␊
+ ␊
+ ␊
+ Text␊
+ ␊
+ #### Durian - Top ####␊
+ ␊
+ ␊
+ ␊
+ Text␊
+ #### Durian - Bottom {MD022} ####␊
+ ␊
+ ␊
+ ␊
+ Text␊
+ ␊
+ ##### Elderberry - Good␊
+ ␊
+ Text␊
+ ␊
+ ##### Elderberry - Top {MD022}␊
+ ␊
+ Text␊
+ ␊
+ ##### Elderberry - Bottom␊
+ Text␊
+ ␊
+ ###### Fig - Good ######␊
+ ␊
+ ␊
+ ␊
+ ␊
+ Text␊
+ ␊
+ ###### Fig - Top {MD022} ######␊
+ ␊
+ ␊
+ ␊
+ ␊
+ Text␊
+ ␊
+ ###### Fig - Bottom {MD022} ######␊
+ ␊
+ ␊
+ ␊
+ ␊
+ Text␊
+ ␊
+ Grape - Good␊
+ ============␊
+ ␊
+ ---␊
+ ␊
+ Grape - Top {MD022}␊
+ ===================␊
+ ␊
+ Text␊
+ ␊
+ Grape - Bottom␊
+ ==============␊
+ ␊
+ ␊
+ Text␊
+ ␊
+ ␊
+ Honeycomb - Good␊
+ ---------␊
+ ␊
+ ␊
+ Text␊
+ ␊
+ ␊
+ Honeycomb - Top {MD022}␊
+ -----------------------␊
+ ␊
+ ␊
+ Text␊
+ ␊
+ ␊
+ Honeycomb - Bottom {MD022}␊
+ --------------------------␊
+ ␊
+ ␊
+ Text␊
+ ␊
+ ␊
+ `,
+ }
+
+## blanks-around-headings.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '## Banana {MD022}',
+ errorDetail: 'Expected: 1; Actual: 0; Below',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 8,
+ },
+ lineNumber: 7,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '## Durian {MD022} ##',
+ errorDetail: 'Expected: 1; Actual: 0; Above',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 13,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: 'Elderberry {MD022}',
+ errorDetail: 'Expected: 1; Actual: 0; Above',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 18,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: 'Elderberry {MD022}',
+ errorDetail: 'Expected: 1; Actual: 0; Below',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 20,
+ },
+ lineNumber: 18,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ ],
+ fixed: `# Blanks Around Headings␊
+ ␊
+ ## Apple␊
+ ␊
+ Text␊
+ ␊
+ ## Banana {MD022}␊
+ ␊
+ Text␊
+ ␊
+ ## Cherry␊
+ ␊
+ Text␊
+ ␊
+ ## Durian {MD022} ##␊
+ ␊
+ Text␊
+ ␊
+ ---␊
+ ␊
+ Elderberry {MD022}␊
+ ------------------␊
+ ␊
+ Text␊
+ ␊
+ ## Fig␊
+ ␊
+ ␊
+ `,
+ }
+
+## blanks-around-tables.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing leading pipe',
+ errorRange: [
+ 1,
+ 1,
+ ],
+ fixInfo: null,
+ lineNumber: 15,
+ ruleDescription: 'Table pipe style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md055.md',
+ ruleNames: [
+ 'MD055',
+ 'table-pipe-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: leading_and_trailing; Actual: no_leading_or_trailing; Missing trailing pipe',
+ errorRange: [
+ 29,
+ 1,
+ ],
+ fixInfo: null,
+ lineNumber: 15,
+ ruleDescription: 'Table pipe style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md055.md',
+ ruleNames: [
+ 'MD055',
+ 'table-pipe-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 2; Actual: 1; Too few cells, row will be missing data',
+ errorRange: [
+ 29,
+ 1,
+ ],
+ fixInfo: null,
+ lineNumber: 15,
+ ruleDescription: 'Table column count',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md056.md',
+ ruleNames: [
+ 'MD056',
+ 'table-column-count',
+ ],
+ },
+ {
+ errorContext: '| Header | {MD058} |',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 8,
+ ruleDescription: 'Tables should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md058.md',
+ ruleNames: [
+ 'MD058',
+ 'blanks-around-tables',
+ ],
+ },
+ {
+ errorContext: '| Cell | {MD058} |',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 20,
+ },
+ lineNumber: 19,
+ ruleDescription: 'Tables should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md058.md',
+ ruleNames: [
+ 'MD058',
+ 'blanks-around-tables',
+ ],
+ },
+ {
+ errorContext: '> | Header | {MD058} |',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `>␊
+ `,
+ },
+ lineNumber: 25,
+ ruleDescription: 'Tables should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md058.md',
+ ruleNames: [
+ 'MD058',
+ 'blanks-around-tables',
+ ],
+ },
+ {
+ errorContext: '> | Cell | {MD058} |',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `>␊
+ `,
+ lineNumber: 28,
+ },
+ lineNumber: 27,
+ ruleDescription: 'Tables should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md058.md',
+ ruleNames: [
+ 'MD058',
+ 'blanks-around-tables',
+ ],
+ },
+ {
+ errorContext: '> | Cell | {MD058} |',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `>␊
+ `,
+ lineNumber: 33,
+ },
+ lineNumber: 32,
+ ruleDescription: 'Tables should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md058.md',
+ ruleNames: [
+ 'MD058',
+ 'blanks-around-tables',
+ ],
+ },
+ {
+ errorContext: '| Header | {MD058} |',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 36,
+ ruleDescription: 'Tables should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md058.md',
+ ruleNames: [
+ 'MD058',
+ 'blanks-around-tables',
+ ],
+ },
+ {
+ errorContext: '| Cell | {MD058} |',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 39,
+ },
+ lineNumber: 38,
+ ruleDescription: 'Tables should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md058.md',
+ ruleNames: [
+ 'MD058',
+ 'blanks-around-tables',
+ ],
+ },
+ {
+ errorContext: '| Header | {MD058} |',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 42,
+ ruleDescription: 'Tables should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md058.md',
+ ruleNames: [
+ 'MD058',
+ 'blanks-around-tables',
+ ],
+ },
+ {
+ errorContext: '| Cell | {MD058} |',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 45,
+ },
+ lineNumber: 44,
+ ruleDescription: 'Tables should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md058.md',
+ ruleNames: [
+ 'MD058',
+ 'blanks-around-tables',
+ ],
+ },
+ {
+ errorContext: '| Header | {MD058} |',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 48,
+ ruleDescription: 'Tables should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md058.md',
+ ruleNames: [
+ 'MD058',
+ 'blanks-around-tables',
+ ],
+ },
+ {
+ errorContext: '| Cell | {MD058} |',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 51,
+ },
+ lineNumber: 50,
+ ruleDescription: 'Tables should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md058.md',
+ ruleNames: [
+ 'MD058',
+ 'blanks-around-tables',
+ ],
+ },
+ ],
+ fixed: `# Blanks Around Tables␊
+ ␊
+ | Header | Header |␊
+ | ------ | ------ |␊
+ | Cell | Cell |␊
+ ␊
+ Text␊
+ ␊
+ | Header | {MD058} |␊
+ | ------ | ------- |␊
+ | Cell | Cell |␊
+ ␊
+ | Header | Header |␊
+ | ------ | ------ |␊
+ | Cell | Cell |␊
+ Part of table {MD055} {MD056}␊
+ ␊
+ | Header | Header |␊
+ | ------ | ------- |␊
+ | Cell | {MD058} |␊
+ ␊
+ > Blockquote␊
+ ␊
+ Text␊
+ ␊
+ > Text␊
+ >␊
+ > | Header | {MD058} |␊
+ > | ------ | ------- |␊
+ > | Cell | {MD058} |␊
+ >␊
+ Text␊
+ ␊
+ > | Header | Header |␊
+ > | ------ | ------- |␊
+ > | Cell | {MD058} |␊
+ >␊
+ > > Blockquote␊
+ ␊
+ - List Item␊
+ ␊
+ | Header | {MD058} |␊
+ | ------ | ------- |␊
+ | Cell | {MD058} |␊
+ ␊
+ - List Item␊
+ ␊
+ 1. List Item␊
+ ␊
+ | Header | {MD058} |␊
+ | ------ | ------- |␊
+ | Cell | {MD058} |␊
+ ␊
+ 1. List Item␊
+ ␊
+ :::directive␊
+ ␊
+ | Header | {MD058} |␊
+ | ------ | ------- |␊
+ | Cell | {MD058} |␊
+ ␊
+ :::␊
+ `,
+ }
+
+## blanks-around.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `# Blanks Around␊
+ ␊
+ ---␊
+ ␊
+ ## MD022/blanks-around-headings␊
+ ␊
+ >␊
+ ### Alpha␊
+ > >␊
+ ␊
+ ␊
+ ### Beta␊
+ ␊
+ ␊
+ > Text␊
+ >␊
+ > ### Gamma␊
+ > >␊
+ > > Text␊
+ ␊
+ ---␊
+ ␊
+ ## MD031/blanks-around-fences␊
+ ␊
+ > >␊
+ \`\`\`js␊
+ console.log();␊
+ \`\`\`␊
+ >␊
+ ␊
+ ␊
+ \`\`\`js␊
+ console.log();␊
+ \`\`\`␊
+ ␊
+ ␊
+ > Text␊
+ >␊
+ > \`\`\`js␊
+ > console.log();␊
+ > \`\`\`␊
+ > >␊
+ > >Text␊
+ ␊
+ ---␊
+ ␊
+ ## MD032/blanks-around-lists␊
+ ␊
+ >␊
+ - List item␊
+ >>␊
+ ␊
+ ␊
+ - List item␊
+ ␊
+ ␊
+ > Text␊
+ >␊
+ > - List item␊
+ >>␊
+ >> Text␊
+ `,
+ }
+
+## blockquote-headings.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '> # Quoted heading in list {MD022} {MD025}',
+ errorDetail: 'Expected: 1; Actual: 0; Above',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 23,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '> # Quoted heading in list {MD022} {MD025}',
+ errorDetail: 'Expected: 1; Actual: 0; Below',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 24,
+ },
+ lineNumber: 23,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '> > # Double-quoted heading in list {MD022} {MD025}',
+ errorDetail: 'Expected: 1; Actual: 0; Above',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 26,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '> > # Double-quoted heading in list {MD022} {MD025}',
+ errorDetail: 'Expected: 1; Actual: 0; Below',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 27,
+ },
+ lineNumber: 26,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '> ## Quoted sub-heading in list {MD022}',
+ errorDetail: 'Expected: 1; Actual: 0; Above',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 29,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '> ## Quoted sub-heading in list {MD022}',
+ errorDetail: 'Expected: 1; Actual: 0; Below',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 30,
+ },
+ lineNumber: 29,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '> ## Quoted indented sub-heading in list {MD022} {MD023} {MD027}',
+ errorDetail: 'Expected: 1; Actual: 0; Above',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 33,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '> ## Quoted indented sub-heading in list {MD022} {MD023} {MD027}',
+ errorDetail: 'Expected: 1; Actual: 0; Below',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 34,
+ },
+ lineNumber: 33,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '> ## Heading One {MD022}',
+ errorDetail: 'Expected: 1; Actual: 0; Below',
+ errorRange: null,
+ fixInfo: {
+ insertText: `>␊
+ `,
+ lineNumber: 41,
+ },
+ lineNumber: 40,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '> ## Heading Two {MD022}',
+ errorDetail: 'Expected: 1; Actual: 0; Above',
+ errorRange: null,
+ fixInfo: {
+ insertText: `>␊
+ `,
+ },
+ lineNumber: 46,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '> ## Heading Three {MD022}',
+ errorDetail: 'Expected: 1; Actual: 0; Above',
+ errorRange: null,
+ fixInfo: {
+ insertText: `>␊
+ `,
+ },
+ lineNumber: 53,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '> ## Heading Three {MD022}',
+ errorDetail: 'Expected: 1; Actual: 0; Below',
+ errorRange: null,
+ fixInfo: {
+ insertText: `>␊
+ `,
+ lineNumber: 54,
+ },
+ lineNumber: 53,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '> > ### Heading Four {MD022}',
+ errorDetail: 'Expected: 1; Actual: 0; Above',
+ errorRange: null,
+ fixInfo: {
+ insertText: `> >␊
+ `,
+ },
+ lineNumber: 59,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '> > ### Heading Four {MD022}',
+ errorDetail: 'Expected: 1; Actual: 0; Below',
+ errorRange: null,
+ fixInfo: {
+ insertText: `> >␊
+ `,
+ lineNumber: 60,
+ },
+ lineNumber: 59,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '> > ### Heading Five {MD022}',
+ errorDetail: 'Expected: 1; Actual: 0; Above',
+ errorRange: null,
+ fixInfo: {
+ insertText: `>␊
+ `,
+ },
+ lineNumber: 65,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '> > ### Heading Five {MD022}',
+ errorDetail: 'Expected: 1; Actual: 0; Below',
+ errorRange: null,
+ fixInfo: {
+ insertText: `> >␊
+ `,
+ lineNumber: 66,
+ },
+ lineNumber: 65,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '> > ### Heading Six {MD022}',
+ errorDetail: 'Expected: 1; Actual: 0; Above',
+ errorRange: null,
+ fixInfo: {
+ insertText: `> >␊
+ `,
+ },
+ lineNumber: 71,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '> > ### Heading Six {MD022}',
+ errorDetail: 'Expected: 1; Actual: 0; Below',
+ errorRange: null,
+ fixInfo: {
+ insertText: `>␊
+ `,
+ lineNumber: 72,
+ },
+ lineNumber: 71,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: '> ## Quoted indented sub-head...',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ },
+ lineNumber: 17,
+ ruleDescription: 'Headings must start at the beginning of the line',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md023.md',
+ ruleNames: [
+ 'MD023',
+ 'heading-start-left',
+ ],
+ },
+ {
+ errorContext: ' > ## Quoted indented sub-he...',
+ errorDetail: null,
+ errorRange: [
+ 5,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 5,
+ },
+ lineNumber: 33,
+ ruleDescription: 'Headings must start at the beginning of the line',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md023.md',
+ ruleNames: [
+ 'MD023',
+ 'heading-start-left',
+ ],
+ },
+ {
+ errorContext: 'Quoted heading {MD025}',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 5,
+ ruleDescription: 'Multiple top-level headings in the same document',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md025.md',
+ ruleNames: [
+ 'MD025',
+ 'single-title',
+ 'single-h1',
+ ],
+ },
+ {
+ errorContext: 'Double-quoted heading {MD025}',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 9,
+ ruleDescription: 'Multiple top-level headings in the same document',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md025.md',
+ ruleNames: [
+ 'MD025',
+ 'single-title',
+ 'single-h1',
+ ],
+ },
+ {
+ errorContext: 'Quoted heading in list {MD022}...',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 23,
+ ruleDescription: 'Multiple top-level headings in the same document',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md025.md',
+ ruleNames: [
+ 'MD025',
+ 'single-title',
+ 'single-h1',
+ ],
+ },
+ {
+ errorContext: 'Double-quoted heading in list ...',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 26,
+ ruleDescription: 'Multiple top-level headings in the same document',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md025.md',
+ ruleNames: [
+ 'MD025',
+ 'single-title',
+ 'single-h1',
+ ],
+ },
+ {
+ errorContext: '> ## Quoted indented sub-head...',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ },
+ lineNumber: 17,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: ' > ## Quoted indented sub-he...',
+ errorDetail: null,
+ errorRange: [
+ 5,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 5,
+ },
+ lineNumber: 33,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ ],
+ fixed: `# Heading␊
+ ␊
+ ## Sub-heading␊
+ ␊
+ > # Quoted heading {MD025}␊
+ ␊
+ Text␊
+ ␊
+ > > # Double-quoted heading {MD025}␊
+ ␊
+ Text␊
+ ␊
+ > ## Quoted sub-heading␊
+ ␊
+ Text␊
+ ␊
+ > ## Quoted indented sub-heading {MD023} {MD027}␊
+ ␊
+ Text␊
+ ␊
+ - Item␊
+ item␊
+ ␊
+ > # Quoted heading in list {MD022} {MD025}␊
+ ␊
+ - Item␊
+ item␊
+ ␊
+ > > # Double-quoted heading in list {MD022} {MD025}␊
+ ␊
+ - Item␊
+ item␊
+ ␊
+ > ## Quoted sub-heading in list {MD022}␊
+ ␊
+ - Item␊
+ - Item␊
+ item␊
+ ␊
+ > ## Quoted indented sub-heading in list {MD022} {MD023} {MD027}␊
+ ␊
+ - Item␊
+ ␊
+ Text␊
+ ␊
+ > Text␊
+ >␊
+ > ## Heading One {MD022}␊
+ >␊
+ > Text␊
+ ␊
+ Text␊
+ ␊
+ > Text␊
+ >␊
+ > ## Heading Two {MD022}␊
+ >␊
+ > Text␊
+ ␊
+ Text␊
+ ␊
+ > Text␊
+ >␊
+ > ## Heading Three {MD022}␊
+ >␊
+ > Text␊
+ ␊
+ Text␊
+ ␊
+ > > Text␊
+ > >␊
+ > > ### Heading Four {MD022}␊
+ > >␊
+ > > Text␊
+ ␊
+ Text␊
+ ␊
+ > Text␊
+ >␊
+ > > ### Heading Five {MD022}␊
+ > >␊
+ > > Text␊
+ ␊
+ Text␊
+ ␊
+ > > Text␊
+ > >␊
+ > > ### Heading Six {MD022}␊
+ >␊
+ > Text␊
+ ␊
+ Text␊
+ `,
+ }
+
+## blockquote-spaces-nested.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '> A {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ },
+ lineNumber: 3,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> > B {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 5,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 5,
+ },
+ lineNumber: 5,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> C {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ },
+ lineNumber: 7,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> A {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ },
+ lineNumber: 11,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> > B {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 5,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 5,
+ },
+ lineNumber: 13,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> > > C {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 7,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 7,
+ },
+ lineNumber: 15,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> > D {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 5,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 5,
+ },
+ lineNumber: 17,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> E {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ },
+ lineNumber: 19,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> A {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ },
+ lineNumber: 23,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '>> B {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 4,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 4,
+ },
+ lineNumber: 25,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '>>> C {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 5,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 5,
+ },
+ lineNumber: 27,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '>> D {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 4,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 4,
+ },
+ lineNumber: 29,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> E {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ },
+ lineNumber: 31,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> > Text {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 5,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 5,
+ },
+ lineNumber: 35,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: ' > > Text {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 6,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 6,
+ },
+ lineNumber: 39,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: ' > > Text {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 7,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 7,
+ },
+ lineNumber: 43,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> > Text {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ },
+ lineNumber: 47,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> > > Text {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 5,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 5,
+ },
+ lineNumber: 51,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> > > > Text {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 5,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 5,
+ },
+ lineNumber: 55,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '>> >> Text {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 4,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 4,
+ },
+ lineNumber: 59,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: ' > > Text {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 6,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 6,
+ },
+ lineNumber: 63,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: ' > > Text {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 7,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 7,
+ },
+ lineNumber: 67,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: ' > > Text {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 8,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 8,
+ },
+ lineNumber: 71,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: ' > > Text {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 4,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 4,
+ },
+ lineNumber: 75,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ ],
+ fixed: `# Nested blockquote␊
+ ␊
+ > A {MD027}␊
+ >␊
+ > > B {MD027}␊
+ >␊
+ > C {MD027}␊
+ ␊
+ Text␊
+ ␊
+ > A {MD027}␊
+ >␊
+ > > B {MD027}␊
+ > >␊
+ > > > C {MD027}␊
+ > >␊
+ > > D {MD027}␊
+ >␊
+ > E {MD027}␊
+ ␊
+ Text␊
+ ␊
+ > A {MD027}␊
+ >␊
+ >> B {MD027}␊
+ >>␊
+ >>> C {MD027}␊
+ >>␊
+ >> D {MD027}␊
+ >␊
+ > E {MD027}␊
+ ␊
+ Text␊
+ ␊
+ > > Text {MD027}␊
+ ␊
+ Text␊
+ ␊
+ > > Text {MD027}␊
+ ␊
+ Text␊
+ ␊
+ > > Text {MD027}␊
+ ␊
+ Text␊
+ ␊
+ > > Text {MD027}␊
+ ␊
+ Text␊
+ ␊
+ > > > Text {MD027}␊
+ ␊
+ Text␊
+ ␊
+ > > > > Text {MD027}␊
+ ␊
+ Text␊
+ ␊
+ >> >> Text {MD027}␊
+ ␊
+ Text␊
+ ␊
+ > > Text {MD027}␊
+ ␊
+ Text␊
+ ␊
+ > > Text {MD027}␊
+ ␊
+ Text␊
+ ␊
+ > > Text {MD027}␊
+ ␊
+ Text␊
+ ␊
+ > > Text {MD027}␊
+ `,
+ }
+
+## blockquote_blank_lines.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 0 or 2; Actual: 1',
+ errorRange: [
+ 1,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ },
+ lineNumber: 12,
+ ruleDescription: 'Trailing spaces',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md009.md',
+ ruleNames: [
+ 'MD009',
+ 'no-trailing-spaces',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 1; Actual: 2',
+ errorRange: null,
+ fixInfo: {
+ deleteCount: -1,
+ },
+ lineNumber: 10,
+ ruleDescription: 'Multiple consecutive blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md012.md',
+ ruleNames: [
+ 'MD012',
+ 'no-multiple-blanks',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 7,
+ ruleDescription: 'Blank line inside blockquote',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md028.md',
+ ruleNames: [
+ 'MD028',
+ 'no-blanks-blockquote',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 9,
+ ruleDescription: 'Blank line inside blockquote',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md028.md',
+ ruleNames: [
+ 'MD028',
+ 'no-blanks-blockquote',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 10,
+ ruleDescription: 'Blank line inside blockquote',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md028.md',
+ ruleNames: [
+ 'MD028',
+ 'no-blanks-blockquote',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 12,
+ ruleDescription: 'Blank line inside blockquote',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md028.md',
+ ruleNames: [
+ 'MD028',
+ 'no-blanks-blockquote',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 19,
+ ruleDescription: 'Blank line inside blockquote',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md028.md',
+ ruleNames: [
+ 'MD028',
+ 'no-blanks-blockquote',
+ ],
+ },
+ ],
+ fixed: `# blockquote_blank_lines␊
+ ␊
+ Some text␊
+ ␊
+ > a quote␊
+ > same quote␊
+ ␊
+ > blank line above me␊
+ ␊
+ > two blank lines above me␊
+ ␊
+ > space above me␊
+ ␊
+ * List with embedded blockquote␊
+ ␊
+ > Test␊
+ > Test␊
+ ␊
+ > Test␊
+ ␊
+ * Item 2␊
+ ␊
+ > Test. The blank line below should _not_ trigger MD028 as one blockquote is␊
+ > inside the list, and the other is outside it.␊
+ ␊
+ > Test␊
+ ␊
+ Expected errors:␊
+ ␊
+ {MD028:7} {MD028:9} {MD028:10} {MD028:12} {MD028:19}␊
+ {MD009:12} (trailing space is intentional)␊
+ {MD012:10} (multiple blank lines are intentional)␊
+ `,
+ }
+
+## blockquote_spaces.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '> Foo {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ },
+ lineNumber: 6,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> Bar {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ },
+ lineNumber: 7,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> *foo* {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ },
+ lineNumber: 14,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> **bar** {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ },
+ lineNumber: 15,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> "Baz" {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 3,
+ },
+ lineNumber: 16,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> `qux` {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 3,
+ },
+ lineNumber: 17,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> Foo {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ },
+ lineNumber: 27,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> Bar {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ },
+ lineNumber: 28,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: ' > Text {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 4,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 4,
+ },
+ lineNumber: 33,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: ' > Text {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 5,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 5,
+ },
+ lineNumber: 37,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: ' > Text {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 6,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 6,
+ },
+ lineNumber: 41,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: '> ',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ },
+ lineNumber: 47,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ ],
+ fixed: `# blockquote_spaces␊
+ ␊
+ Some text␊
+ ␊
+ > Hello world␊
+ > Foo {MD027}␊
+ > Bar {MD027}␊
+ ␊
+ This tests other things embedded in the blockquote:␊
+ ␊
+ - foo␊
+ ␊
+ > *Hello world*␊
+ > *foo* {MD027}␊
+ > **bar** {MD027}␊
+ > "Baz" {MD027}␊
+ > \`qux\` {MD027}␊
+ > *foo* more text␊
+ > **bar** more text␊
+ > 'baz' more text␊
+ > \`qux\` more text␊
+ >␊
+ > - foo␊
+ ␊
+ Test the first line being indented too much:␊
+ ␊
+ > Foo {MD027}␊
+ > Bar {MD027}␊
+ > Baz␊
+ ␊
+ Test spaces before the blockquote:␊
+ ␊
+ > Text {MD027}␊
+ ␊
+ Text␊
+ ␊
+ > Text {MD027}␊
+ ␊
+ Text␊
+ ␊
+ > Text {MD027}␊
+ ␊
+ Test nothing in the blockquote:␊
+ ␊
+ ␊
+ ␊
+ > ␊
+ {MD027:-1}␊
+ ␊
+ ␊
+ ␊
+ > Blockquoted code blocks:␊
+ >␊
+ > Code␊
+ > Code␊
+ > Code␊
+ >␊
+ > \`\`\`text␊
+ > Code␊
+ > Code␊
+ > Code␊
+ > \`\`\`␊
+ `,
+ }
+
+## break-all-the-rules.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Expected: h3; Actual: h4',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 3,
+ ruleDescription: 'Heading levels should only increment by one level at a time',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md001.md',
+ ruleNames: [
+ 'MD001',
+ 'heading-increment',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: atx; Actual: atx_closed',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 5,
+ ruleDescription: 'Heading style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md003.md',
+ ruleNames: [
+ 'MD003',
+ 'heading-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: atx; Actual: atx_closed',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 31,
+ ruleDescription: 'Heading style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md003.md',
+ ruleNames: [
+ 'MD003',
+ 'heading-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: plus',
+ errorRange: [
+ 2,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 2,
+ insertText: '*',
+ },
+ lineNumber: 8,
+ ruleDescription: 'Unordered list style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md004.md',
+ ruleNames: [
+ 'MD004',
+ 'ul-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 3; Actual: 2',
+ errorRange: [
+ 1,
+ 4,
+ ],
+ fixInfo: null,
+ lineNumber: 12,
+ ruleDescription: 'Inconsistent indentation for list items at the same level',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md005.md',
+ ruleNames: [
+ 'MD005',
+ 'list-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 0; Actual: 1',
+ errorRange: [
+ 1,
+ 4,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 8,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 2; Actual: 3',
+ errorRange: [
+ 1,
+ 5,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 11,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 0 or 2; Actual: 1',
+ errorRange: [
+ 17,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 17,
+ },
+ lineNumber: 14,
+ ruleDescription: 'Trailing spaces',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md009.md',
+ ruleNames: [
+ 'MD009',
+ 'no-trailing-spaces',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 14,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: '(name)[link]',
+ errorRange: [
+ 1,
+ 12,
+ ],
+ fixInfo: {
+ deleteCount: 12,
+ editColumn: 1,
+ insertText: '[name](link)',
+ },
+ lineNumber: 16,
+ ruleDescription: 'Reversed link syntax',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md011.md',
+ ruleNames: [
+ 'MD011',
+ 'no-reversed-links',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 1; Actual: 2',
+ errorRange: null,
+ fixInfo: {
+ deleteCount: -1,
+ },
+ lineNumber: 18,
+ ruleDescription: 'Multiple consecutive blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md012.md',
+ ruleNames: [
+ 'MD012',
+ 'no-multiple-blanks',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 80; Actual: 97',
+ errorRange: [
+ 81,
+ 17,
+ ],
+ fixInfo: null,
+ lineNumber: 21,
+ ruleDescription: 'Line length',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md013.md',
+ ruleNames: [
+ 'MD013',
+ 'line-length',
+ ],
+ },
+ {
+ errorContext: '$ dollar {MD014}',
+ errorDetail: null,
+ errorRange: [
+ 5,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 5,
+ },
+ lineNumber: 23,
+ ruleDescription: 'Dollar signs used before commands without showing output',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md014.md',
+ ruleNames: [
+ 'MD014',
+ 'commands-show-output',
+ ],
+ },
+ {
+ errorContext: '#Heading 4 {MD018}',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 2,
+ ],
+ fixInfo: {
+ editColumn: 2,
+ insertText: ' ',
+ },
+ lineNumber: 25,
+ ruleDescription: 'No space after hash on atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md018.md',
+ ruleNames: [
+ 'MD018',
+ 'no-missing-space-atx',
+ ],
+ },
+ {
+ errorContext: '# Heading 5 {MD019}',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ },
+ lineNumber: 27,
+ ruleDescription: 'Multiple spaces after hash on atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md019.md',
+ ruleNames: [
+ 'MD019',
+ 'no-multiple-space-atx',
+ ],
+ },
+ {
+ errorContext: '#Heading 6 {MD020} #',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 20,
+ editColumn: 1,
+ insertText: '# Heading 6 {MD020} #',
+ },
+ lineNumber: 29,
+ ruleDescription: 'No space inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md020.md',
+ ruleNames: [
+ 'MD020',
+ 'no-missing-space-closed-atx',
+ ],
+ },
+ {
+ errorContext: '# Heading 7 {MD021} {MD003} ...',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ },
+ lineNumber: 31,
+ ruleDescription: 'Multiple spaces inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md021.md',
+ ruleNames: [
+ 'MD021',
+ 'no-multiple-space-closed-atx',
+ ],
+ },
+ {
+ errorContext: '... Heading 7 {MD021} {MD003} #',
+ errorDetail: null,
+ errorRange: [
+ 30,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 30,
+ },
+ lineNumber: 31,
+ ruleDescription: 'Multiple spaces inside hashes on closed atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md021.md',
+ ruleNames: [
+ 'MD021',
+ 'no-multiple-space-closed-atx',
+ ],
+ },
+ {
+ errorContext: '## Heading 10 {MD022}',
+ errorDetail: 'Expected: 1; Actual: 0; Above',
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 86,
+ ruleDescription: 'Headings should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md022.md',
+ ruleNames: [
+ 'MD022',
+ 'blanks-around-headings',
+ ],
+ },
+ {
+ errorContext: ' # Heading 9 {MD023} {MD026}.',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ },
+ lineNumber: 40,
+ ruleDescription: 'Headings must start at the beginning of the line',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md023.md',
+ ruleNames: [
+ 'MD023',
+ 'heading-start-left',
+ ],
+ },
+ {
+ errorContext: 'Heading 8',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 35,
+ ruleDescription: 'Multiple headings with the same content',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md024.md',
+ ruleNames: [
+ 'MD024',
+ 'no-duplicate-heading',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Punctuation: \'.\'',
+ errorRange: [
+ 29,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 29,
+ },
+ lineNumber: 40,
+ ruleDescription: 'Trailing punctuation in heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md026.md',
+ ruleNames: [
+ 'MD026',
+ 'no-trailing-punctuation',
+ ],
+ },
+ {
+ errorContext: '> {MD027}',
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ },
+ lineNumber: 42,
+ ruleDescription: 'Multiple spaces after blockquote symbol',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md027.md',
+ ruleNames: [
+ 'MD027',
+ 'no-multiple-space-blockquote',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 43,
+ ruleDescription: 'Blank line inside blockquote',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md028.md',
+ ruleNames: [
+ 'MD028',
+ 'no-blanks-blockquote',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 2; Actual: 3; Style: 1/2/3',
+ errorRange: [
+ 1,
+ 3,
+ ],
+ fixInfo: null,
+ lineNumber: 47,
+ ruleDescription: 'Ordered list item prefix',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md029.md',
+ ruleNames: [
+ 'MD029',
+ 'ol-prefix',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 1; Actual: 2',
+ errorRange: [
+ 2,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 3,
+ insertText: ' ',
+ },
+ lineNumber: 8,
+ ruleDescription: 'Spaces after list markers',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md030.md',
+ ruleNames: [
+ 'MD030',
+ 'list-marker-space',
+ ],
+ },
+ {
+ errorContext: '```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 51,
+ },
+ lineNumber: 50,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '* list {MD032}',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 8,
+ },
+ lineNumber: 7,
+ ruleDescription: 'Lists should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md032.md',
+ ruleNames: [
+ 'MD032',
+ 'blanks-around-lists',
+ ],
+ },
+ {
+ errorContext: '+ list {MD004} {MD007} {MD030...',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 8,
+ ruleDescription: 'Lists should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md032.md',
+ ruleNames: [
+ 'MD032',
+ 'blanks-around-lists',
+ ],
+ },
+ {
+ errorContext: '* list {MD032} {MD046:49}',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 51,
+ ruleDescription: 'Lists should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md032.md',
+ ruleNames: [
+ 'MD032',
+ 'blanks-around-lists',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Element: br',
+ errorRange: [
+ 1,
+ 5,
+ ],
+ fixInfo: null,
+ lineNumber: 55,
+ ruleDescription: 'Inline HTML',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md033.md',
+ ruleNames: [
+ 'MD033',
+ 'no-inline-html',
+ ],
+ },
+ {
+ errorContext: 'https://example.com/page',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 24,
+ ],
+ fixInfo: {
+ deleteCount: 24,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 57,
+ ruleDescription: 'Bare URL used',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md034.md',
+ ruleNames: [
+ 'MD034',
+ 'no-bare-urls',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: ---; Actual: ***',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 61,
+ ruleDescription: 'Horizontal rule style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md035.md',
+ ruleNames: [
+ 'MD035',
+ 'hr-style',
+ ],
+ },
+ {
+ errorContext: 'Section {MD036} Heading',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 65,
+ ruleDescription: 'Emphasis used instead of a heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md036.md',
+ ruleNames: [
+ 'MD036',
+ 'no-emphasis-as-heading',
+ ],
+ },
+ {
+ errorContext: 'h _',
+ errorDetail: null,
+ errorRange: [
+ 14,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 15,
+ },
+ lineNumber: 67,
+ ruleDescription: 'Spaces inside emphasis markers',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md037.md',
+ ruleNames: [
+ 'MD037',
+ 'no-space-in-emphasis',
+ ],
+ },
+ {
+ errorContext: '`with `',
+ errorDetail: null,
+ errorRange: [
+ 11,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 11,
+ },
+ lineNumber: 69,
+ ruleDescription: 'Spaces inside code span elements',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md038.md',
+ ruleNames: [
+ 'MD038',
+ 'no-space-in-code',
+ ],
+ },
+ {
+ errorContext: '[link with space ]',
+ errorDetail: null,
+ errorRange: [
+ 17,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 17,
+ },
+ lineNumber: 71,
+ ruleDescription: 'Spaces inside link text',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md039.md',
+ ruleNames: [
+ 'MD039',
+ 'no-space-in-links',
+ ],
+ },
+ {
+ errorContext: '```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 73,
+ ruleDescription: 'Fenced code blocks should have a language specified',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md040.md',
+ ruleNames: [
+ 'MD040',
+ 'fenced-code-language',
+ ],
+ },
+ {
+ errorContext: '## Heading 1 {MD041:1}',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 1,
+ ruleDescription: 'First line in a file should be a top-level heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md041.md',
+ ruleNames: [
+ 'MD041',
+ 'first-line-heading',
+ 'first-line-h1',
+ ],
+ },
+ {
+ errorContext: '[empty link]()',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 14,
+ ],
+ fixInfo: null,
+ lineNumber: 81,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: # Broken; Actual: # Heading 3 {MD003} {MD043}',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 5,
+ ruleDescription: 'Required heading structure',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md043.md',
+ ruleNames: [
+ 'MD043',
+ 'required-headings',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: markdownlint; Actual: markdownLint',
+ errorRange: [
+ 1,
+ 12,
+ ],
+ fixInfo: {
+ deleteCount: 12,
+ editColumn: 1,
+ insertText: 'markdownlint',
+ },
+ lineNumber: 83,
+ ruleDescription: 'Proper names should have the correct capitalization',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md044.md',
+ ruleNames: [
+ 'MD044',
+ 'proper-names',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 14,
+ ],
+ fixInfo: null,
+ lineNumber: 85,
+ ruleDescription: 'Images should have alternate text (alt text)',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md045.md',
+ ruleNames: [
+ 'MD045',
+ 'no-alt-text',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: indented; Actual: fenced',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 49,
+ ruleDescription: 'Code block style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md046.md',
+ ruleNames: [
+ 'MD046',
+ 'code-block-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: indented; Actual: fenced',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 73,
+ ruleDescription: 'Code block style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md046.md',
+ ruleNames: [
+ 'MD046',
+ 'code-block-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: indented; Actual: fenced',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 77,
+ ruleDescription: 'Code block style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md046.md',
+ ruleNames: [
+ 'MD046',
+ 'code-block-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: null,
+ errorRange: [
+ 11,
+ 1,
+ ],
+ fixInfo: {
+ editColumn: 12,
+ insertText: `␊
+ `,
+ },
+ lineNumber: 140,
+ ruleDescription: 'Files should end with a single newline character',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md047.md',
+ ruleNames: [
+ 'MD047',
+ 'single-trailing-newline',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: backtick; Actual: tilde',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 77,
+ ruleDescription: 'Code fence style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md048.md',
+ ruleNames: [
+ 'MD048',
+ 'code-fence-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 10,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 10,
+ insertText: '_',
+ },
+ lineNumber: 90,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 15,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 15,
+ insertText: '_',
+ },
+ lineNumber: 90,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 8,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 8,
+ insertText: '__',
+ },
+ lineNumber: 94,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 14,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 14,
+ insertText: '__',
+ },
+ lineNumber: 94,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ {
+ errorContext: '[Missing link fragment](#missing)',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 33,
+ ],
+ fixInfo: null,
+ lineNumber: 96,
+ ruleDescription: 'Link fragments should be valid',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md051.md',
+ ruleNames: [
+ 'MD051',
+ 'link-fragments',
+ ],
+ },
+ {
+ errorContext: '[Missing link][label]',
+ errorDetail: 'Missing link or image reference definition: "label"',
+ errorRange: [
+ 1,
+ 21,
+ ],
+ fixInfo: null,
+ lineNumber: 98,
+ ruleDescription: 'Reference links and images should use a label that is defined',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md052.md',
+ ruleNames: [
+ 'MD052',
+ 'reference-links-images',
+ ],
+ },
+ {
+ errorContext: '[unused]: link-destination',
+ errorDetail: 'Unused link or image reference definition: "unused"',
+ errorRange: [
+ 1,
+ 26,
+ ],
+ fixInfo: {
+ deleteCount: -1,
+ },
+ lineNumber: 100,
+ ruleDescription: 'Link and image reference definitions should be needed',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md053.md',
+ ruleNames: [
+ 'MD053',
+ 'link-image-reference-definitions',
+ ],
+ },
+ {
+ errorContext: '[text][url]',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 11,
+ ],
+ fixInfo: {
+ deleteCount: 11,
+ editColumn: 1,
+ insertText: '[text](https://example.com/page)',
+ },
+ lineNumber: 103,
+ ruleDescription: 'Link and image style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md054.md',
+ ruleNames: [
+ 'MD054',
+ 'link-image-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: leading_and_trailing; Actual: trailing_only; Missing leading pipe',
+ errorRange: [
+ 2,
+ 1,
+ ],
+ fixInfo: null,
+ lineNumber: 110,
+ ruleDescription: 'Table pipe style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md055.md',
+ ruleNames: [
+ 'MD055',
+ 'table-pipe-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 2; Actual: 1; Too few cells, row will be missing data',
+ errorRange: [
+ 11,
+ 1,
+ ],
+ fixInfo: null,
+ lineNumber: 114,
+ ruleDescription: 'Table column count',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md056.md',
+ ruleNames: [
+ 'MD056',
+ 'table-column-count',
+ ],
+ },
+ {
+ errorContext: '| table {MD058} |',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ },
+ lineNumber: 117,
+ ruleDescription: 'Tables should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md058.md',
+ ruleNames: [
+ 'MD058',
+ 'blanks-around-tables',
+ ],
+ },
+ {
+ errorContext: '| cell {MD058} |',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 120,
+ },
+ lineNumber: 119,
+ ruleDescription: 'Tables should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md058.md',
+ ruleNames: [
+ 'MD058',
+ 'blanks-around-tables',
+ ],
+ },
+ ],
+ fixed: `## Heading 1 {MD041:1}␊
+ ␊
+ #### Heading 2 {MD001:3}␊
+ ␊
+ # Heading 3 {MD003} {MD043} #␊
+ ␊
+ * list {MD032}␊
+ ␊
+ * list {MD004} {MD007} {MD030} {MD032}␊
+ ␊
+ * list␊
+ * list {MD007}␊
+ * list {MD005}␊
+ ␊
+ {MD009} {MD010}␊
+ ␊
+ [name](link) {MD011}␊
+ ␊
+ {MD012:18}␊
+ ␊
+ long line long line long line long line long line long line long line long line long line {MD013}␊
+ ␊
+ dollar {MD014}␊
+ ␊
+ # Heading 4 {MD018}␊
+ ␊
+ # Heading 5 {MD019}␊
+ ␊
+ # Heading 6 {MD020} #␊
+ ␊
+ # Heading 7 {MD021} {MD003} #␊
+ ␊
+ # Heading 8␊
+ ␊
+ # Heading 8␊
+ ␊
+ {MD024:35}␊
+ Note: Can not break MD025 and MD041 in the same file␊
+ ␊
+ # Heading 9 {MD023} {MD026}␊
+ ␊
+ > {MD027}␊
+ ␊
+ > {MD028:43}␊
+ ␊
+ 1. list␊
+ 3. list {MD029}␊
+ ␊
+ \`\`\`js␊
+ \`\`\`␊
+ ␊
+ * list {MD032} {MD046:49}␊
+ ␊
+ {MD031:50}␊
+ ␊
+
{MD033}␊
+ ␊
+ {MD034}␊
+ ␊
+ ---␊
+ ␊
+ ***␊
+ ␊
+ {MD035:61}␊
+ ␊
+ _Section {MD036} Heading_␊
+ ␊
+ Emphasis _with_ space {MD037}␊
+ ␊
+ Code \`with\` space {MD038}␊
+ ␊
+ [link with space](link) {MD039}␊
+ ␊
+ \`\`\`␊
+ code fence without language {MD040:73} {MD046:73}␊
+ \`\`\`␊
+ ␊
+ ~~~js␊
+ code fence with different style {MD048:77} {MD046:77}␊
+ ~~~␊
+ ␊
+ [empty link]() {MD042}␊
+ ␊
+ markdownlint {MD044}␊
+ ␊
+  {MD045}␊
+ ␊
+ ## Heading 10 {MD022}␊
+ ␊
+ Emphasis _with_ underscore style␊
+ ␊
+ Emphasis _with_ different style {MD049}␊
+ ␊
+ Strong __with__ underscore style␊
+ ␊
+ Strong __with__ different style {MD050}␊
+ ␊
+ [Missing link fragment](#missing) {MD051}␊
+ ␊
+ [Missing link][label] {MD052}␊
+ ␊
+ {MD053:100}␊
+ ␊
+ [text](https://example.com/page) {MD054}␊
+ ␊
+ ␊
+ [url]: https://example.com/page␊
+ ␊
+ | table | header |␊
+ |--------|--------|␊
+ {MD055} | cell |␊
+ ␊
+ | table | header |␊
+ |---------|--------|␊
+ | {MD056} |␊
+ ␊
+ Text␊
+ ␊
+ | table {MD058} |␊
+ |-------|␊
+ | cell {MD058} |␊
+ ␊
+ > Blockquote␊
+ ␊
+ ␊
+ ␊
+ EOF {MD047}␊
+ `,
+ }
+
+## bulleted_list_2_space_indent.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 4; Actual: 2',
+ errorRange: [
+ 1,
+ 4,
+ ],
+ fixInfo: {
+ deleteCount: 0,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 7,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 8; Actual: 4',
+ errorRange: [
+ 1,
+ 6,
+ ],
+ fixInfo: {
+ deleteCount: 0,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 8,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ ],
+ fixed: `# bulleted_list_2_space_indent␊
+ ␊
+ This is a document where the lists are indented by 2 spaces, but the style is␊
+ set to 4 space indents for lists:␊
+ ␊
+ * Test X␊
+ * Test Y {MD007}␊
+ * Test Z {MD007}␊
+ ␊
+ ␊
+ `,
+ }
+
+## bulleted_list_4_space_indent.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 2; Actual: 4',
+ errorRange: [
+ 1,
+ 6,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 4,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 4; Actual: 8',
+ errorRange: [
+ 1,
+ 10,
+ ],
+ fixInfo: {
+ deleteCount: 4,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 5,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ ],
+ fixed: `# bulleted_list_4_space_indent␊
+ ␊
+ * Test X␊
+ * Test Y {MD007}␊
+ * Test Z {MD007}␊
+ `,
+ }
+
+## bulleted_list_not_at_beginning_of_line.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 0; Actual: 2',
+ errorRange: [
+ 1,
+ 4,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 15,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 2; Actual: 4',
+ errorRange: [
+ 1,
+ 6,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 16,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 2; Actual: 4',
+ errorRange: [
+ 1,
+ 6,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 17,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 4; Actual: 6',
+ errorRange: [
+ 1,
+ 8,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 18,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 2; Actual: 4',
+ errorRange: [
+ 1,
+ 6,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 19,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 0; Actual: 2',
+ errorRange: [
+ 1,
+ 4,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 20,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 0; Actual: 2',
+ errorRange: [
+ 1,
+ 4,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 21,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 0; Actual: 2',
+ errorRange: [
+ 1,
+ 4,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 30,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 2; Actual: 4',
+ errorRange: [
+ 1,
+ 6,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 31,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 0; Actual: 1',
+ errorRange: [
+ 1,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 41,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 0; Actual: 1',
+ errorRange: [
+ 1,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 42,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 0; Actual: 1',
+ errorRange: [
+ 1,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 43,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 0; Actual: 2',
+ errorRange: [
+ 1,
+ 4,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 55,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 0; Actual: 2',
+ errorRange: [
+ 1,
+ 4,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 57,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 0; Actual: 2',
+ errorRange: [
+ 1,
+ 4,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ insertText: '',
+ },
+ lineNumber: 59,
+ ruleDescription: 'Unordered list indentation',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md007.md',
+ ruleNames: [
+ 'MD007',
+ 'ul-indent',
+ ],
+ },
+ ],
+ fixed: `# Bulleted List Not at Beginning of Line␊
+ ␊
+ Text␊
+ ␊
+ * Item␊
+ * Item␊
+ * Item␊
+ * Item␊
+ * Item␊
+ * Item␊
+ * Item␊
+ ␊
+ Text␊
+ ␊
+ * Item {MD007}␊
+ * Item {MD007}␊
+ * Item {MD007}␊
+ * Item {MD007}␊
+ * Item {MD007}␊
+ * Item {MD007}␊
+ * Item {MD007}␊
+ ␊
+ Text␊
+ ␊
+ * Item␊
+ * Item␊
+ ␊
+ Text␊
+ ␊
+ * Item {MD007}␊
+ * Item {MD007}␊
+ ␊
+ Text␊
+ ␊
+ * Item␊
+ * Item␊
+ * Item␊
+ ␊
+ Text␊
+ ␊
+ * Item {MD007}␊
+ * Item {MD007}␊
+ * Item {MD007}␊
+ ␊
+ Text␊
+ ␊
+ * Item␊
+ ␊
+ * Item␊
+ ␊
+ * Item␊
+ ␊
+ Text␊
+ ␊
+ * Item {MD007}␊
+ ␊
+ * Item {MD007}␊
+ ␊
+ * Item {MD007}␊
+ `,
+ }
+
+## byte-order-marker-utf8.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `# Heading␊
+ ␊
+ Text␊
+ `,
+ }
+
+## code-block-in-list.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `# Code Block in List␊
+ ␊
+ Text␊
+ ␊
+ \`\`\`js␊
+ // Code␊
+ \`\`\`␊
+ ␊
+ Text␊
+ ␊
+ 1. Item␊
+ ␊
+ \`\`\`js␊
+ // Code␊
+ \`\`\`␊
+ ␊
+ 1. Item␊
+ ␊
+ \`\`\`js␊
+ // Code␊
+ \`\`\`␊
+ `,
+ }
+
+## code-block-trailing-spaces.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 0 or 2; Actual: 2',
+ errorRange: [
+ 28,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 28,
+ },
+ lineNumber: 5,
+ ruleDescription: 'Trailing spaces',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md009.md',
+ ruleNames: [
+ 'MD009',
+ 'no-trailing-spaces',
+ ],
+ },
+ ],
+ fixed: `# code-block-trailing-spaces␊
+ ␊
+ Text␊
+ ␊
+ Two trailing spaces {MD009}␊
+ ␊
+ Text␊
+ ␊
+ Indented code block␊
+ ␊
+ Statement␊
+ Indented statement␊
+ ␊
+ Statement␊
+ Indented statement␊
+ ␊
+ Two trailing spaces ␊
+ ␊
+ Text␊
+ ␊
+ \`\`\`text␊
+ Fenced code block␊
+ ␊
+ Statement␊
+ Indented statement␊
+ ␊
+ Statement␊
+ Indented statement␊
+ ␊
+ Two trailing spaces ␊
+ \`\`\`␊
+ ␊
+ Text␊
+ ␊
+ ␊
+ `,
+ }
+
+## code-block-with-language-allowed.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 34,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 35,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 36,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 3,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 37,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 38,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 39,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 10',
+ errorRange: [
+ 10,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 10,
+ insertText: ' ',
+ },
+ lineNumber: 41,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 45,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 46,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 47,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 48,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ ],
+ fixed: `# Heading␊
+ ␊
+ \`\`\`js␊
+ if (true) {␊
+ console.log("true");␊
+ if (false) {␊
+ console.log("false");␊
+ }␊
+ }␊
+ \`\`\`␊
+ ␊
+ \`\`\`js␊
+ if (true) {␊
+ console.log("true");␊
+ if (false) {␊
+ console.log("false");␊
+ }␊
+ }␊
+ \`\`\`␊
+ ␊
+ if (true) {␊
+ console.log("true");␊
+ if (false) {␊
+ console.log("false");␊
+ }␊
+ }␊
+ ␊
+ \`\`\` Text␊
+ hello␊
+ world␊
+ }␊
+ \`\`\`␊
+ ␊
+ if (true) { // {MD010}␊
+ console.log("true"); // {MD010}␊
+ if (false) { // {MD010}␊
+ console.log("false"); // {MD010}␊
+ } // {MD010}␊
+ } // {MD010}␊
+ ␊
+ Line with hard tab. {MD010}␊
+ ␊
+ \`\`\`javascript␊
+ if (true) {␊
+ console.log("true"); // {MD010}␊
+ if (false) { // {MD010}␊
+ console.log("false"); // {MD010}␊
+ } // {MD010}␊
+ }␊
+ \`\`\`␊
+ ␊
+ ␊
+ `,
+ }
+
+## code-block-with-tabs-allowed.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Column: 10',
+ errorRange: [
+ 10,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 10,
+ insertText: ' ',
+ },
+ lineNumber: 35,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: fenced; Actual: indented',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 21,
+ ruleDescription: 'Code block style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md046.md',
+ ruleNames: [
+ 'MD046',
+ 'code-block-style',
+ ],
+ },
+ ],
+ fixed: `# Heading␊
+ ␊
+ \`\`\`js␊
+ if (true) {␊
+ console.log("true");␊
+ if (false) {␊
+ console.log("false");␊
+ }␊
+ }␊
+ \`\`\`␊
+ ␊
+ \`\`\`js␊
+ if (true) {␊
+ console.log("true");␊
+ if (false) {␊
+ console.log("false");␊
+ }␊
+ }␊
+ \`\`\`␊
+ ␊
+ if (true) { // {MD046}␊
+ console.log("true");␊
+ if (false) {␊
+ console.log("false");␊
+ }␊
+ }␊
+ ␊
+ if (true) {␊
+ console.log("true");␊
+ if (false) {␊
+ console.log("false");␊
+ }␊
+ }␊
+ ␊
+ Line with hard tab. {MD010}␊
+ ␊
+ ␊
+ `,
+ }
+
+## code-block-with-tabs.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 14,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 15,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 16,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 17,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 28,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 29,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 30,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 3,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 31,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 32,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 33,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 10',
+ errorRange: [
+ 10,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 10,
+ insertText: ' ',
+ },
+ lineNumber: 35,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: fenced; Actual: indented',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 21,
+ ruleDescription: 'Code block style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md046.md',
+ ruleNames: [
+ 'MD046',
+ 'code-block-style',
+ ],
+ },
+ ],
+ fixed: `# Heading␊
+ ␊
+ \`\`\`js␊
+ if (true) {␊
+ console.log("true");␊
+ if (false) {␊
+ console.log("false");␊
+ }␊
+ }␊
+ \`\`\`␊
+ ␊
+ \`\`\`js␊
+ if (true) {␊
+ console.log("true"); // {MD010}␊
+ if (false) { // {MD010}␊
+ console.log("false"); // {MD010}␊
+ } // {MD010}␊
+ }␊
+ \`\`\`␊
+ ␊
+ if (true) { // {MD046}␊
+ console.log("true");␊
+ if (false) {␊
+ console.log("false");␊
+ }␊
+ }␊
+ ␊
+ if (true) { // {MD010}␊
+ console.log("true"); // {MD010}␊
+ if (false) { // {MD010}␊
+ console.log("false"); // {MD010}␊
+ } // {MD010}␊
+ } // {MD010}␊
+ ␊
+ Line with hard tab. {MD010}␊
+ `,
+ }
+
+## code-blocks-and-spans.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Expected: code; Actual: Code',
+ errorRange: [
+ 3,
+ 4,
+ ],
+ fixInfo: {
+ deleteCount: 4,
+ editColumn: 3,
+ insertText: 'code',
+ },
+ lineNumber: 1,
+ ruleDescription: 'Proper names should have the correct capitalization',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md044.md',
+ ruleNames: [
+ 'MD044',
+ 'proper-names',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: code; Actual: CODE',
+ errorRange: [
+ 6,
+ 4,
+ ],
+ fixInfo: {
+ deleteCount: 4,
+ editColumn: 6,
+ insertText: 'code',
+ },
+ lineNumber: 3,
+ ruleDescription: 'Proper names should have the correct capitalization',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md044.md',
+ ruleNames: [
+ 'MD044',
+ 'proper-names',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: code; Actual: CODE',
+ errorRange: [
+ 7,
+ 4,
+ ],
+ fixInfo: {
+ deleteCount: 4,
+ editColumn: 7,
+ insertText: 'code',
+ },
+ lineNumber: 26,
+ ruleDescription: 'Proper names should have the correct capitalization',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md044.md',
+ ruleNames: [
+ 'MD044',
+ 'proper-names',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: code; Actual: CODE',
+ errorRange: [
+ 7,
+ 4,
+ ],
+ fixInfo: {
+ deleteCount: 4,
+ editColumn: 7,
+ insertText: 'code',
+ },
+ lineNumber: 28,
+ ruleDescription: 'Proper names should have the correct capitalization',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md044.md',
+ ruleNames: [
+ 'MD044',
+ 'proper-names',
+ ],
+ },
+ ],
+ fixed: `# code Blocks and Spans {MD044}␊
+ ␊
+ Text code text {MD044}␊
+ ␊
+ Text \`CODE\` text␊
+ ␊
+ \`\`\`lang␊
+ CODE␊
+ ␊
+ CODE␊
+ \`\`\`␊
+ ␊
+ \`CODE\` text \`CODE\`␊
+ ␊
+ CODE␊
+ ␊
+ CODE␊
+ ␊
+ Text \`CODE␊
+ CODE\` text␊
+ text text␊
+ text \`CODE␊
+ CODE CODE␊
+ CODE\` text␊
+ ␊
+ Text \`code {MD044}␊
+ ␊
+ Text \`code {MD044}␊
+ ␊
+ ␊
+ `,
+ }
+
+## code-blocks-prefixed-by-spaces.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 80; Actual: 98',
+ errorRange: [
+ 81,
+ 18,
+ ],
+ fixInfo: null,
+ lineNumber: 3,
+ ruleDescription: 'Line length',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md013.md',
+ ruleNames: [
+ 'MD013',
+ 'line-length',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 80; Actual: 98',
+ errorRange: [
+ 81,
+ 18,
+ ],
+ fixInfo: null,
+ lineNumber: 25,
+ ruleDescription: 'Line length',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md013.md',
+ ruleNames: [
+ 'MD013',
+ 'line-length',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 80; Actual: 98',
+ errorRange: [
+ 81,
+ 18,
+ ],
+ fixInfo: null,
+ lineNumber: 39,
+ ruleDescription: 'Line length',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md013.md',
+ ruleNames: [
+ 'MD013',
+ 'line-length',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: fenced; Actual: indented',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 21,
+ ruleDescription: 'Code block style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md046.md',
+ ruleNames: [
+ 'MD046',
+ 'code-block-style',
+ ],
+ },
+ ],
+ fixed: `# md013-code-blocks-spaces␊
+ ␊
+ Text text text text text text text text text text text text text text text text text text. {MD013}␊
+ ␊
+ \`\`\`text␊
+ Text text text text text text text text text text text text text text text text text text.␊
+ \`\`\`␊
+ ␊
+ \`\`\`text␊
+ Text text text text text text text text text text text text text text text text text text.␊
+ \`\`\`␊
+ ␊
+ \`\`\`text␊
+ Text text text text text text text text text text text text text text text text text text.␊
+ \`\`\`␊
+ ␊
+ \`\`\`text␊
+ Text text text text text text text text text text text text text text text text text text.␊
+ \`\`\`␊
+ ␊
+ \`\`\`text␊
+ Text text text text text text text text text text text text text text text text text text. {MD046:21}␊
+ \`\`\`␊
+ ␊
+ Text text text text text text text text text text text text text text text text text text. {MD013}␊
+ ␊
+ \`\`\`text␊
+ Text text text text text text text text text text text text text text text text text text.␊
+ \`\`\`␊
+ ␊
+ \`\`\`text␊
+ Text text text text text text text text text text text text text text text text text text.␊
+ \`\`\`␊
+ ␊
+ \`\`\`text␊
+ Text text text text text text text text text text text text text text text text text text.␊
+ \`\`\`␊
+ ␊
+ Text text text text text text text text text text text text text text text text text text. {MD013}␊
+ ␊
+ ␊
+ `,
+ }
+
+## code-fences-in-blockquotes.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '```markdown',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 4,
+ },
+ lineNumber: 4,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 7,
+ },
+ lineNumber: 6,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '> ```markdown',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `>␊
+ `,
+ lineNumber: 10,
+ },
+ lineNumber: 10,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '> ```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `>␊
+ `,
+ lineNumber: 13,
+ },
+ lineNumber: 12,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '> > ```markdown',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `> >␊
+ `,
+ lineNumber: 15,
+ },
+ lineNumber: 15,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '> > ```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `> >␊
+ `,
+ lineNumber: 18,
+ },
+ lineNumber: 17,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ ],
+ fixed: `# Detailed Results Code Fences in Blockquotes␊
+ ␊
+ Text␊
+ ␊
+ \`\`\`markdown␊
+ Text␊
+ \`\`\`␊
+ ␊
+ Text␊
+ ␊
+ > Text␊
+ >␊
+ > \`\`\`markdown␊
+ > Text␊
+ > \`\`\`␊
+ >␊
+ > Text␊
+ > > Text␊
+ > >␊
+ > > \`\`\`markdown␊
+ > > Text␊
+ > > \`\`\`␊
+ > >␊
+ > > Text␊
+ ␊
+ {MD031:4} {MD031:6} {MD031:10} {MD031:12} {MD031:15} {MD031:17}␊
+ `,
+ }
+
+## code-with-tabs-allowed.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Column: 5',
+ errorRange: [
+ 5,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 5,
+ insertText: ' ',
+ },
+ lineNumber: 3,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 5',
+ errorRange: [
+ 5,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 5,
+ insertText: ' ',
+ },
+ lineNumber: 21,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ ],
+ fixed: `# Code With Tabs Allowed␊
+ ␊
+ Text text {MD010}␊
+ ␊
+ Text \`code code\` text␊
+ ␊
+ Text \` code\` text␊
+ ␊
+ Text \`code \` text␊
+ ␊
+ Text \`code code␊
+ code code␊
+ code code\` text␊
+ ␊
+ console.log(" ");␊
+ ␊
+ \`\`\`js␊
+ console.log(" ");␊
+ \`\`\`␊
+ ␊
+ \`\`\`j s {MD010}␊
+ console.log(" ");␊
+ \`\`\`␊
+ ␊
+ console.log("");␊
+ ␊
+ ␊
+ `,
+ }
+
+## code-with-tabs-blocked.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Column: 5',
+ errorRange: [
+ 5,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 5,
+ insertText: ' ',
+ },
+ lineNumber: 3,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 11',
+ errorRange: [
+ 11,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 11,
+ insertText: ' ',
+ },
+ lineNumber: 5,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 7',
+ errorRange: [
+ 7,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 7,
+ insertText: ' ',
+ },
+ lineNumber: 7,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 11',
+ errorRange: [
+ 11,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 11,
+ insertText: ' ',
+ },
+ lineNumber: 9,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 5',
+ errorRange: [
+ 5,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 5,
+ insertText: ' ',
+ },
+ lineNumber: 12,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 18',
+ errorRange: [
+ 18,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 18,
+ insertText: ' ',
+ },
+ lineNumber: 15,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 14',
+ errorRange: [
+ 14,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 14,
+ insertText: ' ',
+ },
+ lineNumber: 18,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 5',
+ errorRange: [
+ 5,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 5,
+ insertText: ' ',
+ },
+ lineNumber: 21,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 14',
+ errorRange: [
+ 14,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 14,
+ insertText: ' ',
+ },
+ lineNumber: 22,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 25,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ ],
+ fixed: `# Code With Tabs Blocked␊
+ ␊
+ Text text {MD010}␊
+ ␊
+ Text \`code code\` text {MD010}␊
+ ␊
+ Text \` code\` text {MD010}␊
+ ␊
+ Text \`code \` text {MD010}␊
+ ␊
+ Text \`code code␊
+ code code {MD010}␊
+ code code\` text␊
+ ␊
+ console.log(" "); // {MD010}␊
+ ␊
+ \`\`\`js␊
+ console.log(" "); // {MD010}␊
+ \`\`\`␊
+ ␊
+ \`\`\`j s {MD010}␊
+ console.log(" "); // {MD010}␊
+ \`\`\`␊
+ ␊
+ console.log(""); // {MD010}␊
+ ␊
+ ␊
+ `,
+ }
+
+## code_block_consistency.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Expected: indented; Actual: fenced',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 10,
+ ruleDescription: 'Code block style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md046.md',
+ ruleNames: [
+ 'MD046',
+ 'code-block-style',
+ ],
+ },
+ ],
+ fixed: `# code_block_consistency␊
+ ␊
+ This is text.␊
+ ␊
+ This is a␊
+ code block.␊
+ ␊
+ And here is more text␊
+ ␊
+ \`\`\`text␊
+ and here is a different {MD046:10}␊
+ code block␊
+ \`\`\`␊
+ `,
+ }
+
+## code_block_dollar.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '$ ls {MD014}',
+ errorDetail: null,
+ errorRange: [
+ 5,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 5,
+ },
+ lineNumber: 5,
+ ruleDescription: 'Dollar signs used before commands without showing output',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md014.md',
+ ruleNames: [
+ 'MD014',
+ 'commands-show-output',
+ ],
+ },
+ {
+ errorContext: '$ less foo {MD014}',
+ errorDetail: null,
+ errorRange: [
+ 5,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 5,
+ },
+ lineNumber: 6,
+ ruleDescription: 'Dollar signs used before commands without showing output',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md014.md',
+ ruleNames: [
+ 'MD014',
+ 'commands-show-output',
+ ],
+ },
+ {
+ errorContext: '$ cat bar {MD014}',
+ errorDetail: null,
+ errorRange: [
+ 5,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 5,
+ },
+ lineNumber: 8,
+ ruleDescription: 'Dollar signs used before commands without showing output',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md014.md',
+ ruleNames: [
+ 'MD014',
+ 'commands-show-output',
+ ],
+ },
+ {
+ errorContext: '$ mkdir test {MD014}',
+ errorDetail: null,
+ errorRange: [
+ 5,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 5,
+ },
+ lineNumber: 74,
+ ruleDescription: 'Dollar signs used before commands without showing output',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md014.md',
+ ruleNames: [
+ 'MD014',
+ 'commands-show-output',
+ ],
+ },
+ {
+ errorContext: '$ cd test {MD014}',
+ errorDetail: null,
+ errorRange: [
+ 5,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 5,
+ },
+ lineNumber: 75,
+ ruleDescription: 'Dollar signs used before commands without showing output',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md014.md',
+ ruleNames: [
+ 'MD014',
+ 'commands-show-output',
+ ],
+ },
+ {
+ errorContext: '$ ls test {MD014}',
+ errorDetail: null,
+ errorRange: [
+ 5,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 5,
+ },
+ lineNumber: 76,
+ ruleDescription: 'Dollar signs used before commands without showing output',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md014.md',
+ ruleNames: [
+ 'MD014',
+ 'commands-show-output',
+ ],
+ },
+ {
+ errorContext: ' $ ls example {MD014}',
+ errorDetail: null,
+ errorRange: [
+ 6,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 6,
+ },
+ lineNumber: 80,
+ ruleDescription: 'Dollar signs used before commands without showing output',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md014.md',
+ ruleNames: [
+ 'MD014',
+ 'commands-show-output',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: indented; Actual: fenced',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 34,
+ ruleDescription: 'Code block style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md046.md',
+ ruleNames: [
+ 'MD046',
+ 'code-block-style',
+ ],
+ },
+ ],
+ fixed: `# Code Block Dollar␊
+ ␊
+ The following code block shouldn't have $ before the commands:␊
+ ␊
+ ls {MD014}␊
+ less foo {MD014}␊
+ ␊
+ cat bar {MD014}␊
+ ␊
+ However the following code block shows output, and $ can be used to␊
+ distinguish between command and output:␊
+ ␊
+ $ ls␊
+ foo bar␊
+ $ less foo␊
+ Hello world␊
+ ␊
+ $ cat bar␊
+ baz␊
+ ␊
+ The following code block uses variable names, and likewise shouldn't fire:␊
+ ␊
+ $foo = 'bar';␊
+ $baz = 'qux';␊
+ ␊
+ The following code block doesn't have any dollar signs, and shouldn't fire:␊
+ ␊
+ ls foo␊
+ cat bar␊
+ ␊
+ The following (fenced) code block doesn't have any content at all, and␊
+ shouldn't fire: {MD046:34}␊
+ ␊
+ \`\`\`bash␊
+ \`\`\`␊
+ ␊
+ Mixed content:␊
+ ␊
+ $ ls␊
+ file.md other.md␊
+ $ git branch␊
+ $ cat stuff␊
+ ␊
+ output␊
+ ␊
+ More mixed content:␊
+ ␊
+ $ ls␊
+ $ git branch␊
+ $ cat stuff␊
+ stuff here␊
+ more stuff␊
+ $ tail cat␊
+ meow␊
+ ␊
+ Command with blank lines in output:␊
+ ␊
+ $ dig example.com␊
+ ␊
+ ; ...␊
+ ;; ...␊
+ ␊
+ ;; ...␊
+ ␊
+ Some commands with no output:␊
+ ␊
+ $ mkdir test␊
+ mkdir: created directory 'test'␊
+ $ cd test␊
+ $ ls test␊
+ ␊
+ All commands with no output:␊
+ ␊
+ mkdir test {MD014}␊
+ cd test {MD014}␊
+ ls test {MD014}␊
+ ␊
+ Space-prefixed command with no output:␊
+ ␊
+ ls example {MD014}␊
+ `,
+ }
+
+## code_block_dollar_fence-empty.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `# Heading␊
+ ␊
+ \`\`\`js␊
+ ␊
+ \`\`\`␊
+ ␊
+ \`\`\`css␊
+ ␊
+ ␊
+ \`\`\`␊
+ ␊
+ \`\`\`spaces␊
+ ␊
+ \`\`\`␊
+ ␊
+ ␊
+ `,
+ }
+
+## code_block_dollar_fence.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '$ code {MD014}',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ },
+ lineNumber: 4,
+ ruleDescription: 'Dollar signs used before commands without showing output',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md014.md',
+ ruleNames: [
+ 'MD014',
+ 'commands-show-output',
+ ],
+ },
+ {
+ errorContext: '$ code {MD014}',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ },
+ lineNumber: 10,
+ ruleDescription: 'Dollar signs used before commands without showing output',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md014.md',
+ ruleNames: [
+ 'MD014',
+ 'commands-show-output',
+ ],
+ },
+ {
+ errorContext: '$ code {MD014}',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ },
+ lineNumber: 16,
+ ruleDescription: 'Dollar signs used before commands without showing output',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md014.md',
+ ruleNames: [
+ 'MD014',
+ 'commands-show-output',
+ ],
+ },
+ {
+ errorContext: '$ code {MD014}',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ },
+ lineNumber: 17,
+ ruleDescription: 'Dollar signs used before commands without showing output',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md014.md',
+ ruleNames: [
+ 'MD014',
+ 'commands-show-output',
+ ],
+ },
+ {
+ errorContext: '$ code {MD014}',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ },
+ lineNumber: 23,
+ ruleDescription: 'Dollar signs used before commands without showing output',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md014.md',
+ ruleNames: [
+ 'MD014',
+ 'commands-show-output',
+ ],
+ },
+ {
+ errorContext: '$ code {MD014}',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ },
+ lineNumber: 24,
+ ruleDescription: 'Dollar signs used before commands without showing output',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md014.md',
+ ruleNames: [
+ 'MD014',
+ 'commands-show-output',
+ ],
+ },
+ {
+ errorContext: '$ npm install --save multimatc...',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ },
+ lineNumber: 40,
+ ruleDescription: 'Dollar signs used before commands without showing output',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md014.md',
+ ruleNames: [
+ 'MD014',
+ 'commands-show-output',
+ ],
+ },
+ {
+ errorContext: ' $ ls example {MD014}',
+ errorDetail: null,
+ errorRange: [
+ 2,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 2,
+ },
+ lineNumber: 46,
+ ruleDescription: 'Dollar signs used before commands without showing output',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md014.md',
+ ruleNames: [
+ 'MD014',
+ 'commands-show-output',
+ ],
+ },
+ ],
+ fixed: `# Code Block Dollar Fence␊
+ ␊
+ \`\`\`fence␊
+ code {MD014}␊
+ \`\`\`␊
+ ␊
+ text␊
+ ␊
+ \`\`\`fence␊
+ code {MD014}␊
+ \`\`\`␊
+ ␊
+ text␊
+ ␊
+ \`\`\`fence␊
+ code {MD014}␊
+ code {MD014}␊
+ \`\`\`␊
+ ␊
+ text␊
+ ␊
+ \`\`\`fence␊
+ code {MD014}␊
+ code {MD014}␊
+ \`\`\`␊
+ ␊
+ text␊
+ ␊
+ \`\`\`fence␊
+ $ code␊
+ code␊
+ $ code␊
+ code␊
+ \`\`\`␊
+ ␊
+ text␊
+ ␊
+ \`\`\`sh␊
+ ␊
+ npm install --save multimatch {MD014}␊
+ \`\`\`␊
+ ␊
+ Space-prefixed command with no output:␊
+ ␊
+ \`\`\`sh␊
+ ls example {MD014}␊
+ \`\`\`␊
+ `,
+ }
+
+## code_block_fenced.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Expected: fenced; Actual: indented',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 5,
+ ruleDescription: 'Code block style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md046.md',
+ ruleNames: [
+ 'MD046',
+ 'code-block-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: fenced; Actual: indented',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 16,
+ ruleDescription: 'Code block style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md046.md',
+ ruleNames: [
+ 'MD046',
+ 'code-block-style',
+ ],
+ },
+ ],
+ fixed: `# code_block_fenced␊
+ ␊
+ This is text.␊
+ ␊
+ This is a {MD046}␊
+ code block.␊
+ ␊
+ And here is more text␊
+ ␊
+ \`\`\`text␊
+ This is a code block that won't trigger.␊
+ \`\`\`␊
+ ␊
+ But we'll do another:␊
+ ␊
+ And this {MD046}␊
+ will.␊
+ ␊
+ Final text is here␊
+ ␊
+ ␊
+ `,
+ }
+
+## code_block_indented.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Expected: indented; Actual: fenced',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 10,
+ ruleDescription: 'Code block style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md046.md',
+ ruleNames: [
+ 'MD046',
+ 'code-block-style',
+ ],
+ },
+ ],
+ fixed: `# code_block_indented␊
+ ␊
+ This is text.␊
+ ␊
+ This is a␊
+ code block.␊
+ ␊
+ And here is more text␊
+ ␊
+ \`\`\`text␊
+ This is {MD046:10} also a code block.␊
+ \`\`\`␊
+ ␊
+ But we'll do another:␊
+ ␊
+ And this␊
+ will.␊
+ ␊
+ One last one:␊
+ ␊
+ This is code␊
+ ␊
+ with an empty indented line.␊
+ ␊
+ ␊
+ `,
+ }
+
+## code_fence_style_backtick.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Expected: backtick; Actual: tilde',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 7,
+ ruleDescription: 'Code fence style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md048.md',
+ ruleNames: [
+ 'MD048',
+ 'code-fence-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: backtick; Actual: tilde',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 17,
+ ruleDescription: 'Code fence style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md048.md',
+ ruleNames: [
+ 'MD048',
+ 'code-fence-style',
+ ],
+ },
+ ],
+ fixed: `# code_fence_style_backtick␊
+ ␊
+ \`\`\`text␊
+ This is a code block␊
+ \`\`\`␊
+ ␊
+ ~~~text␊
+ This is {MD048:7} a code block␊
+ ~~~␊
+ ␊
+ \`\`\`text␊
+ ~~~␊
+ This is fine␊
+ ~~~␊
+ \`\`\`␊
+ ␊
+ ~~~text␊
+ \`\`\`␊
+ This is not {MD048:17}␊
+ \`\`\`␊
+ ~~~␊
+ ␊
+ ␊
+ `,
+ }
+
+## code_fence_style_tilde.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Expected: tilde; Actual: backtick',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 3,
+ ruleDescription: 'Code fence style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md048.md',
+ ruleNames: [
+ 'MD048',
+ 'code-fence-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: tilde; Actual: backtick',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 11,
+ ruleDescription: 'Code fence style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md048.md',
+ ruleNames: [
+ 'MD048',
+ 'code-fence-style',
+ ],
+ },
+ ],
+ fixed: `# code_fence_style_tilde␊
+ ␊
+ \`\`\`text␊
+ This is {MD048:3} a code block␊
+ \`\`\`␊
+ ␊
+ ~~~text␊
+ This is a code block␊
+ ~~~␊
+ ␊
+ \`\`\`text␊
+ ~~~␊
+ This is not fine {MD048:11}␊
+ ~~~␊
+ \`\`\`␊
+ ␊
+ ~~~text␊
+ \`\`\`␊
+ This is␊
+ \`\`\`␊
+ ~~~␊
+ ␊
+ ␊
+ `,
+ }
+
+## consecutive_blank_lines.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Expected: 1; Actual: 2',
+ errorRange: null,
+ fixInfo: {
+ deleteCount: -1,
+ },
+ lineNumber: 5,
+ ruleDescription: 'Multiple consecutive blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md012.md',
+ ruleNames: [
+ 'MD012',
+ 'no-multiple-blanks',
+ ],
+ },
+ ],
+ fixed: `# consecutive_blank_lines␊
+ ␊
+ Some text␊
+ ␊
+ Some text {MD012:5}␊
+ ␊
+ This is a code block␊
+ ␊
+ ␊
+ with two blank lines in it␊
+ ␊
+ Some more text␊
+ `,
+ }
+
+## consistent_bullet_styles_asterisk.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `# consistent_bullet_styles_asterisk␊
+ ␊
+ * Item␊
+ * Item␊
+ * Item␊
+ `,
+ }
+
+## consistent_bullet_styles_dash.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `# consistent_bullet_styles_dash␊
+ ␊
+ - Item␊
+ - Item␊
+ - Item␊
+ `,
+ }
+
+## consistent_bullet_styles_plus.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `# consistent_bullet_styles_plus␊
+ ␊
+ + Item␊
+ + Item␊
+ + Item␊
+ `,
+ }
+
+## custom-rules.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `# Heading␊
+ ␊
+ Sample text.␊
+ ␊
+ Sample text.␊
+ ␊
+ Sample text.␊
+ ␊
+ Sample text.␊
+ ␊
+ ␊
+ > Blockquote␊
+ `,
+ }
+
+## default-spaces-MD010.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Column: 1',
+ errorRange: [
+ 1,
+ 13,
+ ],
+ fixInfo: {
+ deleteCount: 13,
+ editColumn: 1,
+ insertText: ' ',
+ },
+ lineNumber: 1,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 5',
+ errorRange: [
+ 5,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 5,
+ insertText: ' ',
+ },
+ lineNumber: 2,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Column: 35',
+ errorRange: [
+ 35,
+ 3,
+ ],
+ fixInfo: {
+ deleteCount: 3,
+ editColumn: 35,
+ insertText: ' ',
+ },
+ lineNumber: 3,
+ ruleDescription: 'Hard tabs',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md010.md',
+ ruleNames: [
+ 'MD010',
+ 'no-hard-tabs',
+ ],
+ },
+ ],
+ fixed: ` text {MD010}␊
+ text and text 2 {MD010}␊
+ texts with trailing spaces {MD010} ␊
+ ␊
+ ␊
+ `,
+ }
+
+## descriptive-link-text-empty-config.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `# Descriptive Link Text Empty Config␊
+ ␊
+ [Learn more](https://example.com/images/about) about us.␊
+ ␊
+ [Click here](https://example.com/dir/file.txt).␊
+ ␊
+ Go to this [link](https://example.com/second).␊
+ ␊
+ ␊
+ `,
+ }
+
+## descriptive-link-text-override.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '[Go here]',
+ errorDetail: null,
+ errorRange: [
+ 2,
+ 7,
+ ],
+ fixInfo: null,
+ lineNumber: 3,
+ ruleDescription: 'Link text should be descriptive',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md059.md',
+ ruleNames: [
+ 'MD059',
+ 'descriptive-link-text',
+ ],
+ },
+ {
+ errorContext: '[this]',
+ errorDetail: null,
+ errorRange: [
+ 40,
+ 4,
+ ],
+ fixInfo: null,
+ lineNumber: 13,
+ ruleDescription: 'Link text should be descriptive',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md059.md',
+ ruleNames: [
+ 'MD059',
+ 'descriptive-link-text',
+ ],
+ },
+ ],
+ fixed: `# Descriptive Link Text Override␊
+ ␊
+ [Go here](https://example.com/javascript/about) {MD059}␊
+ ␊
+ [Learn more](https://example.com/javascript/about).␊
+ ␊
+ [Click here](https://example.com/javascript/about).␊
+ ␊
+ To learn more, go [here!](https://example.com/site).␊
+ ␊
+ To learn more, go to this [link!](https://example.com/links).␊
+ ␊
+ If you need additional guidance, read [this](https://example.com/links). {MD059}␊
+ ␊
+ [link][url]␊
+ ␊
+ [url]: https://example.com␊
+ ␊
+ ␊
+ `,
+ }
+
+## descriptive-link-text.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Element: link',
+ errorRange: [
+ 2,
+ 6,
+ ],
+ fixInfo: null,
+ lineNumber: 40,
+ ruleDescription: 'Inline HTML',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md033.md',
+ ruleNames: [
+ 'MD033',
+ 'no-inline-html',
+ ],
+ },
+ {
+ errorContext: '[ link ]',
+ errorDetail: null,
+ errorRange: [
+ 2,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 2,
+ },
+ lineNumber: 35,
+ ruleDescription: 'Spaces inside link text',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md039.md',
+ ruleNames: [
+ 'MD039',
+ 'no-space-in-links',
+ ],
+ },
+ {
+ errorContext: '[ link ]',
+ errorDetail: null,
+ errorRange: [
+ 7,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 7,
+ },
+ lineNumber: 35,
+ ruleDescription: 'Spaces inside link text',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md039.md',
+ ruleNames: [
+ 'MD039',
+ 'no-space-in-links',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 2,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 2,
+ insertText: '*',
+ },
+ lineNumber: 37,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 7,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 7,
+ insertText: '*',
+ },
+ lineNumber: 37,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: '[here]',
+ errorDetail: null,
+ errorRange: [
+ 5,
+ 4,
+ ],
+ fixInfo: null,
+ lineNumber: 9,
+ ruleDescription: 'Link text should be descriptive',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md059.md',
+ ruleNames: [
+ 'MD059',
+ 'descriptive-link-text',
+ ],
+ },
+ {
+ errorContext: '[Click here]',
+ errorDetail: null,
+ errorRange: [
+ 2,
+ 10,
+ ],
+ fixInfo: null,
+ lineNumber: 13,
+ ruleDescription: 'Link text should be descriptive',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md059.md',
+ ruleNames: [
+ 'MD059',
+ 'descriptive-link-text',
+ ],
+ },
+ {
+ errorContext: '[here!]',
+ errorDetail: null,
+ errorRange: [
+ 26,
+ 5,
+ ],
+ fixInfo: null,
+ lineNumber: 17,
+ ruleDescription: 'Link text should be descriptive',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md059.md',
+ ruleNames: [
+ 'MD059',
+ 'descriptive-link-text',
+ ],
+ },
+ {
+ errorContext: '[more]',
+ errorDetail: null,
+ errorRange: [
+ 8,
+ 4,
+ ],
+ fixInfo: null,
+ lineNumber: 19,
+ ruleDescription: 'Link text should be descriptive',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md059.md',
+ ruleNames: [
+ 'MD059',
+ 'descriptive-link-text',
+ ],
+ },
+ {
+ errorContext: '[click here!!!!]',
+ errorDetail: null,
+ errorRange: [
+ 17,
+ 14,
+ ],
+ fixInfo: null,
+ lineNumber: 21,
+ ruleDescription: 'Link text should be descriptive',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md059.md',
+ ruleNames: [
+ 'MD059',
+ 'descriptive-link-text',
+ ],
+ },
+ {
+ errorContext: '[click-here!!!!]',
+ errorDetail: null,
+ errorRange: [
+ 2,
+ 14,
+ ],
+ fixInfo: null,
+ lineNumber: 23,
+ ruleDescription: 'Link text should be descriptive',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md059.md',
+ ruleNames: [
+ 'MD059',
+ 'descriptive-link-text',
+ ],
+ },
+ {
+ errorContext: '[link]',
+ errorDetail: null,
+ errorRange: [
+ 13,
+ 4,
+ ],
+ fixInfo: null,
+ lineNumber: 25,
+ ruleDescription: 'Link text should be descriptive',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md059.md',
+ ruleNames: [
+ 'MD059',
+ 'descriptive-link-text',
+ ],
+ },
+ {
+ errorContext: '[link]',
+ errorDetail: null,
+ errorRange: [
+ 2,
+ 4,
+ ],
+ fixInfo: null,
+ lineNumber: 27,
+ ruleDescription: 'Link text should be descriptive',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md059.md',
+ ruleNames: [
+ 'MD059',
+ 'descriptive-link-text',
+ ],
+ },
+ {
+ errorContext: `[click␊
+ here]`,
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 31,
+ ruleDescription: 'Link text should be descriptive',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md059.md',
+ ruleNames: [
+ 'MD059',
+ 'descriptive-link-text',
+ ],
+ },
+ {
+ errorContext: '[link]',
+ errorDetail: null,
+ errorRange: [
+ 2,
+ 4,
+ ],
+ fixInfo: null,
+ lineNumber: 34,
+ ruleDescription: 'Link text should be descriptive',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md059.md',
+ ruleNames: [
+ 'MD059',
+ 'descriptive-link-text',
+ ],
+ },
+ {
+ errorContext: '[ link ]',
+ errorDetail: null,
+ errorRange: [
+ 2,
+ 6,
+ ],
+ fixInfo: null,
+ lineNumber: 35,
+ ruleDescription: 'Link text should be descriptive',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md059.md',
+ ruleNames: [
+ 'MD059',
+ 'descriptive-link-text',
+ ],
+ },
+ {
+ errorContext: '[*link*]',
+ errorDetail: null,
+ errorRange: [
+ 2,
+ 6,
+ ],
+ fixInfo: null,
+ lineNumber: 36,
+ ruleDescription: 'Link text should be descriptive',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md059.md',
+ ruleNames: [
+ 'MD059',
+ 'descriptive-link-text',
+ ],
+ },
+ {
+ errorContext: '[_link_]',
+ errorDetail: null,
+ errorRange: [
+ 2,
+ 6,
+ ],
+ fixInfo: null,
+ lineNumber: 37,
+ ruleDescription: 'Link text should be descriptive',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md059.md',
+ ruleNames: [
+ 'MD059',
+ 'descriptive-link-text',
+ ],
+ },
+ {
+ errorContext: '[~~link~~]',
+ errorDetail: null,
+ errorRange: [
+ 2,
+ 8,
+ ],
+ fixInfo: null,
+ lineNumber: 38,
+ ruleDescription: 'Link text should be descriptive',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md059.md',
+ ruleNames: [
+ 'MD059',
+ 'descriptive-link-text',
+ ],
+ },
+ ],
+ fixed: `# Descriptive Link Text␊
+ ␊
+ [Learn about Javascript](https://example.com/javascript/about)␊
+ ␊
+ [About Javascript](https://example.com/file.txt)␊
+ ␊
+ Learn about [our mission](https://example.com/mission).␊
+ ␊
+ Go [here](https://example.com/descriptive-links) {MD059}␊
+ ␊
+ [Learn more](https://example.com/images/about) about us.␊
+ ␊
+ [Click here](https://example.com/dir/file.txt). {MD059}␊
+ ␊
+ [Read more](https://example.com/guide).␊
+ ␊
+ To get more support, go [here!](https://example.com/contact). {MD059}␊
+ ␊
+ Learn [more](https://example.com/contact). {MD059}␊
+ ␊
+ To learn more, [click here!!!!](https://example.com/about). {MD059}␊
+ ␊
+ [click-here!!!!](https://example.com/first). {MD059}␊
+ ␊
+ Go to this [link](https://example.com/second). {MD059}␊
+ ␊
+ [link][Example URL] {MD059}␊
+ ␊
+ [Example URL]: https://example.com␊
+ ␊
+ {MD059} [click␊
+ here](https://example.com)␊
+ ␊
+ [link](destination) {MD059}␊
+ [link](destination) {MD039} {MD059}␊
+ [*link*](destination) {MD059}␊
+ [*link*](destination) {MD049} {MD059}␊
+ [~~link~~](destination) {MD059}␊
+ [\`link\`](destination)␊
+ [](destination) {MD033}␊
+ `,
+ }
+
+## emoji-headings.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '##️⃣ Keycap Number Sign {MD018...',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 3,
+ ],
+ fixInfo: {
+ editColumn: 3,
+ insertText: ' ',
+ },
+ lineNumber: 11,
+ ruleDescription: 'No space after hash on atx style heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md018.md',
+ ruleNames: [
+ 'MD018',
+ 'no-missing-space-atx',
+ ],
+ },
+ ],
+ fixed: `# Emoji Headings␊
+ ␊
+ #️⃣ Keycap Number Sign␊
+ ␊
+ ␊
+ ␊
+ # #️⃣ Keycap Number Sign␊
+ ␊
+ Text␊
+ ␊
+ ## ️⃣ Keycap Number Sign {MD018}␊
+ ␊
+ Text␊
+ ␊
+ # Keycap Number Sign #️⃣␊
+ ␊
+ Text␊
+ ␊
+ # Keycap Number Sign#️⃣␊
+ ␊
+ Text␊
+ ␊
+ ␊
+ `,
+ }
+
+## emphasis-markers.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 9,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 9,
+ insertText: '_',
+ },
+ lineNumber: 5,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 13,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 13,
+ insertText: '_',
+ },
+ lineNumber: 5,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 7,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 7,
+ insertText: '_',
+ },
+ lineNumber: 8,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 11,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 11,
+ insertText: '_',
+ },
+ lineNumber: 8,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 7,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 7,
+ insertText: '_',
+ },
+ lineNumber: 12,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 11,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 11,
+ insertText: '_',
+ },
+ lineNumber: 12,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 9,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 9,
+ insertText: '**',
+ },
+ lineNumber: 14,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 14,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 14,
+ insertText: '**',
+ },
+ lineNumber: 14,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 7,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 7,
+ insertText: '**',
+ },
+ lineNumber: 17,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 12,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 12,
+ insertText: '**',
+ },
+ lineNumber: 17,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 7,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 7,
+ insertText: '**',
+ },
+ lineNumber: 21,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 12,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 12,
+ insertText: '**',
+ },
+ lineNumber: 21,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ ],
+ fixed: `# Emphasis Markers␊
+ ␊
+ Text to _set_ the **preferences**.␊
+ ␊
+ This is _bad_ {MD049}␊
+ ␊
+ This \`is␊
+ also\` _bad_ {MD049}␊
+ ␊
+ This \`is␊
+ also␊
+ very\` _bad_ {MD049}␊
+ ␊
+ This is **bad** {MD050}␊
+ ␊
+ This \`is␊
+ also\` **bad** {MD050}␊
+ ␊
+ This \`is␊
+ also␊
+ very\` **bad** {MD050}␊
+ ␊
+ HTML __should__ *be* ignored
␊
+ ␊
+ ␊
+ HTML __should__ *be* ignored␊
+
␊
+ ␊
+ ␊
+ `,
+ }
+
+## emphasis-not-heading-in-blockquote.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ insertText: '_',
+ },
+ lineNumber: 11,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 8,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 8,
+ insertText: '_',
+ },
+ lineNumber: 11,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 3,
+ insertText: '_',
+ },
+ lineNumber: 15,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 18,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 18,
+ insertText: '_',
+ },
+ lineNumber: 15,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ ],
+ fixed: `# Heading␊
+ ␊
+ > _Text_␊
+ ␊
+ Text␊
+ ␊
+ > _Text text text_␊
+ ␊
+ Text␊
+ ␊
+ > _Text_ {MD049}␊
+ ␊
+ Text␊
+ ␊
+ > _Text text text_ {MD049}␊
+ ␊
+ Text␊
+ ␊
+ > **Text**␊
+ ␊
+ Text␊
+ ␊
+ > **Text text text**␊
+ `,
+ }
+
+## emphasis_instead_of_headings.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: 'Section 1: the first section {...',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 3,
+ ruleDescription: 'Emphasis used instead of a heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md036.md',
+ ruleNames: [
+ 'MD036',
+ 'no-emphasis-as-heading',
+ ],
+ },
+ {
+ errorContext: 'Section 1.1: another section {...',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 12,
+ ruleDescription: 'Emphasis used instead of a heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md036.md',
+ ruleNames: [
+ 'MD036',
+ 'no-emphasis-as-heading',
+ ],
+ },
+ {
+ errorContext: 'Section 2: yet more sections {...',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 21,
+ ruleDescription: 'Emphasis used instead of a heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md036.md',
+ ruleNames: [
+ 'MD036',
+ 'no-emphasis-as-heading',
+ ],
+ },
+ {
+ errorContext: 'Section 3: oh no more sections...',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 30,
+ ruleDescription: 'Emphasis used instead of a heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md036.md',
+ ruleNames: [
+ 'MD036',
+ 'no-emphasis-as-heading',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 1,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: '*',
+ },
+ lineNumber: 30,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 48,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 48,
+ insertText: '*',
+ },
+ lineNumber: 30,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 1,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 1,
+ insertText: '**',
+ },
+ lineNumber: 12,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 47,
+ 2,
+ ],
+ fixInfo: {
+ deleteCount: 2,
+ editColumn: 47,
+ insertText: '**',
+ },
+ lineNumber: 12,
+ ruleDescription: 'Strong style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md050.md',
+ ruleNames: [
+ 'MD050',
+ 'strong-style',
+ ],
+ },
+ ],
+ fixed: `# emphasis_instead_of_headings␊
+ ␊
+ **Section 1: the first section {MD036}**␊
+ ␊
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor␊
+ incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis␊
+ nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.␊
+ Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore␊
+ eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt␊
+ in culpa qui officia deserunt mollit anim id est laborum.␊
+ ␊
+ **Section 1.1: another section {MD036} {MD050}**␊
+ ␊
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor␊
+ incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis␊
+ nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.␊
+ Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore␊
+ eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt␊
+ in culpa qui officia deserunt mollit anim id est laborum.␊
+ ␊
+ *Section 2: yet more sections {MD036}*␊
+ ␊
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor␊
+ incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis␊
+ nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.␊
+ Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore␊
+ eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt␊
+ in culpa qui officia deserunt mollit anim id est laborum.␊
+ ␊
+ *Section 3: oh no more sections {MD036} {MD049}*␊
+ ␊
+ This is a normal paragraph␊
+ **that just happens to have emphasized text in**␊
+ even though the emphasized text is on its own line.␊
+ ␊
+ This is another **normal** paragraph with some text in it. This also should␊
+ not trigger the rule.␊
+ ␊
+ **This is an entire paragraph that has been emphasized, and shouldn't be␊
+ detected as a heading because it's on multiple lines**␊
+ ␊
+ **This also shouldn't be detected as a heading as it ends in punctuation.**␊
+ ␊
+ **This shouldn't be detected as a heading as it ends in full-width punctuation。**␊
+ ␊
+ **[This as well since it is a link](https://example.com)**␊
+ `,
+ }
+
+## emphasis_style_asterisk.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 1,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: '*',
+ },
+ lineNumber: 9,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 6,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 6,
+ insertText: '*',
+ },
+ lineNumber: 9,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 6,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 6,
+ insertText: '*',
+ },
+ lineNumber: 11,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 9,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 9,
+ insertText: '*',
+ },
+ lineNumber: 11,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 9,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 9,
+ insertText: '*',
+ },
+ lineNumber: 13,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: asterisk; Actual: underscore',
+ errorRange: [
+ 13,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 13,
+ insertText: '*',
+ },
+ lineNumber: 13,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ ],
+ fixed: `# Emphasis style asterisk␊
+ ␊
+ *This* is fine␊
+ ␊
+ This *is* fine␊
+ ␊
+ This is *fine*␊
+ ␊
+ *This* is not␊
+ ␊
+ This *is* not␊
+ ␊
+ This is *not*␊
+ ␊
+ {MD049:-2} {MD049:-4} {MD049:-6}␊
+ ␊
+ Internal emphasis is preserved:␊
+ apple*banana*cherry, apple*banana*, *banana*cherry␊
+ apple_banana_cherry, apple_banana_, _banana_cherry␊
+ ␊
+ ␊
+ `,
+ }
+
+## emphasis_style_underscore.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 1,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 1,
+ insertText: '_',
+ },
+ lineNumber: 9,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 6,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 6,
+ insertText: '_',
+ },
+ lineNumber: 9,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 6,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 6,
+ insertText: '_',
+ },
+ lineNumber: 11,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 9,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 9,
+ insertText: '_',
+ },
+ lineNumber: 11,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 9,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 9,
+ insertText: '_',
+ },
+ lineNumber: 13,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: underscore; Actual: asterisk',
+ errorRange: [
+ 13,
+ 1,
+ ],
+ fixInfo: {
+ deleteCount: 1,
+ editColumn: 13,
+ insertText: '_',
+ },
+ lineNumber: 13,
+ ruleDescription: 'Emphasis style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md049.md',
+ ruleNames: [
+ 'MD049',
+ 'emphasis-style',
+ ],
+ },
+ ],
+ fixed: `# Emphasis style underscore␊
+ ␊
+ _This_ is fine␊
+ ␊
+ This _is_ fine␊
+ ␊
+ This is _fine_␊
+ ␊
+ _This_ is not␊
+ ␊
+ This _is_ not␊
+ ␊
+ This is _not_␊
+ ␊
+ {MD049:-2} {MD049:-4} {MD049:-6}␊
+ ␊
+ Internal emphasis is preserved:␊
+ apple*banana*cherry, apple*banana*, *banana*cherry␊
+ apple_banana_cherry, apple_banana_, _banana_cherry␊
+ ␊
+ ␊
+ `,
+ }
+
+## empty-links.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '[text]()',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 8,
+ ],
+ fixInfo: null,
+ lineNumber: 5,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ {
+ errorContext: '[text](<>)',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 10,
+ ],
+ fixInfo: null,
+ lineNumber: 7,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ {
+ errorContext: '[text]( <> )',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 12,
+ ],
+ fixInfo: null,
+ lineNumber: 9,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ {
+ errorContext: '[text](<> "title")',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 18,
+ ],
+ fixInfo: null,
+ lineNumber: 11,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ {
+ errorContext: '[text]( <> "title" )',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 20,
+ ],
+ fixInfo: null,
+ lineNumber: 13,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ {
+ errorContext: '[text](#)',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 9,
+ ],
+ fixInfo: null,
+ lineNumber: 15,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ {
+ errorContext: '[text]( # )',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 11,
+ ],
+ fixInfo: null,
+ lineNumber: 17,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ {
+ errorContext: '[text](# "title")',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 17,
+ ],
+ fixInfo: null,
+ lineNumber: 19,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ {
+ errorContext: '[text]( # "title" )',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 19,
+ ],
+ fixInfo: null,
+ lineNumber: 21,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ {
+ errorContext: '[text][frag]',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 12,
+ ],
+ fixInfo: null,
+ lineNumber: 23,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ {
+ errorContext: '[text][ frag ]',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 14,
+ ],
+ fixInfo: null,
+ lineNumber: 25,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ {
+ errorContext: '[frag][]',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 8,
+ ],
+ fixInfo: null,
+ lineNumber: 27,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ {
+ errorContext: '[frag]',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 6,
+ ],
+ fixInfo: null,
+ lineNumber: 29,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ {
+ errorContext: '[text]()',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 8,
+ ],
+ fixInfo: null,
+ lineNumber: 74,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ {
+ errorContext: '[text]()',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 8,
+ ],
+ fixInfo: null,
+ lineNumber: 78,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ {
+ errorContext: '[text]()',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 8,
+ ],
+ fixInfo: null,
+ lineNumber: 80,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ {
+ errorContext: '[text]()',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 8,
+ ],
+ fixInfo: null,
+ lineNumber: 83,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ {
+ errorContext: '[text]()',
+ errorDetail: null,
+ errorRange: [
+ 1,
+ 8,
+ ],
+ fixInfo: null,
+ lineNumber: 85,
+ ruleDescription: 'No empty links',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md042.md',
+ ruleNames: [
+ 'MD042',
+ 'no-empty-links',
+ ],
+ },
+ ],
+ fixed: `# Heading␊
+ ␊
+ ## Empty links␊
+ ␊
+ [text]() {MD042}␊
+ ␊
+ [text](<>) {MD042}␊
+ ␊
+ [text]( <> ) {MD042}␊
+ ␊
+ [text](<> "title") {MD042}␊
+ ␊
+ [text]( <> "title" ) {MD042}␊
+ ␊
+ [text](#) {MD042}␊
+ ␊
+ [text]( # ) {MD042}␊
+ ␊
+ [text](# "title") {MD042}␊
+ ␊
+ [text]( # "title" ) {MD042}␊
+ ␊
+ [text][frag] {MD042}␊
+ ␊
+ [text][ frag ] {MD042}␊
+ ␊
+ [frag][] {MD042}␊
+ ␊
+ [frag] {MD042}␊
+ ␊
+ [frag]: #␊
+ ␊
+ ## Non-empty links␊
+ ␊
+ ### frag␊
+ ␊
+ [text](link)␊
+ ␊
+ [text]( link )␊
+ ␊
+ [text](link "title")␊
+ ␊
+ [text]( link "title" )␊
+ ␊
+ [text]()␊
+ ␊
+ [text]( )␊
+ ␊
+ [text]( "title")␊
+ ␊
+ [text]( "title" )␊
+ ␊
+ [text](#frag)␊
+ ␊
+ [text]( #frag )␊
+ ␊
+ [text](#frag "title")␊
+ ␊
+ [text]( #frag "title" )␊
+ ␊
+ [text][ref]␊
+ ␊
+ [text][ ref ]␊
+ ␊
+ [ref]: link␊
+ ␊
+ [text]␊
+ ␊
+ [text]: link␊
+ ␊
+ ## Inline of links with empty link (#308)␊
+ ␊
+ [text](link-1)␊
+ [text]() {MD042}␊
+ [text](link-3)␊
+ ␊
+ [text](link-1)␊
+ [text]() {MD042}␊
+ [text](link-3)␊
+ [text]() {MD042}␊
+ ␊
+ [text](link-1)␊
+ [text]() {MD042}␊
+ [text](link-3)␊
+ [text]() {MD042}␊
+ [text](link-5)␊
+ `,
+ }
+
+## empty_doc.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: '',
+ }
+
+## escaped-emphasis-markers.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `# Heading␊
+ ␊
+ ## Single-character markers␊
+ ␊
+ None are valid emphasis without spaces.␊
+ ␊
+ Escaped asterisks \\* should \\* be ignored by MD037.␊
+ ␊
+ Escaped asterisks \\* should * be ignored by MD037.␊
+ ␊
+ Escaped asterisks * should \\* be ignored by MD037.␊
+ ␊
+ Escaped underscores \\_ should \\_ be ignored by MD037.␊
+ ␊
+ Escaped underscores \\_ should _ be ignored by MD037.␊
+ ␊
+ Escaped underscores _ should \\_ be ignored by MD037.␊
+ ␊
+ ## Double-character markers, start␊
+ ␊
+ All *could* be reported because they are valid single-character␊
+ marker emphasis when no spaces are present.␊
+ ␊
+ Escaped asterisks \\** should ** be ignored by MD037.␊
+ ␊
+ Escaped asterisks *\\* should ** be ignored by MD037.␊
+ ␊
+ Escaped underscores \\__ should __ be ignored by MD037.␊
+ ␊
+ Escaped underscores _\\_ should __ be ignored by MD037.␊
+ ␊
+ ## Double-character markers, end␊
+ ␊
+ All should be reported, but are ignored because they look like␊
+ the start of an embedded emphasis.␊
+ ␊
+ Escaped asterisks ** should \\** be ignored by MD037.␊
+ ␊
+ Escaped asterisks ** should *\\* be ignored by MD037.␊
+ ␊
+ Escaped underscores __ should \\__ be ignored by MD037.␊
+ ␊
+ Escaped underscores __ should _\\_ be ignored by MD037.␊
+ `,
+ }
+
+## every-markdown-syntax.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `Every Markdown Syntax␊
+ =====================␊
+ ␊
+ ## Level 2 ATX Heading␊
+ ␊
+ ### Level 3 Closed ATX Heading ###␊
+ ␊
+ ---␊
+ ␊
+ Text *emphasized* **strong** ___emphasized+strong___.␊
+ Text \`code\` html .␊
+ Text [link](https://example.com/page) [link][] [link] ![image][link].␊
+ Text https://example.com/page.␊
+ ␊
+ Hard ␊
+ line break␊
+ ␊
+ [link]: https://example.com/page "Title"␊
+ ␊
+ > Block quote␊
+ > > Nested␊
+ ␊
+ - Unordered␊
+ - List␊
+ - Items␊
+ Indented␊
+ ␊
+ Content␊
+ ␊
+ 1. Ordered␊
+ 2. List␊
+ 1. Items␊
+ Indented␊
+ ␊
+ Content␊
+ ␊
+ \`\`\`markdown options␊
+ Fenced code block␊
+ \`\`\`␊
+ ␊
+ Indented code block␊
+ ␊
+ ␊
+ HTML block␊
+
␊
+ ␊
+ | Table | Heading |␊
+ | ----- | ------- |␊
+ | Table | Cell |␊
+ ␊
+ ␊
+ `,
+ }
+
+## fenced-code-in-list.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `# Heading␊
+ ␊
+ - Item␊
+ ␊
+ \`\`\`javascript␊
+ debugger;␊
+ ␊
+ ␊
+ debugger;␊
+ \`\`\`␊
+ ␊
+ text␊
+ ␊
+ - Item␊
+ ␊
+ - Subitem␊
+ ␊
+ \`\`\`javascript␊
+ debugger;␊
+ ␊
+ ␊
+ debugger;␊
+ \`\`\`␊
+ ␊
+ text␊
+ ␊
+ - Subitem␊
+ ␊
+ - Item␊
+ ␊
+ - Subitem␊
+ ␊
+ \`\`\`javascript␊
+ debugger; debugger; debugger; debugger; debugger; debugger; debugger; debugger; debugger; debugger;␊
+ \`\`\`␊
+ ␊
+ ␊
+ `,
+ }
+
+## fenced-code-unmatched.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `# Heading␊
+ ␊
+ Text␊
+ ␊
+ \`\`\`code\`\`\`␊
+ ␊
+ Text␊
+ ␊
+ \`\`\`javascript␊
+ var x = 5;␊
+ \`\`\`␊
+ ␊
+ Text␊
+ `,
+ }
+
+## fenced_code_blocks.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 25,
+ ruleDescription: 'Fenced code blocks should have a language specified',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md040.md',
+ ruleNames: [
+ 'MD040',
+ 'fenced-code-language',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: backtick; Actual: tilde',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 15,
+ ruleDescription: 'Code fence style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md048.md',
+ ruleNames: [
+ 'MD048',
+ 'code-fence-style',
+ ],
+ },
+ ],
+ fixed: `# fenced_code_blocks␊
+ ␊
+ This is a GFM-style fenced code block:␊
+ ␊
+ \`\`\` bash␊
+ #!/bin/bash␊
+ ␊
+ # Print something to stdout:␊
+ echo "Hello"␊
+ echo "World"␊
+ \`\`\`␊
+ ␊
+ This is a kramdown-style fenced code block:␊
+ ␊
+ ~~~ bash␊
+ #!/bin/bash␊
+ ␊
+ # Print something to stdout:␊
+ echo "Hello"␊
+ echo "World"␊
+ ~~~␊
+ ␊
+ None of the above should trigger any heading related rules.␊
+ ␊
+ \`\`\`␊
+ Code block without a language specifier␊
+ \`\`\`␊
+ ␊
+ {MD040:25} {MD048:15}␊
+ `,
+ }
+
+## fenced_code_blocks_in_lists.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: null,
+ errorDetail: 'Expected: fenced; Actual: indented',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 17,
+ ruleDescription: 'Code block style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md046.md',
+ ruleNames: [
+ 'MD046',
+ 'code-block-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: fenced; Actual: indented',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 23,
+ ruleDescription: 'Code block style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md046.md',
+ ruleNames: [
+ 'MD046',
+ 'code-block-style',
+ ],
+ },
+ ],
+ fixed: `# test doc␊
+ ␊
+ this is some text␊
+ ␊
+ * This is a list item␊
+ ␊
+ \`\`\`fenced␊
+ this is a code block within the list item.␊
+ \`\`\`␊
+ ␊
+ with more text here␊
+ ␊
+ * and another list item here␊
+ ␊
+ And another paragraph.␊
+ ␊
+ But this code block {MD046}␊
+ ␊
+ is *NOT* in a list and should error.␊
+ ␊
+ And in addition to that...␊
+ ␊
+ \`\`\`text␊
+ This code block is both indented␊
+ and fenced and should *also* error.␊
+ \`\`\`␊
+ ␊
+ And finally:␊
+ ␊
+ \`\`\`text␊
+ This is a code block␊
+ ␊
+ And this is a code block in a code block and should *not* error␊
+ ␊
+ More stuff here␊
+ \`\`\`␊
+ ␊
+ all␊
+ ␊
+ {MD046:23}␊
+ `,
+ }
+
+## fenced_code_with_nesting.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '```fence',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 4,
+ },
+ lineNumber: 4,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 7,
+ },
+ lineNumber: 6,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '~~~fence',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 8,
+ },
+ lineNumber: 8,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '~~~',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 11,
+ },
+ lineNumber: 10,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '```fence',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 12,
+ },
+ lineNumber: 12,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 17,
+ },
+ lineNumber: 16,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '~~~fence',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 18,
+ },
+ lineNumber: 18,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '~~~',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 23,
+ },
+ lineNumber: 22,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '```fence',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 24,
+ },
+ lineNumber: 24,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 31,
+ },
+ lineNumber: 30,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '~~~fence',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 32,
+ },
+ lineNumber: 32,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '~~~',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 39,
+ },
+ lineNumber: 38,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '```fence',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 40,
+ },
+ lineNumber: 40,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 44,
+ },
+ lineNumber: 43,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '~~~fence',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 45,
+ },
+ lineNumber: 45,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '~~~',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 49,
+ },
+ lineNumber: 48,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '````fence',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 50,
+ },
+ lineNumber: 50,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '````',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 55,
+ },
+ lineNumber: 54,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '~~~~fence',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 56,
+ },
+ lineNumber: 56,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '~~~~',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 61,
+ },
+ lineNumber: 60,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '````fence',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 62,
+ },
+ lineNumber: 62,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '`````',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 67,
+ },
+ lineNumber: 66,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '~~~~fence',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 68,
+ },
+ lineNumber: 68,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '~~~~~',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 73,
+ },
+ lineNumber: 72,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: backtick; Actual: tilde',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 8,
+ ruleDescription: 'Code fence style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md048.md',
+ ruleNames: [
+ 'MD048',
+ 'code-fence-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: backtick; Actual: tilde',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 18,
+ ruleDescription: 'Code fence style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md048.md',
+ ruleNames: [
+ 'MD048',
+ 'code-fence-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: backtick; Actual: tilde',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 32,
+ ruleDescription: 'Code fence style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md048.md',
+ ruleNames: [
+ 'MD048',
+ 'code-fence-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: backtick; Actual: tilde',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 45,
+ ruleDescription: 'Code fence style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md048.md',
+ ruleNames: [
+ 'MD048',
+ 'code-fence-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: backtick; Actual: tilde',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 56,
+ ruleDescription: 'Code fence style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md048.md',
+ ruleNames: [
+ 'MD048',
+ 'code-fence-style',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: 'Expected: backtick; Actual: tilde',
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 68,
+ ruleDescription: 'Code fence style',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md048.md',
+ ruleNames: [
+ 'MD048',
+ 'code-fence-style',
+ ],
+ },
+ ],
+ fixed: `# heading␊
+ ␊
+ text {MD031:4}␊
+ ␊
+ \`\`\`fence␊
+ code {MD031:6}␊
+ \`\`\`␊
+ ␊
+ text {MD031:8} {MD048:8}␊
+ ␊
+ ~~~fence␊
+ code␊
+ ~~~␊
+ ␊
+ text {MD031:10} {MD031:12}␊
+ ␊
+ \`\`\`fence␊
+ ~~~fence␊
+ code␊
+ ~~~␊
+ \`\`\`␊
+ ␊
+ text {MD031:16} {MD031:18} {MD048:18}␊
+ ␊
+ ~~~fence␊
+ \`\`\`fence␊
+ code␊
+ \`\`\`␊
+ ~~~␊
+ ␊
+ text {MD031:22} {MD031:24}␊
+ ␊
+ \`\`\`fence␊
+ ␊
+ ~~~fence␊
+ code␊
+ ~~~␊
+ ␊
+ \`\`\`␊
+ ␊
+ text {MD031:30} {MD031:32} {MD048:32}␊
+ ␊
+ ~~~fence␊
+ ␊
+ \`\`\`fence␊
+ code␊
+ \`\`\`␊
+ ␊
+ ~~~␊
+ ␊
+ text {MD031:38} {MD031:40}␊
+ ␊
+ \`\`\`fence␊
+ code␊
+ ~~~␊
+ \`\`\`␊
+ ␊
+ text {MD031:43} {MD031:45} {MD048:45}␊
+ ␊
+ ~~~fence␊
+ code␊
+ \`\`\`␊
+ ~~~␊
+ ␊
+ text {MD031:48} {MD031:50}␊
+ ␊
+ \`\`\`\`fence␊
+ \`\`\`fence␊
+ code␊
+ \`\`\`␊
+ \`\`\`\`␊
+ ␊
+ text {MD031:54} {MD031:56} {MD048:56}␊
+ ␊
+ ~~~~fence␊
+ ~~~fence␊
+ code␊
+ ~~~␊
+ ~~~~␊
+ ␊
+ text {MD031:60} {MD031:62}␊
+ ␊
+ \`\`\`\`fence␊
+ \`\`\`fence␊
+ code␊
+ \`\`\`␊
+ \`\`\`\`\`␊
+ ␊
+ text {MD031:66} {MD031:68} {MD048:68}␊
+ ␊
+ ~~~~fence␊
+ ~~~fence␊
+ code␊
+ ~~~␊
+ ~~~~~␊
+ ␊
+ text {MD031:72}␊
+ `,
+ }
+
+## fenced_code_without_blank_lines.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 12,
+ },
+ lineNumber: 12,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 15,
+ },
+ lineNumber: 14,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 20,
+ },
+ lineNumber: 19,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: '```',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: {
+ insertText: `␊
+ `,
+ lineNumber: 23,
+ },
+ lineNumber: 23,
+ ruleDescription: 'Fenced code blocks should be surrounded by blank lines',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md031.md',
+ ruleNames: [
+ 'MD031',
+ 'blanks-around-fences',
+ ],
+ },
+ {
+ errorContext: null,
+ errorDetail: null,
+ errorRange: [
+ 3,
+ 1,
+ ],
+ fixInfo: {
+ editColumn: 4,
+ insertText: `␊
+ `,
+ },
+ lineNumber: 47,
+ ruleDescription: 'Files should end with a single newline character',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md047.md',
+ ruleNames: [
+ 'MD047',
+ 'single-trailing-newline',
+ ],
+ },
+ ],
+ fixed: `\`\`\`␊
+ code at start of file␊
+ \`\`\`␊
+ ␊
+ text␊
+ ␊
+ \`\`\`ruby␊
+ code␊
+ \`\`\`␊
+ ␊
+ text␊
+ ␊
+ \`\`\`␊
+ code␊
+ \`\`\`␊
+ ␊
+ text {MD031:12} {MD031:14}␊
+ ␊
+ \`\`\`␊
+ code␊
+ \`\`\`␊
+ ␊
+ text {MD031:19}␊
+ ␊
+ text {MD031:23}␊
+ ␊
+ \`\`\`␊
+ code␊
+ \`\`\`␊
+ ␊
+ text␊
+ ␊
+ \`\`\`js␊
+ code␊
+ code␊
+ code␊
+ \`\`\`␊
+ ␊
+ \`\`\`html␊
+ \`\`\`␊
+ ␊
+ text␊
+ ␊
+ ␊
+ ␊
+ \`\`\`␊
+ code at end of file without newline {MD047:47}␊
+ \`\`\`␊
+ `,
+ }
+
+## first-line-heading-allow-preamble-false.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: 'Text {MD041}',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 1,
+ ruleDescription: 'First line in a file should be a top-level heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md041.md',
+ ruleNames: [
+ 'MD041',
+ 'first-line-heading',
+ 'first-line-h1',
+ ],
+ },
+ ],
+ fixed: `Text {MD041}␊
+ ␊
+ ␊
+ ␊
+ Text␊
+ ␊
+ HTML
␊
+ ␊
+ Text␊
+ ␊
+ - List item␊
+ ␊
+ # Heading␊
+ ␊
+ Text␊
+ ␊
+ ␊
+ `,
+ }
+
+## first-line-heading-allow-preamble-h1.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `Text␊
+ ␊
+ ␊
+ ␊
+ Text␊
+ ␊
+ HTML
␊
+ ␊
+ Text␊
+ ␊
+ - List item␊
+ ␊
+ Heading
␊
+ ␊
+ Text␊
+ ␊
+ ␊
+ `,
+ }
+
+## first-line-heading-allow-preamble-violation.md
+
+> Snapshot 1
+
+ {
+ errors: [
+ {
+ errorContext: '## Heading {MD041}',
+ errorDetail: null,
+ errorRange: null,
+ fixInfo: null,
+ lineNumber: 13,
+ ruleDescription: 'First line in a file should be a top-level heading',
+ ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md041.md',
+ ruleNames: [
+ 'MD041',
+ 'first-line-heading',
+ 'first-line-h1',
+ ],
+ },
+ ],
+ fixed: `Text␊
+ ␊
+ ␊
+ ␊
+ Text␊
+ ␊
+ HTML
␊
+ ␊
+ Text␊
+ ␊
+ - List item␊
+ ␊
+ ## Heading {MD041}␊
+ ␊
+ Text␊
+ ␊
+ ␊
+ `,
+ }
+
+## first-line-heading-allow-preamble.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `Text␊
+ ␊
+ ␊
+ ␊
+ Text␊
+ ␊
+ HTML
␊
+ ␊
+ Text␊
+ ␊
+ - List item␊
+ ␊
+ # Heading␊
+ ␊
+ Text␊
+ ␊
+ ␊
+ `,
+ }
+
+## first_heading_bad_atx.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `## Heading␊
+ ␊
+ ␊
+ `,
+ }
+
+## first_heading_bad_setext.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `Heading␊
+ -------␊
+ ␊
+ ␊
+ `,
+ }
+
+## first_heading_good_atx.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `# Heading␊
+ `,
+ }
+
+## first_heading_good_setext.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `Heading␊
+ =======␊
+ `,
+ }
+
+## first_line_top_level_heading_atx.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `# First line is a top level heading␊
+ ␊
+ This shouldn't trigger MD041␊
+ `,
+ }
+
+## first_line_top_level_heading_setext.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `First line top level heading␊
+ ============================␊
+ ␊
+ This shouldn't trigger MD041␊
+ `,
+ }
+
+## fix_102_extra_nodes_in_link_text.md
+
+> Snapshot 1
+
+ {
+ errors: [],
+ fixed: `# fix_102_extra_nodes_in_link_text␊
+ ␊
+ [test _test_ test](www.test.com)␊
+ [test \`test\` test](www.test.com)␊
+ [test *test* test](www.test.com)␊
+ [test *test* *test* test](www.test.com)␊
+ [test *test* *test* *test* test](www.test.com)␊
+ [test **test** test](www.test.com)␊
+ [test __test__ test](www.test.com)␊
+ [this should not raise](www.shouldnotraise.com)␊
+ ␊
+ ␊
+ `,
+ }
diff --git a/test/snapshots/markdownlint-test-scenarios-1.mjs.snap b/test/snapshots/markdownlint-test-scenarios-1.mjs.snap
new file mode 100644
index 0000000000000000000000000000000000000000..144f77bc3e76cdb3bf393266fd5703deac42fb21
GIT binary patch
literal 68063
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
Y_p~WPpe?@p{ep>BLc`3;Rsh
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