From c4b5d1f937e86ad35a6b482b7ed0cb3b79f410d2 Mon Sep 17 00:00:00 2001 From: David Anson Date: Sat, 13 Sep 2025 15:35:07 -0700 Subject: [PATCH] Refactor configuration schema to use oneOf instead of type:Array for better extensibility. --- doc-build/build-rules.mjs | 7 +- schema/build-config-example.mjs | 7 +- schema/build-config-schema.mjs | 80 +- schema/markdownlint-config-schema-strict.json | 3292 ++++++++++------- schema/markdownlint-config-schema.json | 3292 ++++++++++------- 5 files changed, 3780 insertions(+), 2898 deletions(-) diff --git a/doc-build/build-rules.mjs b/doc-build/build-rules.mjs index a9bca536..a1626a2c 100644 --- a/doc-build/build-rules.mjs +++ b/doc-build/build-rules.mjs @@ -61,13 +61,14 @@ for (const rule of rules) { "" ); const ruleData = schema.properties[name]; - if (ruleData.properties) { + const ruleProperties = ruleData.oneOf.at(-1).properties; + if (ruleProperties) { section.push( "Parameters:", "" ); - for (const property of Object.keys(ruleData.properties).toSorted()) { - const propData = ruleData.properties[property]; + for (const property of Object.keys(ruleProperties).toSorted()) { + const propData = ruleProperties[property]; const propType = [ propData.type ] .flat() .map((type) => ((type === "array") ? `${propData.items.type}[]` : type)) diff --git a/schema/build-config-example.mjs b/schema/build-config-example.mjs index 7b09f6a1..9e259b6d 100644 --- a/schema/build-config-example.mjs +++ b/schema/build-config-example.mjs @@ -12,11 +12,12 @@ for (const rule in configSchema.properties) { const properties = configSchema.properties[rule]; configExample[rule + "-description"] = properties.description; configExample[rule] = properties.default; - if (properties.properties) { + const subproperties = properties.oneOf?.at(-1).properties; + if (subproperties) { const ruleExample = {}; // eslint-disable-next-line guard-for-in - for (const property in properties.properties) { - const ruleProperties = properties.properties[property]; + for (const property in subproperties) { + const ruleProperties = subproperties[property]; ruleExample[property + "-sub-description"] = ruleProperties.description; ruleExample[property] = ruleProperties.default; } diff --git a/schema/build-config-schema.mjs b/schema/build-config-schema.mjs index 6d78792e..d9ef9803 100644 --- a/schema/build-config-schema.mjs +++ b/schema/build-config-schema.mjs @@ -27,7 +27,10 @@ const schema = { }, "default": { "description": "Default state for all rules", - "type": "boolean", + "oneOf": [ + { "type": "boolean" } + // { "enum": [ "error", "warning" ] } + ], "default": true }, "extends": { @@ -59,13 +62,20 @@ for (const rule of rules) { const scheme = { "description": `${rule.names.join("/")} : ${rule.description} : ${rule.information}`, - "type": "boolean", + "oneOf": [ + { "type": "boolean" } + // { "enum": [ "error", "warning" ] } + ], "default": true }; + const subscheme = { + "type": "object", + "additionalProperties": false + }; let custom = true; switch (ruleName) { case "MD001": - scheme.properties = { + subscheme.properties = { "front_matter_title": { "description": "RegExp for matching title in front matter", "type": "string", @@ -74,7 +84,7 @@ for (const rule of rules) { }; break; case "MD003": - scheme.properties = { + subscheme.properties = { "style": { "description": "Heading style", "type": "string", @@ -91,7 +101,7 @@ for (const rule of rules) { }; break; case "MD004": - scheme.properties = { + subscheme.properties = { "style": { "description": "List style", "type": "string", @@ -107,7 +117,7 @@ for (const rule of rules) { }; break; case "MD007": - scheme.properties = { + subscheme.properties = { "indent": { "description": "Spaces for indent", "type": "integer", @@ -129,7 +139,7 @@ for (const rule of rules) { }; break; case "MD009": - scheme.properties = { + subscheme.properties = { "br_spaces": { "description": "Spaces for line break", "type": "integer", @@ -149,7 +159,7 @@ for (const rule of rules) { }; break; case "MD010": - scheme.properties = { + subscheme.properties = { "code_blocks": { "description": "Include code blocks", "type": "boolean", @@ -172,7 +182,7 @@ for (const rule of rules) { }; break; case "MD012": - scheme.properties = { + subscheme.properties = { "maximum": { "description": "Consecutive blank lines", "type": "integer", @@ -182,7 +192,7 @@ for (const rule of rules) { }; break; case "MD013": - scheme.properties = { + subscheme.properties = { "line_length": { "description": "Number of characters", "type": "integer", @@ -229,7 +239,7 @@ for (const rule of rules) { }; break; case "MD022": - scheme.properties = { + subscheme.properties = { "lines_above": { "description": "Blank lines above heading", "type": [ @@ -257,7 +267,7 @@ for (const rule of rules) { }; break; case "MD024": - scheme.properties = { + subscheme.properties = { "siblings_only": { "description": "Only check sibling headings", "type": "boolean", @@ -267,7 +277,7 @@ for (const rule of rules) { break; case "MD026": case "MD036": - scheme.properties = { + subscheme.properties = { "punctuation": { "description": "Punctuation characters", "type": "string", @@ -276,7 +286,7 @@ for (const rule of rules) { }; break; case "MD027": - scheme.properties = { + subscheme.properties = { "list_items": { "description": "Include list items", "type": "boolean", @@ -285,7 +295,7 @@ for (const rule of rules) { }; break; case "MD029": - scheme.properties = { + subscheme.properties = { "style": { "description": "List style", "type": "string", @@ -300,7 +310,7 @@ for (const rule of rules) { }; break; case "MD030": - scheme.properties = { + subscheme.properties = { "ul_single": { "description": "Spaces for single-line unordered list items", "type": "integer", @@ -328,7 +338,7 @@ for (const rule of rules) { }; break; case "MD031": - scheme.properties = { + subscheme.properties = { "list_items": { "description": "Include list items", "type": "boolean", @@ -337,7 +347,7 @@ for (const rule of rules) { }; break; case "MD033": - scheme.properties = { + subscheme.properties = { "allowed_elements": { "description": "Allowed elements", "type": "array", @@ -357,7 +367,7 @@ for (const rule of rules) { }; break; case "MD035": - scheme.properties = { + subscheme.properties = { "style": { "description": "Horizontal rule style", "type": "string", @@ -366,7 +376,7 @@ for (const rule of rules) { }; break; case "MD040": - scheme.properties = { + subscheme.properties = { "allowed_languages": { "description": "List of languages", "type": "array", @@ -394,7 +404,7 @@ for (const rule of rules) { } } : {}; - scheme.properties = { + subscheme.properties = { ...md041Properties, "front_matter_title": { "description": "RegExp for matching title in front matter", @@ -412,7 +422,7 @@ for (const rule of rules) { } break; case "MD043": - scheme.properties = { + subscheme.properties = { "headings": { "description": "List of headings", "type": "array", @@ -430,7 +440,7 @@ for (const rule of rules) { }; break; case "MD044": - scheme.properties = { + subscheme.properties = { "names": { "description": "List of proper names", "type": "array", @@ -452,7 +462,7 @@ for (const rule of rules) { }; break; case "MD046": - scheme.properties = { + subscheme.properties = { "style": { "description": "Block style", "type": "string", @@ -466,7 +476,7 @@ for (const rule of rules) { }; break; case "MD048": - scheme.properties = { + subscheme.properties = { "style": { "description": "Code fence style", "type": "string", @@ -481,7 +491,7 @@ for (const rule of rules) { break; case "MD049": case "MD050": - scheme.properties = { + subscheme.properties = { "style": { "description": (ruleName === "MD049") ? "Emphasis style" : "Strong style", "type": "string", @@ -495,7 +505,7 @@ for (const rule of rules) { }; break; case "MD051": - scheme.properties = { + subscheme.properties = { "ignore_case": { "description": "Ignore case of fragments", "type": "boolean", @@ -509,7 +519,7 @@ for (const rule of rules) { }; break; case "MD052": - scheme.properties = { + subscheme.properties = { "ignored_labels": { "description": "Ignored link labels", "type": "array", @@ -526,7 +536,7 @@ for (const rule of rules) { }; break; case "MD053": - scheme.properties = { + subscheme.properties = { "ignored_definitions": { "description": "Ignored definitions", "type": "array", @@ -538,7 +548,7 @@ for (const rule of rules) { }; break; case "MD054": - scheme.properties = { + subscheme.properties = { "autolink": { "description": "Allow autolinks", "type": "boolean", @@ -572,7 +582,7 @@ for (const rule of rules) { }; break; case "MD055": - scheme.properties = { + subscheme.properties = { "style": { "description": "Table pipe style", "type": "string", @@ -588,7 +598,7 @@ for (const rule of rules) { }; break; case "MD059": - scheme.properties = { + subscheme.properties = { "prohibited_texts": { "description": "Prohibited link texts", "type": "array", @@ -605,7 +615,7 @@ for (const rule of rules) { }; break; case "MD060": - scheme.properties = { + subscheme.properties = { "style": { "description": "Table column style", "type": "string", @@ -624,9 +634,7 @@ for (const rule of rules) { break; } if (custom) { - // @ts-ignore - scheme.type = [ "boolean", "object" ]; - scheme.additionalProperties = false; + scheme.oneOf.push(subscheme); } for (const name of rule.names) { schema.properties[name] = scheme; diff --git a/schema/markdownlint-config-schema-strict.json b/schema/markdownlint-config-schema-strict.json index 51a8d193..924f8857 100644 --- a/schema/markdownlint-config-schema-strict.json +++ b/schema/markdownlint-config-schema-strict.json @@ -11,7 +11,11 @@ }, "default": { "description": "Default state for all rules", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "extends": { @@ -24,1894 +28,2326 @@ }, "MD001": { "description": "MD001/heading-increment : Heading levels should only increment by one level at a time : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md001.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "front_matter_title": { - "description": "RegExp for matching title in front matter", - "type": "string", - "default": "^\\s*title\\s*[:=]" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "heading-increment": { "description": "MD001/heading-increment : Heading levels should only increment by one level at a time : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md001.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "front_matter_title": { - "description": "RegExp for matching title in front matter", - "type": "string", - "default": "^\\s*title\\s*[:=]" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD003": { "description": "MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md003.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Heading style", - "type": "string", - "enum": [ - "consistent", - "atx", - "atx_closed", - "setext", - "setext_with_atx", - "setext_with_atx_closed" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Heading style", + "type": "string", + "enum": [ + "consistent", + "atx", + "atx_closed", + "setext", + "setext_with_atx", + "setext_with_atx_closed" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "heading-style": { "description": "MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md003.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Heading style", - "type": "string", - "enum": [ - "consistent", - "atx", - "atx_closed", - "setext", - "setext_with_atx", - "setext_with_atx_closed" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Heading style", + "type": "string", + "enum": [ + "consistent", + "atx", + "atx_closed", + "setext", + "setext_with_atx", + "setext_with_atx_closed" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD004": { "description": "MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md004.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "List style", - "type": "string", - "enum": [ - "consistent", - "asterisk", - "plus", - "dash", - "sublist" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "List style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "plus", + "dash", + "sublist" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "ul-style": { "description": "MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md004.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "List style", - "type": "string", - "enum": [ - "consistent", - "asterisk", - "plus", - "dash", - "sublist" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "List style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "plus", + "dash", + "sublist" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD005": { "description": "MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md005.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "list-indent": { "description": "MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md005.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD007": { "description": "MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md007.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "indent": { - "description": "Spaces for indent", - "type": "integer", - "minimum": 1, - "default": 2 + "oneOf": [ + { + "type": "boolean" }, - "start_indented": { - "description": "Whether to indent the first level of the list", - "type": "boolean", - "default": false - }, - "start_indent": { - "description": "Spaces for first level indent (when start_indented is set)", - "type": "integer", - "minimum": 1, - "default": 2 + { + "type": "object", + "additionalProperties": false, + "properties": { + "indent": { + "description": "Spaces for indent", + "type": "integer", + "minimum": 1, + "default": 2 + }, + "start_indented": { + "description": "Whether to indent the first level of the list", + "type": "boolean", + "default": false + }, + "start_indent": { + "description": "Spaces for first level indent (when start_indented is set)", + "type": "integer", + "minimum": 1, + "default": 2 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "ul-indent": { "description": "MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md007.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "indent": { - "description": "Spaces for indent", - "type": "integer", - "minimum": 1, - "default": 2 + "oneOf": [ + { + "type": "boolean" }, - "start_indented": { - "description": "Whether to indent the first level of the list", - "type": "boolean", - "default": false - }, - "start_indent": { - "description": "Spaces for first level indent (when start_indented is set)", - "type": "integer", - "minimum": 1, - "default": 2 + { + "type": "object", + "additionalProperties": false, + "properties": { + "indent": { + "description": "Spaces for indent", + "type": "integer", + "minimum": 1, + "default": 2 + }, + "start_indented": { + "description": "Whether to indent the first level of the list", + "type": "boolean", + "default": false + }, + "start_indent": { + "description": "Spaces for first level indent (when start_indented is set)", + "type": "integer", + "minimum": 1, + "default": 2 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD009": { "description": "MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md009.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "br_spaces": { - "description": "Spaces for line break", - "type": "integer", - "minimum": 0, - "default": 2 + "oneOf": [ + { + "type": "boolean" }, - "list_item_empty_lines": { - "description": "Allow spaces for empty lines in list items", - "type": "boolean", - "default": false - }, - "strict": { - "description": "Include unnecessary breaks", - "type": "boolean", - "default": false + { + "type": "object", + "additionalProperties": false, + "properties": { + "br_spaces": { + "description": "Spaces for line break", + "type": "integer", + "minimum": 0, + "default": 2 + }, + "list_item_empty_lines": { + "description": "Allow spaces for empty lines in list items", + "type": "boolean", + "default": false + }, + "strict": { + "description": "Include unnecessary breaks", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "no-trailing-spaces": { "description": "MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md009.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "br_spaces": { - "description": "Spaces for line break", - "type": "integer", - "minimum": 0, - "default": 2 + "oneOf": [ + { + "type": "boolean" }, - "list_item_empty_lines": { - "description": "Allow spaces for empty lines in list items", - "type": "boolean", - "default": false - }, - "strict": { - "description": "Include unnecessary breaks", - "type": "boolean", - "default": false + { + "type": "object", + "additionalProperties": false, + "properties": { + "br_spaces": { + "description": "Spaces for line break", + "type": "integer", + "minimum": 0, + "default": 2 + }, + "list_item_empty_lines": { + "description": "Allow spaces for empty lines in list items", + "type": "boolean", + "default": false + }, + "strict": { + "description": "Include unnecessary breaks", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD010": { "description": "MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md010.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "code_blocks": { - "description": "Include code blocks", - "type": "boolean", - "default": true + "oneOf": [ + { + "type": "boolean" }, - "ignore_code_languages": { - "description": "Fenced code languages to ignore", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "spaces_per_tab": { - "description": "Number of spaces for each hard tab", - "type": "integer", - "minimum": 0, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "code_blocks": { + "description": "Include code blocks", + "type": "boolean", + "default": true + }, + "ignore_code_languages": { + "description": "Fenced code languages to ignore", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "spaces_per_tab": { + "description": "Number of spaces for each hard tab", + "type": "integer", + "minimum": 0, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "no-hard-tabs": { "description": "MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md010.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "code_blocks": { - "description": "Include code blocks", - "type": "boolean", - "default": true + "oneOf": [ + { + "type": "boolean" }, - "ignore_code_languages": { - "description": "Fenced code languages to ignore", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "spaces_per_tab": { - "description": "Number of spaces for each hard tab", - "type": "integer", - "minimum": 0, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "code_blocks": { + "description": "Include code blocks", + "type": "boolean", + "default": true + }, + "ignore_code_languages": { + "description": "Fenced code languages to ignore", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "spaces_per_tab": { + "description": "Number of spaces for each hard tab", + "type": "integer", + "minimum": 0, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD011": { "description": "MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md011.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-reversed-links": { "description": "MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md011.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD012": { "description": "MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md012.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "maximum": { - "description": "Consecutive blank lines", - "type": "integer", - "minimum": 1, - "default": 1 + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "maximum": { + "description": "Consecutive blank lines", + "type": "integer", + "minimum": 1, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "no-multiple-blanks": { "description": "MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md012.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "maximum": { - "description": "Consecutive blank lines", - "type": "integer", - "minimum": 1, - "default": 1 + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "maximum": { + "description": "Consecutive blank lines", + "type": "integer", + "minimum": 1, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD013": { "description": "MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md013.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "line_length": { - "description": "Number of characters", - "type": "integer", - "minimum": 1, - "default": 80 + "oneOf": [ + { + "type": "boolean" }, - "heading_line_length": { - "description": "Number of characters for headings", - "type": "integer", - "minimum": 1, - "default": 80 - }, - "code_block_line_length": { - "description": "Number of characters for code blocks", - "type": "integer", - "minimum": 1, - "default": 80 - }, - "code_blocks": { - "description": "Include code blocks", - "type": "boolean", - "default": true - }, - "tables": { - "description": "Include tables", - "type": "boolean", - "default": true - }, - "headings": { - "description": "Include headings", - "type": "boolean", - "default": true - }, - "strict": { - "description": "Strict length checking", - "type": "boolean", - "default": false - }, - "stern": { - "description": "Stern length checking", - "type": "boolean", - "default": false + { + "type": "object", + "additionalProperties": false, + "properties": { + "line_length": { + "description": "Number of characters", + "type": "integer", + "minimum": 1, + "default": 80 + }, + "heading_line_length": { + "description": "Number of characters for headings", + "type": "integer", + "minimum": 1, + "default": 80 + }, + "code_block_line_length": { + "description": "Number of characters for code blocks", + "type": "integer", + "minimum": 1, + "default": 80 + }, + "code_blocks": { + "description": "Include code blocks", + "type": "boolean", + "default": true + }, + "tables": { + "description": "Include tables", + "type": "boolean", + "default": true + }, + "headings": { + "description": "Include headings", + "type": "boolean", + "default": true + }, + "strict": { + "description": "Strict length checking", + "type": "boolean", + "default": false + }, + "stern": { + "description": "Stern length checking", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "line-length": { "description": "MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md013.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "line_length": { - "description": "Number of characters", - "type": "integer", - "minimum": 1, - "default": 80 + "oneOf": [ + { + "type": "boolean" }, - "heading_line_length": { - "description": "Number of characters for headings", - "type": "integer", - "minimum": 1, - "default": 80 - }, - "code_block_line_length": { - "description": "Number of characters for code blocks", - "type": "integer", - "minimum": 1, - "default": 80 - }, - "code_blocks": { - "description": "Include code blocks", - "type": "boolean", - "default": true - }, - "tables": { - "description": "Include tables", - "type": "boolean", - "default": true - }, - "headings": { - "description": "Include headings", - "type": "boolean", - "default": true - }, - "strict": { - "description": "Strict length checking", - "type": "boolean", - "default": false - }, - "stern": { - "description": "Stern length checking", - "type": "boolean", - "default": false + { + "type": "object", + "additionalProperties": false, + "properties": { + "line_length": { + "description": "Number of characters", + "type": "integer", + "minimum": 1, + "default": 80 + }, + "heading_line_length": { + "description": "Number of characters for headings", + "type": "integer", + "minimum": 1, + "default": 80 + }, + "code_block_line_length": { + "description": "Number of characters for code blocks", + "type": "integer", + "minimum": 1, + "default": 80 + }, + "code_blocks": { + "description": "Include code blocks", + "type": "boolean", + "default": true + }, + "tables": { + "description": "Include tables", + "type": "boolean", + "default": true + }, + "headings": { + "description": "Include headings", + "type": "boolean", + "default": true + }, + "strict": { + "description": "Strict length checking", + "type": "boolean", + "default": false + }, + "stern": { + "description": "Stern length checking", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD014": { "description": "MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md014.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "commands-show-output": { "description": "MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md014.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD018": { "description": "MD018/no-missing-space-atx : No space after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md018.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-missing-space-atx": { "description": "MD018/no-missing-space-atx : No space after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md018.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD019": { "description": "MD019/no-multiple-space-atx : Multiple spaces after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md019.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-multiple-space-atx": { "description": "MD019/no-multiple-space-atx : Multiple spaces after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md019.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD020": { "description": "MD020/no-missing-space-closed-atx : No space inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md020.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-missing-space-closed-atx": { "description": "MD020/no-missing-space-closed-atx : No space inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md020.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD021": { "description": "MD021/no-multiple-space-closed-atx : Multiple spaces inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md021.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-multiple-space-closed-atx": { "description": "MD021/no-multiple-space-closed-atx : Multiple spaces inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md021.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD022": { "description": "MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md022.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "lines_above": { - "description": "Blank lines above heading", - "type": [ - "integer", - "array" - ], - "items": { - "type": "integer" - }, - "minimum": -1, - "default": 1 + "oneOf": [ + { + "type": "boolean" }, - "lines_below": { - "description": "Blank lines below heading", - "type": [ - "integer", - "array" - ], - "items": { - "type": "integer" - }, - "minimum": -1, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "lines_above": { + "description": "Blank lines above heading", + "type": [ + "integer", + "array" + ], + "items": { + "type": "integer" + }, + "minimum": -1, + "default": 1 + }, + "lines_below": { + "description": "Blank lines below heading", + "type": [ + "integer", + "array" + ], + "items": { + "type": "integer" + }, + "minimum": -1, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "blanks-around-headings": { "description": "MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md022.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "lines_above": { - "description": "Blank lines above heading", - "type": [ - "integer", - "array" - ], - "items": { - "type": "integer" - }, - "minimum": -1, - "default": 1 + "oneOf": [ + { + "type": "boolean" }, - "lines_below": { - "description": "Blank lines below heading", - "type": [ - "integer", - "array" - ], - "items": { - "type": "integer" - }, - "minimum": -1, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "lines_above": { + "description": "Blank lines above heading", + "type": [ + "integer", + "array" + ], + "items": { + "type": "integer" + }, + "minimum": -1, + "default": 1 + }, + "lines_below": { + "description": "Blank lines below heading", + "type": [ + "integer", + "array" + ], + "items": { + "type": "integer" + }, + "minimum": -1, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD023": { "description": "MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md023.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "heading-start-left": { "description": "MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md023.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD024": { "description": "MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md024.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "siblings_only": { - "description": "Only check sibling headings", - "type": "boolean", - "default": false + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "siblings_only": { + "description": "Only check sibling headings", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "no-duplicate-heading": { "description": "MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md024.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "siblings_only": { - "description": "Only check sibling headings", - "type": "boolean", - "default": false + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "siblings_only": { + "description": "Only check sibling headings", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD025": { "description": "MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md025.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "front_matter_title": { - "description": "RegExp for matching title in front matter", - "type": "string", - "default": "^\\s*title\\s*[:=]" + "oneOf": [ + { + "type": "boolean" }, - "level": { - "description": "Heading level", - "type": "integer", - "minimum": 1, - "maximum": 6, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + }, + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "single-title": { "description": "MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md025.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "front_matter_title": { - "description": "RegExp for matching title in front matter", - "type": "string", - "default": "^\\s*title\\s*[:=]" + "oneOf": [ + { + "type": "boolean" }, - "level": { - "description": "Heading level", - "type": "integer", - "minimum": 1, - "maximum": 6, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + }, + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "single-h1": { "description": "MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md025.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "front_matter_title": { - "description": "RegExp for matching title in front matter", - "type": "string", - "default": "^\\s*title\\s*[:=]" + "oneOf": [ + { + "type": "boolean" }, - "level": { - "description": "Heading level", - "type": "integer", - "minimum": 1, - "maximum": 6, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + }, + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD026": { "description": "MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md026.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "punctuation": { - "description": "Punctuation characters", - "type": "string", - "default": ".,;:!。,;:!" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "punctuation": { + "description": "Punctuation characters", + "type": "string", + "default": ".,;:!。,;:!" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "no-trailing-punctuation": { "description": "MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md026.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "punctuation": { - "description": "Punctuation characters", - "type": "string", - "default": ".,;:!。,;:!" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "punctuation": { + "description": "Punctuation characters", + "type": "string", + "default": ".,;:!。,;:!" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD027": { "description": "MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md027.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "list_items": { - "description": "Include list items", - "type": "boolean", - "default": true + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "list_items": { + "description": "Include list items", + "type": "boolean", + "default": true + } + } } - }, - "additionalProperties": false + ], + "default": true }, "no-multiple-space-blockquote": { "description": "MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md027.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "list_items": { - "description": "Include list items", - "type": "boolean", - "default": true + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "list_items": { + "description": "Include list items", + "type": "boolean", + "default": true + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD028": { "description": "MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md028.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-blanks-blockquote": { "description": "MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md028.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD029": { "description": "MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md029.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "List style", - "type": "string", - "enum": [ - "one", - "ordered", - "one_or_ordered", - "zero" - ], - "default": "one_or_ordered" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "List style", + "type": "string", + "enum": [ + "one", + "ordered", + "one_or_ordered", + "zero" + ], + "default": "one_or_ordered" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "ol-prefix": { "description": "MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md029.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "List style", - "type": "string", - "enum": [ - "one", - "ordered", - "one_or_ordered", - "zero" - ], - "default": "one_or_ordered" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "List style", + "type": "string", + "enum": [ + "one", + "ordered", + "one_or_ordered", + "zero" + ], + "default": "one_or_ordered" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD030": { "description": "MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md030.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "ul_single": { - "description": "Spaces for single-line unordered list items", - "type": "integer", - "minimum": 1, - "default": 1 + "oneOf": [ + { + "type": "boolean" }, - "ol_single": { - "description": "Spaces for single-line ordered list items", - "type": "integer", - "minimum": 1, - "default": 1 - }, - "ul_multi": { - "description": "Spaces for multi-line unordered list items", - "type": "integer", - "minimum": 1, - "default": 1 - }, - "ol_multi": { - "description": "Spaces for multi-line ordered list items", - "type": "integer", - "minimum": 1, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "ul_single": { + "description": "Spaces for single-line unordered list items", + "type": "integer", + "minimum": 1, + "default": 1 + }, + "ol_single": { + "description": "Spaces for single-line ordered list items", + "type": "integer", + "minimum": 1, + "default": 1 + }, + "ul_multi": { + "description": "Spaces for multi-line unordered list items", + "type": "integer", + "minimum": 1, + "default": 1 + }, + "ol_multi": { + "description": "Spaces for multi-line ordered list items", + "type": "integer", + "minimum": 1, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "list-marker-space": { "description": "MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md030.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "ul_single": { - "description": "Spaces for single-line unordered list items", - "type": "integer", - "minimum": 1, - "default": 1 + "oneOf": [ + { + "type": "boolean" }, - "ol_single": { - "description": "Spaces for single-line ordered list items", - "type": "integer", - "minimum": 1, - "default": 1 - }, - "ul_multi": { - "description": "Spaces for multi-line unordered list items", - "type": "integer", - "minimum": 1, - "default": 1 - }, - "ol_multi": { - "description": "Spaces for multi-line ordered list items", - "type": "integer", - "minimum": 1, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "ul_single": { + "description": "Spaces for single-line unordered list items", + "type": "integer", + "minimum": 1, + "default": 1 + }, + "ol_single": { + "description": "Spaces for single-line ordered list items", + "type": "integer", + "minimum": 1, + "default": 1 + }, + "ul_multi": { + "description": "Spaces for multi-line unordered list items", + "type": "integer", + "minimum": 1, + "default": 1 + }, + "ol_multi": { + "description": "Spaces for multi-line ordered list items", + "type": "integer", + "minimum": 1, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD031": { "description": "MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md031.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "list_items": { - "description": "Include list items", - "type": "boolean", - "default": true + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "list_items": { + "description": "Include list items", + "type": "boolean", + "default": true + } + } } - }, - "additionalProperties": false + ], + "default": true }, "blanks-around-fences": { "description": "MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md031.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "list_items": { - "description": "Include list items", - "type": "boolean", - "default": true + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "list_items": { + "description": "Include list items", + "type": "boolean", + "default": true + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD032": { "description": "MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md032.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "blanks-around-lists": { "description": "MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md032.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD033": { "description": "MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md033.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "allowed_elements": { - "description": "Allowed elements", - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "oneOf": [ + { + "type": "boolean" }, - "table_allowed_elements": { - "description": "Allowed elements in tables", - "type": "array", - "items": { - "type": "string" - }, - "default": [] + { + "type": "object", + "additionalProperties": false, + "properties": { + "allowed_elements": { + "description": "Allowed elements", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "table_allowed_elements": { + "description": "Allowed elements in tables", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + } + } } - }, - "additionalProperties": false + ], + "default": true }, "no-inline-html": { "description": "MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md033.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "allowed_elements": { - "description": "Allowed elements", - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "oneOf": [ + { + "type": "boolean" }, - "table_allowed_elements": { - "description": "Allowed elements in tables", - "type": "array", - "items": { - "type": "string" - }, - "default": [] + { + "type": "object", + "additionalProperties": false, + "properties": { + "allowed_elements": { + "description": "Allowed elements", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "table_allowed_elements": { + "description": "Allowed elements in tables", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD034": { "description": "MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md034.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-bare-urls": { "description": "MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md034.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD035": { "description": "MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md035.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Horizontal rule style", - "type": "string", - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Horizontal rule style", + "type": "string", + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "hr-style": { "description": "MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md035.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Horizontal rule style", - "type": "string", - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Horizontal rule style", + "type": "string", + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD036": { "description": "MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md036.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "punctuation": { - "description": "Punctuation characters", - "type": "string", - "default": ".,;:!?。,;:!?" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "punctuation": { + "description": "Punctuation characters", + "type": "string", + "default": ".,;:!?。,;:!?" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "no-emphasis-as-heading": { "description": "MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md036.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "punctuation": { - "description": "Punctuation characters", - "type": "string", - "default": ".,;:!?。,;:!?" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "punctuation": { + "description": "Punctuation characters", + "type": "string", + "default": ".,;:!?。,;:!?" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD037": { "description": "MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md037.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-space-in-emphasis": { "description": "MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md037.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD038": { "description": "MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md038.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-space-in-code": { "description": "MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md038.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD039": { "description": "MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md039.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-space-in-links": { "description": "MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md039.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD040": { "description": "MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md040.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "allowed_languages": { - "description": "List of languages", - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "oneOf": [ + { + "type": "boolean" }, - "language_only": { - "description": "Require language only", - "type": "boolean", - "default": false + { + "type": "object", + "additionalProperties": false, + "properties": { + "allowed_languages": { + "description": "List of languages", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "language_only": { + "description": "Require language only", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "fenced-code-language": { "description": "MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md040.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "allowed_languages": { - "description": "List of languages", - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "oneOf": [ + { + "type": "boolean" }, - "language_only": { - "description": "Require language only", - "type": "boolean", - "default": false + { + "type": "object", + "additionalProperties": false, + "properties": { + "allowed_languages": { + "description": "List of languages", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "language_only": { + "description": "Require language only", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD041": { "description": "MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md041.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "allow_preamble": { - "description": "Allow content before first heading", - "type": "boolean", - "default": false + "oneOf": [ + { + "type": "boolean" }, - "front_matter_title": { - "description": "RegExp for matching title in front matter", - "type": "string", - "default": "^\\s*title\\s*[:=]" - }, - "level": { - "description": "Heading level", - "type": "integer", - "minimum": 1, - "maximum": 6, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "allow_preamble": { + "description": "Allow content before first heading", + "type": "boolean", + "default": false + }, + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + }, + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "first-line-heading": { "description": "MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md041.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "allow_preamble": { - "description": "Allow content before first heading", - "type": "boolean", - "default": false + "oneOf": [ + { + "type": "boolean" }, - "front_matter_title": { - "description": "RegExp for matching title in front matter", - "type": "string", - "default": "^\\s*title\\s*[:=]" - }, - "level": { - "description": "Heading level", - "type": "integer", - "minimum": 1, - "maximum": 6, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "allow_preamble": { + "description": "Allow content before first heading", + "type": "boolean", + "default": false + }, + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + }, + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "first-line-h1": { "description": "MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md041.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "allow_preamble": { - "description": "Allow content before first heading", - "type": "boolean", - "default": false + "oneOf": [ + { + "type": "boolean" }, - "front_matter_title": { - "description": "RegExp for matching title in front matter", - "type": "string", - "default": "^\\s*title\\s*[:=]" - }, - "level": { - "description": "Heading level", - "type": "integer", - "minimum": 1, - "maximum": 6, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "allow_preamble": { + "description": "Allow content before first heading", + "type": "boolean", + "default": false + }, + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + }, + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD042": { "description": "MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md042.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-empty-links": { "description": "MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md042.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD043": { "description": "MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md043.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "headings": { - "description": "List of headings", - "type": "array", - "items": { - "type": "string", - "pattern": "^(\\*|\\+|\\?|#{1,6}\\s+\\S.*)$" - }, - "default": [] + "oneOf": [ + { + "type": "boolean" }, - "match_case": { - "description": "Match case of headings", - "type": "boolean", - "default": false + { + "type": "object", + "additionalProperties": false, + "properties": { + "headings": { + "description": "List of headings", + "type": "array", + "items": { + "type": "string", + "pattern": "^(\\*|\\+|\\?|#{1,6}\\s+\\S.*)$" + }, + "default": [] + }, + "match_case": { + "description": "Match case of headings", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "required-headings": { "description": "MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md043.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "headings": { - "description": "List of headings", - "type": "array", - "items": { - "type": "string", - "pattern": "^(\\*|\\+|\\?|#{1,6}\\s+\\S.*)$" - }, - "default": [] + "oneOf": [ + { + "type": "boolean" }, - "match_case": { - "description": "Match case of headings", - "type": "boolean", - "default": false + { + "type": "object", + "additionalProperties": false, + "properties": { + "headings": { + "description": "List of headings", + "type": "array", + "items": { + "type": "string", + "pattern": "^(\\*|\\+|\\?|#{1,6}\\s+\\S.*)$" + }, + "default": [] + }, + "match_case": { + "description": "Match case of headings", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD044": { "description": "MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md044.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "names": { - "description": "List of proper names", - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "oneOf": [ + { + "type": "boolean" }, - "code_blocks": { - "description": "Include code blocks", - "type": "boolean", - "default": true - }, - "html_elements": { - "description": "Include HTML elements", - "type": "boolean", - "default": true + { + "type": "object", + "additionalProperties": false, + "properties": { + "names": { + "description": "List of proper names", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "code_blocks": { + "description": "Include code blocks", + "type": "boolean", + "default": true + }, + "html_elements": { + "description": "Include HTML elements", + "type": "boolean", + "default": true + } + } } - }, - "additionalProperties": false + ], + "default": true }, "proper-names": { "description": "MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md044.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "names": { - "description": "List of proper names", - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "oneOf": [ + { + "type": "boolean" }, - "code_blocks": { - "description": "Include code blocks", - "type": "boolean", - "default": true - }, - "html_elements": { - "description": "Include HTML elements", - "type": "boolean", - "default": true + { + "type": "object", + "additionalProperties": false, + "properties": { + "names": { + "description": "List of proper names", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "code_blocks": { + "description": "Include code blocks", + "type": "boolean", + "default": true + }, + "html_elements": { + "description": "Include HTML elements", + "type": "boolean", + "default": true + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD045": { "description": "MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md045.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-alt-text": { "description": "MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md045.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD046": { "description": "MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md046.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Block style", - "type": "string", - "enum": [ - "consistent", - "fenced", - "indented" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Block style", + "type": "string", + "enum": [ + "consistent", + "fenced", + "indented" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "code-block-style": { "description": "MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md046.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Block style", - "type": "string", - "enum": [ - "consistent", - "fenced", - "indented" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Block style", + "type": "string", + "enum": [ + "consistent", + "fenced", + "indented" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD047": { "description": "MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md047.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "single-trailing-newline": { "description": "MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md047.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD048": { "description": "MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md048.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Code fence style", - "type": "string", - "enum": [ - "consistent", - "backtick", - "tilde" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Code fence style", + "type": "string", + "enum": [ + "consistent", + "backtick", + "tilde" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "code-fence-style": { "description": "MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md048.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Code fence style", - "type": "string", - "enum": [ - "consistent", - "backtick", - "tilde" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Code fence style", + "type": "string", + "enum": [ + "consistent", + "backtick", + "tilde" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD049": { "description": "MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md049.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Emphasis style", - "type": "string", - "enum": [ - "consistent", - "asterisk", - "underscore" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Emphasis style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "underscore" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "emphasis-style": { "description": "MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md049.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Emphasis style", - "type": "string", - "enum": [ - "consistent", - "asterisk", - "underscore" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Emphasis style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "underscore" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD050": { "description": "MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md050.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Strong style", - "type": "string", - "enum": [ - "consistent", - "asterisk", - "underscore" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Strong style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "underscore" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "strong-style": { "description": "MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md050.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Strong style", - "type": "string", - "enum": [ - "consistent", - "asterisk", - "underscore" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Strong style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "underscore" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD051": { "description": "MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md051.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "ignore_case": { - "description": "Ignore case of fragments", - "type": "boolean", - "default": false + "oneOf": [ + { + "type": "boolean" }, - "ignored_pattern": { - "description": "Pattern for ignoring additional fragments", - "type": "string", - "default": "" + { + "type": "object", + "additionalProperties": false, + "properties": { + "ignore_case": { + "description": "Ignore case of fragments", + "type": "boolean", + "default": false + }, + "ignored_pattern": { + "description": "Pattern for ignoring additional fragments", + "type": "string", + "default": "" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "link-fragments": { "description": "MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md051.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "ignore_case": { - "description": "Ignore case of fragments", - "type": "boolean", - "default": false + "oneOf": [ + { + "type": "boolean" }, - "ignored_pattern": { - "description": "Pattern for ignoring additional fragments", - "type": "string", - "default": "" + { + "type": "object", + "additionalProperties": false, + "properties": { + "ignore_case": { + "description": "Ignore case of fragments", + "type": "boolean", + "default": false + }, + "ignored_pattern": { + "description": "Pattern for ignoring additional fragments", + "type": "string", + "default": "" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD052": { "description": "MD052/reference-links-images : Reference links and images should use a label that is defined : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md052.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "ignored_labels": { - "description": "Ignored link labels", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "x" - ] + "oneOf": [ + { + "type": "boolean" }, - "shortcut_syntax": { - "description": "Include shortcut syntax", - "type": "boolean", - "default": false + { + "type": "object", + "additionalProperties": false, + "properties": { + "ignored_labels": { + "description": "Ignored link labels", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "x" + ] + }, + "shortcut_syntax": { + "description": "Include shortcut syntax", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "reference-links-images": { "description": "MD052/reference-links-images : Reference links and images should use a label that is defined : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md052.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "ignored_labels": { - "description": "Ignored link labels", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "x" - ] + "oneOf": [ + { + "type": "boolean" }, - "shortcut_syntax": { - "description": "Include shortcut syntax", - "type": "boolean", - "default": false + { + "type": "object", + "additionalProperties": false, + "properties": { + "ignored_labels": { + "description": "Ignored link labels", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "x" + ] + }, + "shortcut_syntax": { + "description": "Include shortcut syntax", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD053": { "description": "MD053/link-image-reference-definitions : Link and image reference definitions should be needed : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md053.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "ignored_definitions": { - "description": "Ignored definitions", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "//" - ] + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "ignored_definitions": { + "description": "Ignored definitions", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "//" + ] + } + } } - }, - "additionalProperties": false + ], + "default": true }, "link-image-reference-definitions": { "description": "MD053/link-image-reference-definitions : Link and image reference definitions should be needed : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md053.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "ignored_definitions": { - "description": "Ignored definitions", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "//" - ] + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "ignored_definitions": { + "description": "Ignored definitions", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "//" + ] + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD054": { "description": "MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md054.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "autolink": { - "description": "Allow autolinks", - "type": "boolean", - "default": true + "oneOf": [ + { + "type": "boolean" }, - "inline": { - "description": "Allow inline links and images", - "type": "boolean", - "default": true - }, - "full": { - "description": "Allow full reference links and images", - "type": "boolean", - "default": true - }, - "collapsed": { - "description": "Allow collapsed reference links and images", - "type": "boolean", - "default": true - }, - "shortcut": { - "description": "Allow shortcut reference links and images", - "type": "boolean", - "default": true - }, - "url_inline": { - "description": "Allow URLs as inline links", - "type": "boolean", - "default": true + { + "type": "object", + "additionalProperties": false, + "properties": { + "autolink": { + "description": "Allow autolinks", + "type": "boolean", + "default": true + }, + "inline": { + "description": "Allow inline links and images", + "type": "boolean", + "default": true + }, + "full": { + "description": "Allow full reference links and images", + "type": "boolean", + "default": true + }, + "collapsed": { + "description": "Allow collapsed reference links and images", + "type": "boolean", + "default": true + }, + "shortcut": { + "description": "Allow shortcut reference links and images", + "type": "boolean", + "default": true + }, + "url_inline": { + "description": "Allow URLs as inline links", + "type": "boolean", + "default": true + } + } } - }, - "additionalProperties": false + ], + "default": true }, "link-image-style": { "description": "MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md054.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "autolink": { - "description": "Allow autolinks", - "type": "boolean", - "default": true + "oneOf": [ + { + "type": "boolean" }, - "inline": { - "description": "Allow inline links and images", - "type": "boolean", - "default": true - }, - "full": { - "description": "Allow full reference links and images", - "type": "boolean", - "default": true - }, - "collapsed": { - "description": "Allow collapsed reference links and images", - "type": "boolean", - "default": true - }, - "shortcut": { - "description": "Allow shortcut reference links and images", - "type": "boolean", - "default": true - }, - "url_inline": { - "description": "Allow URLs as inline links", - "type": "boolean", - "default": true + { + "type": "object", + "additionalProperties": false, + "properties": { + "autolink": { + "description": "Allow autolinks", + "type": "boolean", + "default": true + }, + "inline": { + "description": "Allow inline links and images", + "type": "boolean", + "default": true + }, + "full": { + "description": "Allow full reference links and images", + "type": "boolean", + "default": true + }, + "collapsed": { + "description": "Allow collapsed reference links and images", + "type": "boolean", + "default": true + }, + "shortcut": { + "description": "Allow shortcut reference links and images", + "type": "boolean", + "default": true + }, + "url_inline": { + "description": "Allow URLs as inline links", + "type": "boolean", + "default": true + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD055": { "description": "MD055/table-pipe-style : Table pipe style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md055.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Table pipe style", - "type": "string", - "enum": [ - "consistent", - "leading_only", - "trailing_only", - "leading_and_trailing", - "no_leading_or_trailing" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Table pipe style", + "type": "string", + "enum": [ + "consistent", + "leading_only", + "trailing_only", + "leading_and_trailing", + "no_leading_or_trailing" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "table-pipe-style": { "description": "MD055/table-pipe-style : Table pipe style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md055.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Table pipe style", - "type": "string", - "enum": [ - "consistent", - "leading_only", - "trailing_only", - "leading_and_trailing", - "no_leading_or_trailing" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Table pipe style", + "type": "string", + "enum": [ + "consistent", + "leading_only", + "trailing_only", + "leading_and_trailing", + "no_leading_or_trailing" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD056": { "description": "MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md056.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "table-column-count": { "description": "MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md056.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD058": { "description": "MD058/blanks-around-tables : Tables should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md058.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "blanks-around-tables": { "description": "MD058/blanks-around-tables : Tables should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md058.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD059": { "description": "MD059/descriptive-link-text : Link text should be descriptive : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md059.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "prohibited_texts": { - "description": "Prohibited link texts", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "click here", - "here", - "link", - "more" - ] + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "prohibited_texts": { + "description": "Prohibited link texts", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "click here", + "here", + "link", + "more" + ] + } + } } - }, - "additionalProperties": false + ], + "default": true }, "descriptive-link-text": { "description": "MD059/descriptive-link-text : Link text should be descriptive : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md059.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "prohibited_texts": { - "description": "Prohibited link texts", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "click here", - "here", - "link", - "more" - ] + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "prohibited_texts": { + "description": "Prohibited link texts", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "click here", + "here", + "link", + "more" + ] + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD060": { "description": "MD060/table-column-style : Table column style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md060.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Table column style", - "type": "string", - "enum": [ - "any", - "aligned", - "compact", - "tight" - ], - "default": "any" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Table column style", + "type": "string", + "enum": [ + "any", + "aligned", + "compact", + "tight" + ], + "default": "any" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "table-column-style": { "description": "MD060/table-column-style : Table column style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md060.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Table column style", - "type": "string", - "enum": [ - "any", - "aligned", - "compact", - "tight" - ], - "default": "any" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Table column style", + "type": "string", + "enum": [ + "any", + "aligned", + "compact", + "tight" + ], + "default": "any" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "headings": { "description": "headings : MD001, MD003, MD018, MD019, MD020, MD021, MD022, MD023, MD024, MD025, MD026, MD036, MD041, MD043", diff --git a/schema/markdownlint-config-schema.json b/schema/markdownlint-config-schema.json index cf6f0bee..6241f3c6 100644 --- a/schema/markdownlint-config-schema.json +++ b/schema/markdownlint-config-schema.json @@ -11,7 +11,11 @@ }, "default": { "description": "Default state for all rules", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "extends": { @@ -24,1894 +28,2326 @@ }, "MD001": { "description": "MD001/heading-increment : Heading levels should only increment by one level at a time : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md001.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "front_matter_title": { - "description": "RegExp for matching title in front matter", - "type": "string", - "default": "^\\s*title\\s*[:=]" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "heading-increment": { "description": "MD001/heading-increment : Heading levels should only increment by one level at a time : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md001.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "front_matter_title": { - "description": "RegExp for matching title in front matter", - "type": "string", - "default": "^\\s*title\\s*[:=]" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD003": { "description": "MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md003.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Heading style", - "type": "string", - "enum": [ - "consistent", - "atx", - "atx_closed", - "setext", - "setext_with_atx", - "setext_with_atx_closed" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Heading style", + "type": "string", + "enum": [ + "consistent", + "atx", + "atx_closed", + "setext", + "setext_with_atx", + "setext_with_atx_closed" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "heading-style": { "description": "MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md003.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Heading style", - "type": "string", - "enum": [ - "consistent", - "atx", - "atx_closed", - "setext", - "setext_with_atx", - "setext_with_atx_closed" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Heading style", + "type": "string", + "enum": [ + "consistent", + "atx", + "atx_closed", + "setext", + "setext_with_atx", + "setext_with_atx_closed" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD004": { "description": "MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md004.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "List style", - "type": "string", - "enum": [ - "consistent", - "asterisk", - "plus", - "dash", - "sublist" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "List style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "plus", + "dash", + "sublist" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "ul-style": { "description": "MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md004.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "List style", - "type": "string", - "enum": [ - "consistent", - "asterisk", - "plus", - "dash", - "sublist" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "List style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "plus", + "dash", + "sublist" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD005": { "description": "MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md005.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "list-indent": { "description": "MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md005.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD007": { "description": "MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md007.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "indent": { - "description": "Spaces for indent", - "type": "integer", - "minimum": 1, - "default": 2 + "oneOf": [ + { + "type": "boolean" }, - "start_indented": { - "description": "Whether to indent the first level of the list", - "type": "boolean", - "default": false - }, - "start_indent": { - "description": "Spaces for first level indent (when start_indented is set)", - "type": "integer", - "minimum": 1, - "default": 2 + { + "type": "object", + "additionalProperties": false, + "properties": { + "indent": { + "description": "Spaces for indent", + "type": "integer", + "minimum": 1, + "default": 2 + }, + "start_indented": { + "description": "Whether to indent the first level of the list", + "type": "boolean", + "default": false + }, + "start_indent": { + "description": "Spaces for first level indent (when start_indented is set)", + "type": "integer", + "minimum": 1, + "default": 2 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "ul-indent": { "description": "MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md007.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "indent": { - "description": "Spaces for indent", - "type": "integer", - "minimum": 1, - "default": 2 + "oneOf": [ + { + "type": "boolean" }, - "start_indented": { - "description": "Whether to indent the first level of the list", - "type": "boolean", - "default": false - }, - "start_indent": { - "description": "Spaces for first level indent (when start_indented is set)", - "type": "integer", - "minimum": 1, - "default": 2 + { + "type": "object", + "additionalProperties": false, + "properties": { + "indent": { + "description": "Spaces for indent", + "type": "integer", + "minimum": 1, + "default": 2 + }, + "start_indented": { + "description": "Whether to indent the first level of the list", + "type": "boolean", + "default": false + }, + "start_indent": { + "description": "Spaces for first level indent (when start_indented is set)", + "type": "integer", + "minimum": 1, + "default": 2 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD009": { "description": "MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md009.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "br_spaces": { - "description": "Spaces for line break", - "type": "integer", - "minimum": 0, - "default": 2 + "oneOf": [ + { + "type": "boolean" }, - "list_item_empty_lines": { - "description": "Allow spaces for empty lines in list items", - "type": "boolean", - "default": false - }, - "strict": { - "description": "Include unnecessary breaks", - "type": "boolean", - "default": false + { + "type": "object", + "additionalProperties": false, + "properties": { + "br_spaces": { + "description": "Spaces for line break", + "type": "integer", + "minimum": 0, + "default": 2 + }, + "list_item_empty_lines": { + "description": "Allow spaces for empty lines in list items", + "type": "boolean", + "default": false + }, + "strict": { + "description": "Include unnecessary breaks", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "no-trailing-spaces": { "description": "MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md009.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "br_spaces": { - "description": "Spaces for line break", - "type": "integer", - "minimum": 0, - "default": 2 + "oneOf": [ + { + "type": "boolean" }, - "list_item_empty_lines": { - "description": "Allow spaces for empty lines in list items", - "type": "boolean", - "default": false - }, - "strict": { - "description": "Include unnecessary breaks", - "type": "boolean", - "default": false + { + "type": "object", + "additionalProperties": false, + "properties": { + "br_spaces": { + "description": "Spaces for line break", + "type": "integer", + "minimum": 0, + "default": 2 + }, + "list_item_empty_lines": { + "description": "Allow spaces for empty lines in list items", + "type": "boolean", + "default": false + }, + "strict": { + "description": "Include unnecessary breaks", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD010": { "description": "MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md010.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "code_blocks": { - "description": "Include code blocks", - "type": "boolean", - "default": true + "oneOf": [ + { + "type": "boolean" }, - "ignore_code_languages": { - "description": "Fenced code languages to ignore", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "spaces_per_tab": { - "description": "Number of spaces for each hard tab", - "type": "integer", - "minimum": 0, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "code_blocks": { + "description": "Include code blocks", + "type": "boolean", + "default": true + }, + "ignore_code_languages": { + "description": "Fenced code languages to ignore", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "spaces_per_tab": { + "description": "Number of spaces for each hard tab", + "type": "integer", + "minimum": 0, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "no-hard-tabs": { "description": "MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md010.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "code_blocks": { - "description": "Include code blocks", - "type": "boolean", - "default": true + "oneOf": [ + { + "type": "boolean" }, - "ignore_code_languages": { - "description": "Fenced code languages to ignore", - "type": "array", - "items": { - "type": "string" - }, - "default": [] - }, - "spaces_per_tab": { - "description": "Number of spaces for each hard tab", - "type": "integer", - "minimum": 0, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "code_blocks": { + "description": "Include code blocks", + "type": "boolean", + "default": true + }, + "ignore_code_languages": { + "description": "Fenced code languages to ignore", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "spaces_per_tab": { + "description": "Number of spaces for each hard tab", + "type": "integer", + "minimum": 0, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD011": { "description": "MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md011.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-reversed-links": { "description": "MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md011.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD012": { "description": "MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md012.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "maximum": { - "description": "Consecutive blank lines", - "type": "integer", - "minimum": 1, - "default": 1 + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "maximum": { + "description": "Consecutive blank lines", + "type": "integer", + "minimum": 1, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "no-multiple-blanks": { "description": "MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md012.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "maximum": { - "description": "Consecutive blank lines", - "type": "integer", - "minimum": 1, - "default": 1 + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "maximum": { + "description": "Consecutive blank lines", + "type": "integer", + "minimum": 1, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD013": { "description": "MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md013.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "line_length": { - "description": "Number of characters", - "type": "integer", - "minimum": 1, - "default": 80 + "oneOf": [ + { + "type": "boolean" }, - "heading_line_length": { - "description": "Number of characters for headings", - "type": "integer", - "minimum": 1, - "default": 80 - }, - "code_block_line_length": { - "description": "Number of characters for code blocks", - "type": "integer", - "minimum": 1, - "default": 80 - }, - "code_blocks": { - "description": "Include code blocks", - "type": "boolean", - "default": true - }, - "tables": { - "description": "Include tables", - "type": "boolean", - "default": true - }, - "headings": { - "description": "Include headings", - "type": "boolean", - "default": true - }, - "strict": { - "description": "Strict length checking", - "type": "boolean", - "default": false - }, - "stern": { - "description": "Stern length checking", - "type": "boolean", - "default": false + { + "type": "object", + "additionalProperties": false, + "properties": { + "line_length": { + "description": "Number of characters", + "type": "integer", + "minimum": 1, + "default": 80 + }, + "heading_line_length": { + "description": "Number of characters for headings", + "type": "integer", + "minimum": 1, + "default": 80 + }, + "code_block_line_length": { + "description": "Number of characters for code blocks", + "type": "integer", + "minimum": 1, + "default": 80 + }, + "code_blocks": { + "description": "Include code blocks", + "type": "boolean", + "default": true + }, + "tables": { + "description": "Include tables", + "type": "boolean", + "default": true + }, + "headings": { + "description": "Include headings", + "type": "boolean", + "default": true + }, + "strict": { + "description": "Strict length checking", + "type": "boolean", + "default": false + }, + "stern": { + "description": "Stern length checking", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "line-length": { "description": "MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md013.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "line_length": { - "description": "Number of characters", - "type": "integer", - "minimum": 1, - "default": 80 + "oneOf": [ + { + "type": "boolean" }, - "heading_line_length": { - "description": "Number of characters for headings", - "type": "integer", - "minimum": 1, - "default": 80 - }, - "code_block_line_length": { - "description": "Number of characters for code blocks", - "type": "integer", - "minimum": 1, - "default": 80 - }, - "code_blocks": { - "description": "Include code blocks", - "type": "boolean", - "default": true - }, - "tables": { - "description": "Include tables", - "type": "boolean", - "default": true - }, - "headings": { - "description": "Include headings", - "type": "boolean", - "default": true - }, - "strict": { - "description": "Strict length checking", - "type": "boolean", - "default": false - }, - "stern": { - "description": "Stern length checking", - "type": "boolean", - "default": false + { + "type": "object", + "additionalProperties": false, + "properties": { + "line_length": { + "description": "Number of characters", + "type": "integer", + "minimum": 1, + "default": 80 + }, + "heading_line_length": { + "description": "Number of characters for headings", + "type": "integer", + "minimum": 1, + "default": 80 + }, + "code_block_line_length": { + "description": "Number of characters for code blocks", + "type": "integer", + "minimum": 1, + "default": 80 + }, + "code_blocks": { + "description": "Include code blocks", + "type": "boolean", + "default": true + }, + "tables": { + "description": "Include tables", + "type": "boolean", + "default": true + }, + "headings": { + "description": "Include headings", + "type": "boolean", + "default": true + }, + "strict": { + "description": "Strict length checking", + "type": "boolean", + "default": false + }, + "stern": { + "description": "Stern length checking", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD014": { "description": "MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md014.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "commands-show-output": { "description": "MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md014.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD018": { "description": "MD018/no-missing-space-atx : No space after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md018.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-missing-space-atx": { "description": "MD018/no-missing-space-atx : No space after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md018.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD019": { "description": "MD019/no-multiple-space-atx : Multiple spaces after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md019.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-multiple-space-atx": { "description": "MD019/no-multiple-space-atx : Multiple spaces after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md019.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD020": { "description": "MD020/no-missing-space-closed-atx : No space inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md020.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-missing-space-closed-atx": { "description": "MD020/no-missing-space-closed-atx : No space inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md020.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD021": { "description": "MD021/no-multiple-space-closed-atx : Multiple spaces inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md021.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-multiple-space-closed-atx": { "description": "MD021/no-multiple-space-closed-atx : Multiple spaces inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md021.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD022": { "description": "MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md022.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "lines_above": { - "description": "Blank lines above heading", - "type": [ - "integer", - "array" - ], - "items": { - "type": "integer" - }, - "minimum": -1, - "default": 1 + "oneOf": [ + { + "type": "boolean" }, - "lines_below": { - "description": "Blank lines below heading", - "type": [ - "integer", - "array" - ], - "items": { - "type": "integer" - }, - "minimum": -1, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "lines_above": { + "description": "Blank lines above heading", + "type": [ + "integer", + "array" + ], + "items": { + "type": "integer" + }, + "minimum": -1, + "default": 1 + }, + "lines_below": { + "description": "Blank lines below heading", + "type": [ + "integer", + "array" + ], + "items": { + "type": "integer" + }, + "minimum": -1, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "blanks-around-headings": { "description": "MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md022.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "lines_above": { - "description": "Blank lines above heading", - "type": [ - "integer", - "array" - ], - "items": { - "type": "integer" - }, - "minimum": -1, - "default": 1 + "oneOf": [ + { + "type": "boolean" }, - "lines_below": { - "description": "Blank lines below heading", - "type": [ - "integer", - "array" - ], - "items": { - "type": "integer" - }, - "minimum": -1, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "lines_above": { + "description": "Blank lines above heading", + "type": [ + "integer", + "array" + ], + "items": { + "type": "integer" + }, + "minimum": -1, + "default": 1 + }, + "lines_below": { + "description": "Blank lines below heading", + "type": [ + "integer", + "array" + ], + "items": { + "type": "integer" + }, + "minimum": -1, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD023": { "description": "MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md023.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "heading-start-left": { "description": "MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md023.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD024": { "description": "MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md024.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "siblings_only": { - "description": "Only check sibling headings", - "type": "boolean", - "default": false + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "siblings_only": { + "description": "Only check sibling headings", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "no-duplicate-heading": { "description": "MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md024.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "siblings_only": { - "description": "Only check sibling headings", - "type": "boolean", - "default": false + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "siblings_only": { + "description": "Only check sibling headings", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD025": { "description": "MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md025.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "front_matter_title": { - "description": "RegExp for matching title in front matter", - "type": "string", - "default": "^\\s*title\\s*[:=]" + "oneOf": [ + { + "type": "boolean" }, - "level": { - "description": "Heading level", - "type": "integer", - "minimum": 1, - "maximum": 6, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + }, + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "single-title": { "description": "MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md025.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "front_matter_title": { - "description": "RegExp for matching title in front matter", - "type": "string", - "default": "^\\s*title\\s*[:=]" + "oneOf": [ + { + "type": "boolean" }, - "level": { - "description": "Heading level", - "type": "integer", - "minimum": 1, - "maximum": 6, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + }, + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "single-h1": { "description": "MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md025.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "front_matter_title": { - "description": "RegExp for matching title in front matter", - "type": "string", - "default": "^\\s*title\\s*[:=]" + "oneOf": [ + { + "type": "boolean" }, - "level": { - "description": "Heading level", - "type": "integer", - "minimum": 1, - "maximum": 6, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + }, + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD026": { "description": "MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md026.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "punctuation": { - "description": "Punctuation characters", - "type": "string", - "default": ".,;:!。,;:!" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "punctuation": { + "description": "Punctuation characters", + "type": "string", + "default": ".,;:!。,;:!" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "no-trailing-punctuation": { "description": "MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md026.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "punctuation": { - "description": "Punctuation characters", - "type": "string", - "default": ".,;:!。,;:!" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "punctuation": { + "description": "Punctuation characters", + "type": "string", + "default": ".,;:!。,;:!" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD027": { "description": "MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md027.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "list_items": { - "description": "Include list items", - "type": "boolean", - "default": true + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "list_items": { + "description": "Include list items", + "type": "boolean", + "default": true + } + } } - }, - "additionalProperties": false + ], + "default": true }, "no-multiple-space-blockquote": { "description": "MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md027.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "list_items": { - "description": "Include list items", - "type": "boolean", - "default": true + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "list_items": { + "description": "Include list items", + "type": "boolean", + "default": true + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD028": { "description": "MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md028.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-blanks-blockquote": { "description": "MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md028.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD029": { "description": "MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md029.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "List style", - "type": "string", - "enum": [ - "one", - "ordered", - "one_or_ordered", - "zero" - ], - "default": "one_or_ordered" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "List style", + "type": "string", + "enum": [ + "one", + "ordered", + "one_or_ordered", + "zero" + ], + "default": "one_or_ordered" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "ol-prefix": { "description": "MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md029.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "List style", - "type": "string", - "enum": [ - "one", - "ordered", - "one_or_ordered", - "zero" - ], - "default": "one_or_ordered" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "List style", + "type": "string", + "enum": [ + "one", + "ordered", + "one_or_ordered", + "zero" + ], + "default": "one_or_ordered" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD030": { "description": "MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md030.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "ul_single": { - "description": "Spaces for single-line unordered list items", - "type": "integer", - "minimum": 1, - "default": 1 + "oneOf": [ + { + "type": "boolean" }, - "ol_single": { - "description": "Spaces for single-line ordered list items", - "type": "integer", - "minimum": 1, - "default": 1 - }, - "ul_multi": { - "description": "Spaces for multi-line unordered list items", - "type": "integer", - "minimum": 1, - "default": 1 - }, - "ol_multi": { - "description": "Spaces for multi-line ordered list items", - "type": "integer", - "minimum": 1, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "ul_single": { + "description": "Spaces for single-line unordered list items", + "type": "integer", + "minimum": 1, + "default": 1 + }, + "ol_single": { + "description": "Spaces for single-line ordered list items", + "type": "integer", + "minimum": 1, + "default": 1 + }, + "ul_multi": { + "description": "Spaces for multi-line unordered list items", + "type": "integer", + "minimum": 1, + "default": 1 + }, + "ol_multi": { + "description": "Spaces for multi-line ordered list items", + "type": "integer", + "minimum": 1, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "list-marker-space": { "description": "MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md030.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "ul_single": { - "description": "Spaces for single-line unordered list items", - "type": "integer", - "minimum": 1, - "default": 1 + "oneOf": [ + { + "type": "boolean" }, - "ol_single": { - "description": "Spaces for single-line ordered list items", - "type": "integer", - "minimum": 1, - "default": 1 - }, - "ul_multi": { - "description": "Spaces for multi-line unordered list items", - "type": "integer", - "minimum": 1, - "default": 1 - }, - "ol_multi": { - "description": "Spaces for multi-line ordered list items", - "type": "integer", - "minimum": 1, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "ul_single": { + "description": "Spaces for single-line unordered list items", + "type": "integer", + "minimum": 1, + "default": 1 + }, + "ol_single": { + "description": "Spaces for single-line ordered list items", + "type": "integer", + "minimum": 1, + "default": 1 + }, + "ul_multi": { + "description": "Spaces for multi-line unordered list items", + "type": "integer", + "minimum": 1, + "default": 1 + }, + "ol_multi": { + "description": "Spaces for multi-line ordered list items", + "type": "integer", + "minimum": 1, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD031": { "description": "MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md031.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "list_items": { - "description": "Include list items", - "type": "boolean", - "default": true + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "list_items": { + "description": "Include list items", + "type": "boolean", + "default": true + } + } } - }, - "additionalProperties": false + ], + "default": true }, "blanks-around-fences": { "description": "MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md031.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "list_items": { - "description": "Include list items", - "type": "boolean", - "default": true + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "list_items": { + "description": "Include list items", + "type": "boolean", + "default": true + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD032": { "description": "MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md032.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "blanks-around-lists": { "description": "MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md032.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD033": { "description": "MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md033.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "allowed_elements": { - "description": "Allowed elements", - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "oneOf": [ + { + "type": "boolean" }, - "table_allowed_elements": { - "description": "Allowed elements in tables", - "type": "array", - "items": { - "type": "string" - }, - "default": [] + { + "type": "object", + "additionalProperties": false, + "properties": { + "allowed_elements": { + "description": "Allowed elements", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "table_allowed_elements": { + "description": "Allowed elements in tables", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + } + } } - }, - "additionalProperties": false + ], + "default": true }, "no-inline-html": { "description": "MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md033.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "allowed_elements": { - "description": "Allowed elements", - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "oneOf": [ + { + "type": "boolean" }, - "table_allowed_elements": { - "description": "Allowed elements in tables", - "type": "array", - "items": { - "type": "string" - }, - "default": [] + { + "type": "object", + "additionalProperties": false, + "properties": { + "allowed_elements": { + "description": "Allowed elements", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "table_allowed_elements": { + "description": "Allowed elements in tables", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD034": { "description": "MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md034.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-bare-urls": { "description": "MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md034.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD035": { "description": "MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md035.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Horizontal rule style", - "type": "string", - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Horizontal rule style", + "type": "string", + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "hr-style": { "description": "MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md035.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Horizontal rule style", - "type": "string", - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Horizontal rule style", + "type": "string", + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD036": { "description": "MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md036.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "punctuation": { - "description": "Punctuation characters", - "type": "string", - "default": ".,;:!?。,;:!?" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "punctuation": { + "description": "Punctuation characters", + "type": "string", + "default": ".,;:!?。,;:!?" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "no-emphasis-as-heading": { "description": "MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md036.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "punctuation": { - "description": "Punctuation characters", - "type": "string", - "default": ".,;:!?。,;:!?" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "punctuation": { + "description": "Punctuation characters", + "type": "string", + "default": ".,;:!?。,;:!?" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD037": { "description": "MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md037.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-space-in-emphasis": { "description": "MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md037.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD038": { "description": "MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md038.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-space-in-code": { "description": "MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md038.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD039": { "description": "MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md039.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-space-in-links": { "description": "MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md039.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD040": { "description": "MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md040.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "allowed_languages": { - "description": "List of languages", - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "oneOf": [ + { + "type": "boolean" }, - "language_only": { - "description": "Require language only", - "type": "boolean", - "default": false + { + "type": "object", + "additionalProperties": false, + "properties": { + "allowed_languages": { + "description": "List of languages", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "language_only": { + "description": "Require language only", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "fenced-code-language": { "description": "MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md040.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "allowed_languages": { - "description": "List of languages", - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "oneOf": [ + { + "type": "boolean" }, - "language_only": { - "description": "Require language only", - "type": "boolean", - "default": false + { + "type": "object", + "additionalProperties": false, + "properties": { + "allowed_languages": { + "description": "List of languages", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "language_only": { + "description": "Require language only", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD041": { "description": "MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md041.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "allow_preamble": { - "description": "Allow content before first heading", - "type": "boolean", - "default": false + "oneOf": [ + { + "type": "boolean" }, - "front_matter_title": { - "description": "RegExp for matching title in front matter", - "type": "string", - "default": "^\\s*title\\s*[:=]" - }, - "level": { - "description": "Heading level", - "type": "integer", - "minimum": 1, - "maximum": 6, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "allow_preamble": { + "description": "Allow content before first heading", + "type": "boolean", + "default": false + }, + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + }, + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "first-line-heading": { "description": "MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md041.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "allow_preamble": { - "description": "Allow content before first heading", - "type": "boolean", - "default": false + "oneOf": [ + { + "type": "boolean" }, - "front_matter_title": { - "description": "RegExp for matching title in front matter", - "type": "string", - "default": "^\\s*title\\s*[:=]" - }, - "level": { - "description": "Heading level", - "type": "integer", - "minimum": 1, - "maximum": 6, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "allow_preamble": { + "description": "Allow content before first heading", + "type": "boolean", + "default": false + }, + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + }, + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "first-line-h1": { "description": "MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md041.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "allow_preamble": { - "description": "Allow content before first heading", - "type": "boolean", - "default": false + "oneOf": [ + { + "type": "boolean" }, - "front_matter_title": { - "description": "RegExp for matching title in front matter", - "type": "string", - "default": "^\\s*title\\s*[:=]" - }, - "level": { - "description": "Heading level", - "type": "integer", - "minimum": 1, - "maximum": 6, - "default": 1 + { + "type": "object", + "additionalProperties": false, + "properties": { + "allow_preamble": { + "description": "Allow content before first heading", + "type": "boolean", + "default": false + }, + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + }, + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD042": { "description": "MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md042.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-empty-links": { "description": "MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md042.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD043": { "description": "MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md043.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "headings": { - "description": "List of headings", - "type": "array", - "items": { - "type": "string", - "pattern": "^(\\*|\\+|\\?|#{1,6}\\s+\\S.*)$" - }, - "default": [] + "oneOf": [ + { + "type": "boolean" }, - "match_case": { - "description": "Match case of headings", - "type": "boolean", - "default": false + { + "type": "object", + "additionalProperties": false, + "properties": { + "headings": { + "description": "List of headings", + "type": "array", + "items": { + "type": "string", + "pattern": "^(\\*|\\+|\\?|#{1,6}\\s+\\S.*)$" + }, + "default": [] + }, + "match_case": { + "description": "Match case of headings", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "required-headings": { "description": "MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md043.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "headings": { - "description": "List of headings", - "type": "array", - "items": { - "type": "string", - "pattern": "^(\\*|\\+|\\?|#{1,6}\\s+\\S.*)$" - }, - "default": [] + "oneOf": [ + { + "type": "boolean" }, - "match_case": { - "description": "Match case of headings", - "type": "boolean", - "default": false + { + "type": "object", + "additionalProperties": false, + "properties": { + "headings": { + "description": "List of headings", + "type": "array", + "items": { + "type": "string", + "pattern": "^(\\*|\\+|\\?|#{1,6}\\s+\\S.*)$" + }, + "default": [] + }, + "match_case": { + "description": "Match case of headings", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD044": { "description": "MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md044.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "names": { - "description": "List of proper names", - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "oneOf": [ + { + "type": "boolean" }, - "code_blocks": { - "description": "Include code blocks", - "type": "boolean", - "default": true - }, - "html_elements": { - "description": "Include HTML elements", - "type": "boolean", - "default": true + { + "type": "object", + "additionalProperties": false, + "properties": { + "names": { + "description": "List of proper names", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "code_blocks": { + "description": "Include code blocks", + "type": "boolean", + "default": true + }, + "html_elements": { + "description": "Include HTML elements", + "type": "boolean", + "default": true + } + } } - }, - "additionalProperties": false + ], + "default": true }, "proper-names": { "description": "MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md044.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "names": { - "description": "List of proper names", - "type": "array", - "items": { - "type": "string" - }, - "default": [] + "oneOf": [ + { + "type": "boolean" }, - "code_blocks": { - "description": "Include code blocks", - "type": "boolean", - "default": true - }, - "html_elements": { - "description": "Include HTML elements", - "type": "boolean", - "default": true + { + "type": "object", + "additionalProperties": false, + "properties": { + "names": { + "description": "List of proper names", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "code_blocks": { + "description": "Include code blocks", + "type": "boolean", + "default": true + }, + "html_elements": { + "description": "Include HTML elements", + "type": "boolean", + "default": true + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD045": { "description": "MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md045.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "no-alt-text": { "description": "MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md045.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD046": { "description": "MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md046.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Block style", - "type": "string", - "enum": [ - "consistent", - "fenced", - "indented" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Block style", + "type": "string", + "enum": [ + "consistent", + "fenced", + "indented" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "code-block-style": { "description": "MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md046.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Block style", - "type": "string", - "enum": [ - "consistent", - "fenced", - "indented" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Block style", + "type": "string", + "enum": [ + "consistent", + "fenced", + "indented" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD047": { "description": "MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md047.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "single-trailing-newline": { "description": "MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md047.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD048": { "description": "MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md048.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Code fence style", - "type": "string", - "enum": [ - "consistent", - "backtick", - "tilde" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Code fence style", + "type": "string", + "enum": [ + "consistent", + "backtick", + "tilde" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "code-fence-style": { "description": "MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md048.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Code fence style", - "type": "string", - "enum": [ - "consistent", - "backtick", - "tilde" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Code fence style", + "type": "string", + "enum": [ + "consistent", + "backtick", + "tilde" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD049": { "description": "MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md049.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Emphasis style", - "type": "string", - "enum": [ - "consistent", - "asterisk", - "underscore" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Emphasis style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "underscore" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "emphasis-style": { "description": "MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md049.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Emphasis style", - "type": "string", - "enum": [ - "consistent", - "asterisk", - "underscore" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Emphasis style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "underscore" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD050": { "description": "MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md050.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Strong style", - "type": "string", - "enum": [ - "consistent", - "asterisk", - "underscore" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Strong style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "underscore" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "strong-style": { "description": "MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md050.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Strong style", - "type": "string", - "enum": [ - "consistent", - "asterisk", - "underscore" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Strong style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "underscore" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD051": { "description": "MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md051.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "ignore_case": { - "description": "Ignore case of fragments", - "type": "boolean", - "default": false + "oneOf": [ + { + "type": "boolean" }, - "ignored_pattern": { - "description": "Pattern for ignoring additional fragments", - "type": "string", - "default": "" + { + "type": "object", + "additionalProperties": false, + "properties": { + "ignore_case": { + "description": "Ignore case of fragments", + "type": "boolean", + "default": false + }, + "ignored_pattern": { + "description": "Pattern for ignoring additional fragments", + "type": "string", + "default": "" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "link-fragments": { "description": "MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md051.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "ignore_case": { - "description": "Ignore case of fragments", - "type": "boolean", - "default": false + "oneOf": [ + { + "type": "boolean" }, - "ignored_pattern": { - "description": "Pattern for ignoring additional fragments", - "type": "string", - "default": "" + { + "type": "object", + "additionalProperties": false, + "properties": { + "ignore_case": { + "description": "Ignore case of fragments", + "type": "boolean", + "default": false + }, + "ignored_pattern": { + "description": "Pattern for ignoring additional fragments", + "type": "string", + "default": "" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD052": { "description": "MD052/reference-links-images : Reference links and images should use a label that is defined : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md052.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "ignored_labels": { - "description": "Ignored link labels", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "x" - ] + "oneOf": [ + { + "type": "boolean" }, - "shortcut_syntax": { - "description": "Include shortcut syntax", - "type": "boolean", - "default": false + { + "type": "object", + "additionalProperties": false, + "properties": { + "ignored_labels": { + "description": "Ignored link labels", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "x" + ] + }, + "shortcut_syntax": { + "description": "Include shortcut syntax", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "reference-links-images": { "description": "MD052/reference-links-images : Reference links and images should use a label that is defined : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md052.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "ignored_labels": { - "description": "Ignored link labels", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "x" - ] + "oneOf": [ + { + "type": "boolean" }, - "shortcut_syntax": { - "description": "Include shortcut syntax", - "type": "boolean", - "default": false + { + "type": "object", + "additionalProperties": false, + "properties": { + "ignored_labels": { + "description": "Ignored link labels", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "x" + ] + }, + "shortcut_syntax": { + "description": "Include shortcut syntax", + "type": "boolean", + "default": false + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD053": { "description": "MD053/link-image-reference-definitions : Link and image reference definitions should be needed : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md053.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "ignored_definitions": { - "description": "Ignored definitions", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "//" - ] + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "ignored_definitions": { + "description": "Ignored definitions", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "//" + ] + } + } } - }, - "additionalProperties": false + ], + "default": true }, "link-image-reference-definitions": { "description": "MD053/link-image-reference-definitions : Link and image reference definitions should be needed : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md053.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "ignored_definitions": { - "description": "Ignored definitions", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "//" - ] + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "ignored_definitions": { + "description": "Ignored definitions", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "//" + ] + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD054": { "description": "MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md054.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "autolink": { - "description": "Allow autolinks", - "type": "boolean", - "default": true + "oneOf": [ + { + "type": "boolean" }, - "inline": { - "description": "Allow inline links and images", - "type": "boolean", - "default": true - }, - "full": { - "description": "Allow full reference links and images", - "type": "boolean", - "default": true - }, - "collapsed": { - "description": "Allow collapsed reference links and images", - "type": "boolean", - "default": true - }, - "shortcut": { - "description": "Allow shortcut reference links and images", - "type": "boolean", - "default": true - }, - "url_inline": { - "description": "Allow URLs as inline links", - "type": "boolean", - "default": true + { + "type": "object", + "additionalProperties": false, + "properties": { + "autolink": { + "description": "Allow autolinks", + "type": "boolean", + "default": true + }, + "inline": { + "description": "Allow inline links and images", + "type": "boolean", + "default": true + }, + "full": { + "description": "Allow full reference links and images", + "type": "boolean", + "default": true + }, + "collapsed": { + "description": "Allow collapsed reference links and images", + "type": "boolean", + "default": true + }, + "shortcut": { + "description": "Allow shortcut reference links and images", + "type": "boolean", + "default": true + }, + "url_inline": { + "description": "Allow URLs as inline links", + "type": "boolean", + "default": true + } + } } - }, - "additionalProperties": false + ], + "default": true }, "link-image-style": { "description": "MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md054.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "autolink": { - "description": "Allow autolinks", - "type": "boolean", - "default": true + "oneOf": [ + { + "type": "boolean" }, - "inline": { - "description": "Allow inline links and images", - "type": "boolean", - "default": true - }, - "full": { - "description": "Allow full reference links and images", - "type": "boolean", - "default": true - }, - "collapsed": { - "description": "Allow collapsed reference links and images", - "type": "boolean", - "default": true - }, - "shortcut": { - "description": "Allow shortcut reference links and images", - "type": "boolean", - "default": true - }, - "url_inline": { - "description": "Allow URLs as inline links", - "type": "boolean", - "default": true + { + "type": "object", + "additionalProperties": false, + "properties": { + "autolink": { + "description": "Allow autolinks", + "type": "boolean", + "default": true + }, + "inline": { + "description": "Allow inline links and images", + "type": "boolean", + "default": true + }, + "full": { + "description": "Allow full reference links and images", + "type": "boolean", + "default": true + }, + "collapsed": { + "description": "Allow collapsed reference links and images", + "type": "boolean", + "default": true + }, + "shortcut": { + "description": "Allow shortcut reference links and images", + "type": "boolean", + "default": true + }, + "url_inline": { + "description": "Allow URLs as inline links", + "type": "boolean", + "default": true + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD055": { "description": "MD055/table-pipe-style : Table pipe style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md055.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Table pipe style", - "type": "string", - "enum": [ - "consistent", - "leading_only", - "trailing_only", - "leading_and_trailing", - "no_leading_or_trailing" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Table pipe style", + "type": "string", + "enum": [ + "consistent", + "leading_only", + "trailing_only", + "leading_and_trailing", + "no_leading_or_trailing" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "table-pipe-style": { "description": "MD055/table-pipe-style : Table pipe style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md055.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Table pipe style", - "type": "string", - "enum": [ - "consistent", - "leading_only", - "trailing_only", - "leading_and_trailing", - "no_leading_or_trailing" - ], - "default": "consistent" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Table pipe style", + "type": "string", + "enum": [ + "consistent", + "leading_only", + "trailing_only", + "leading_and_trailing", + "no_leading_or_trailing" + ], + "default": "consistent" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD056": { "description": "MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md056.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "table-column-count": { "description": "MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md056.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD058": { "description": "MD058/blanks-around-tables : Tables should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md058.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "blanks-around-tables": { "description": "MD058/blanks-around-tables : Tables should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md058.md", - "type": "boolean", + "oneOf": [ + { + "type": "boolean" + } + ], "default": true }, "MD059": { "description": "MD059/descriptive-link-text : Link text should be descriptive : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md059.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "prohibited_texts": { - "description": "Prohibited link texts", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "click here", - "here", - "link", - "more" - ] + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "prohibited_texts": { + "description": "Prohibited link texts", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "click here", + "here", + "link", + "more" + ] + } + } } - }, - "additionalProperties": false + ], + "default": true }, "descriptive-link-text": { "description": "MD059/descriptive-link-text : Link text should be descriptive : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md059.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "prohibited_texts": { - "description": "Prohibited link texts", - "type": "array", - "items": { - "type": "string" - }, - "default": [ - "click here", - "here", - "link", - "more" - ] + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "prohibited_texts": { + "description": "Prohibited link texts", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "click here", + "here", + "link", + "more" + ] + } + } } - }, - "additionalProperties": false + ], + "default": true }, "MD060": { "description": "MD060/table-column-style : Table column style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md060.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Table column style", - "type": "string", - "enum": [ - "any", - "aligned", - "compact", - "tight" - ], - "default": "any" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Table column style", + "type": "string", + "enum": [ + "any", + "aligned", + "compact", + "tight" + ], + "default": "any" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "table-column-style": { "description": "MD060/table-column-style : Table column style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md060.md", - "type": [ - "boolean", - "object" - ], - "default": true, - "properties": { - "style": { - "description": "Table column style", - "type": "string", - "enum": [ - "any", - "aligned", - "compact", - "tight" - ], - "default": "any" + "oneOf": [ + { + "type": "boolean" + }, + { + "type": "object", + "additionalProperties": false, + "properties": { + "style": { + "description": "Table column style", + "type": "string", + "enum": [ + "any", + "aligned", + "compact", + "tight" + ], + "default": "any" + } + } } - }, - "additionalProperties": false + ], + "default": true }, "headings": { "description": "headings : MD001, MD003, MD018, MD019, MD020, MD021, MD022, MD023, MD024, MD025, MD026, MD036, MD041, MD043",