diff --git a/_build/.doctrees/environment.pickle b/_build/.doctrees/environment.pickle index 52d745a..ca96b01 100644 Binary files a/_build/.doctrees/environment.pickle and b/_build/.doctrees/environment.pickle differ diff --git a/_build/.doctrees/universities/trinity-college-dublin.doctree b/_build/.doctrees/universities/trinity-college-dublin.doctree index a253d45..6818c56 100644 Binary files a/_build/.doctrees/universities/trinity-college-dublin.doctree and b/_build/.doctrees/universities/trinity-college-dublin.doctree differ diff --git a/_build/html/_downloads/0428a01620608242c01446799d79b356/markdownlint.d.ts b/_build/html/_downloads/0428a01620608242c01446799d79b356/markdownlint.d.ts new file mode 100644 index 0000000..d12abe6 --- /dev/null +++ b/_build/html/_downloads/0428a01620608242c01446799d79b356/markdownlint.d.ts @@ -0,0 +1,526 @@ +export = markdownlint; +/** + * Lint specified Markdown files. + * + * @param {Options | null} options Configuration options. + * @param {LintCallback} callback Callback (err, result) function. + * @returns {void} + */ +declare function markdownlint(options: Options | null, callback: LintCallback): void; +declare namespace markdownlint { + export { markdownlintSync as sync, readConfig, readConfigSync, getVersion, promises, applyFix, applyFixes, RuleFunction, RuleParams, MarkdownParsers, ParserMarkdownIt, ParserMicromark, MarkdownItToken, MicromarkTokenType, MicromarkToken, RuleOnError, RuleOnErrorInfo, RuleOnErrorFixInfo, RuleOnErrorFixInfoNormalized, Rule, Options, Plugin, ToStringCallback, LintResults, LintError, FixInfo, LintContentCallback, LintCallback, Configuration, ConfigurationStrict, RuleConfiguration, ConfigurationParser, ReadConfigCallback, ResolveConfigExtendsCallback }; +} +/** + * Lint specified Markdown files synchronously. + * + * @param {Options | null} options Configuration options. + * @returns {LintResults} Results object. + */ +declare function markdownlintSync(options: Options | null): LintResults; +/** + * Read specified configuration file. + * + * @param {string} file Configuration file name. + * @param {ConfigurationParser[] | ReadConfigCallback} parsers Parsing + * function(s). + * @param {Object} [fs] File system implementation. + * @param {ReadConfigCallback} [callback] Callback (err, result) function. + * @returns {void} + */ +declare function readConfig(file: string, parsers: ConfigurationParser[] | ReadConfigCallback, fs?: any, callback?: ReadConfigCallback): void; +/** + * Read specified configuration file synchronously. + * + * @param {string} file Configuration file name. + * @param {ConfigurationParser[]} [parsers] Parsing function(s). + * @param {Object} [fs] File system implementation. + * @returns {Configuration} Configuration object. + * @throws An Error if processing fails. + */ +declare function readConfigSync(file: string, parsers?: ConfigurationParser[], fs?: any): Configuration; +/** + * Gets the (semantic) version of the library. + * + * @returns {string} SemVer string. + */ +declare function getVersion(): string; +declare namespace promises { + export { markdownlintPromise as markdownlint }; + export { extendConfigPromise as extendConfig }; + export { readConfigPromise as readConfig }; +} +/** + * Applies the specified fix to a Markdown content line. + * + * @param {string} line Line of Markdown content. + * @param {RuleOnErrorFixInfo} fixInfo RuleOnErrorFixInfo instance. + * @param {string} [lineEnding] Line ending to use. + * @returns {string | null} Fixed content or null if deleted. + */ +declare function applyFix(line: string, fixInfo: RuleOnErrorFixInfo, lineEnding?: string): string | null; +/** + * Applies as many of the specified fixes as possible to Markdown content. + * + * @param {string} input Lines of Markdown content. + * @param {RuleOnErrorInfo[]} errors RuleOnErrorInfo instances. + * @returns {string} Fixed content. + */ +declare function applyFixes(input: string, errors: RuleOnErrorInfo[]): string; +/** + * Function to implement rule logic. + */ +type RuleFunction = (params: RuleParams, onError: RuleOnError) => void; +/** + * Rule parameters. + */ +type RuleParams = { + /** + * File/string name. + */ + name: string; + /** + * Markdown parser data. + */ + parsers: MarkdownParsers; + /** + * File/string lines. + */ + lines: readonly string[]; + /** + * Front matter lines. + */ + frontMatterLines: readonly string[]; + /** + * Rule configuration. + */ + config: RuleConfiguration; + /** + * Version of the markdownlint library. + */ + version: string; +}; +/** + * Markdown parser data. + */ +type MarkdownParsers = { + /** + * Markdown parser data from markdown-it (only present when Rule.parser is "markdownit"). + */ + markdownit: ParserMarkdownIt; + /** + * Markdown parser data from micromark (only present when Rule.parser is "micromark"). + */ + micromark: ParserMicromark; +}; +/** + * Markdown parser data from markdown-it. + */ +type ParserMarkdownIt = { + /** + * Token objects from markdown-it. + */ + tokens: MarkdownItToken[]; +}; +/** + * Markdown parser data from micromark. + */ +type ParserMicromark = { + /** + * Token objects from micromark. + */ + tokens: MicromarkToken[]; +}; +/** + * markdown-it token. + */ +type MarkdownItToken = { + /** + * HTML attributes. + */ + attrs: string[][]; + /** + * Block-level token. + */ + block: boolean; + /** + * Child nodes. + */ + children: MarkdownItToken[]; + /** + * Tag contents. + */ + content: string; + /** + * Ignore element. + */ + hidden: boolean; + /** + * Fence info. + */ + info: string; + /** + * Nesting level. + */ + level: number; + /** + * Beginning/ending line numbers. + */ + map: number[]; + /** + * Markup text. + */ + markup: string; + /** + * Arbitrary data. + */ + meta: any; + /** + * Level change. + */ + nesting: number; + /** + * HTML tag name. + */ + tag: string; + /** + * Token type. + */ + type: string; + /** + * Line number (1-based). + */ + lineNumber: number; + /** + * Line content. + */ + line: string; +}; +type MicromarkTokenType = import("markdownlint-micromark").TokenType; +/** + * micromark token. + */ +type MicromarkToken = { + /** + * Token type. + */ + type: MicromarkTokenType; + /** + * Start line (1-based). + */ + startLine: number; + /** + * Start column (1-based). + */ + startColumn: number; + /** + * End line (1-based). + */ + endLine: number; + /** + * End column (1-based). + */ + endColumn: number; + /** + * Token text. + */ + text: string; + /** + * Child tokens. + */ + children: MicromarkToken[]; + /** + * Parent token. + */ + parent: MicromarkToken | null; +}; +/** + * Error-reporting callback. + */ +type RuleOnError = (onErrorInfo: RuleOnErrorInfo) => void; +/** + * Fix information for RuleOnError callback. + */ +type RuleOnErrorInfo = { + /** + * Line number (1-based). + */ + lineNumber: number; + /** + * Detail about the error. + */ + detail?: string; + /** + * Context for the error. + */ + context?: string; + /** + * Link to more information. + */ + information?: URL; + /** + * Column number (1-based) and length. + */ + range?: number[]; + /** + * Fix information. + */ + fixInfo?: RuleOnErrorFixInfo; +}; +/** + * Fix information for RuleOnErrorInfo. + */ +type RuleOnErrorFixInfo = { + /** + * Line number (1-based). + */ + lineNumber?: number; + /** + * Column of the fix (1-based). + */ + editColumn?: number; + /** + * Count of characters to delete. + */ + deleteCount?: number; + /** + * Text to insert (after deleting). + */ + insertText?: string; +}; +/** + * RuleOnErrorInfo with all optional properties present. + */ +type RuleOnErrorFixInfoNormalized = { + /** + * Line number (1-based). + */ + lineNumber: number; + /** + * Column of the fix (1-based). + */ + editColumn: number; + /** + * Count of characters to delete. + */ + deleteCount: number; + /** + * Text to insert (after deleting). + */ + insertText: string; +}; +/** + * Rule definition. + */ +type Rule = { + /** + * Rule name(s). + */ + names: string[]; + /** + * Rule description. + */ + description: string; + /** + * Link to more information. + */ + information?: URL; + /** + * Rule tag(s). + */ + tags: string[]; + /** + * Parser used. + */ + parser: "markdownit" | "micromark" | "none"; + /** + * True if asynchronous. + */ + asynchronous?: boolean; + /** + * Rule implementation. + */ + function: RuleFunction; +}; +/** + * Configuration options. + */ +type Options = { + /** + * Configuration object. + */ + config?: Configuration; + /** + * Configuration parsers. + */ + configParsers?: ConfigurationParser[]; + /** + * Custom rules. + */ + customRules?: Rule[] | Rule; + /** + * Files to lint. + */ + files?: string[] | string; + /** + * Front matter pattern. + */ + frontMatter?: RegExp | null; + /** + * File system implementation. + */ + fs?: any; + /** + * True to catch exceptions. + */ + handleRuleFailures?: boolean; + /** + * Additional plugins. + */ + markdownItPlugins?: Plugin[]; + /** + * True to ignore HTML directives. + */ + noInlineConfig?: boolean; + /** + * Results object version. + */ + resultVersion?: number; + /** + * Strings to lint. + */ + strings?: { + [x: string]: string; + }; +}; +/** + * A markdown-it plugin. + */ +type Plugin = any[]; +/** + * Function to pretty-print lint results. + */ +type ToStringCallback = (ruleAliases?: boolean) => string; +/** + * Lint results (for resultVersion 3). + */ +type LintResults = { + [x: string]: LintError[]; +}; +/** + * Lint error. + */ +type LintError = { + /** + * Line number (1-based). + */ + lineNumber: number; + /** + * Rule name(s). + */ + ruleNames: string[]; + /** + * Rule description. + */ + ruleDescription: string; + /** + * Link to more information. + */ + ruleInformation: string; + /** + * Detail about the error. + */ + errorDetail: string; + /** + * Context for the error. + */ + errorContext: string; + /** + * Column number (1-based) and length. + */ + errorRange: number[]; + /** + * Fix information. + */ + fixInfo?: FixInfo; +}; +/** + * Fix information. + */ +type FixInfo = { + /** + * Line number (1-based). + */ + lineNumber?: number; + /** + * Column of the fix (1-based). + */ + editColumn?: number; + /** + * Count of characters to delete. + */ + deleteCount?: number; + /** + * Text to insert (after deleting). + */ + insertText?: string; +}; +/** + * Called with the result of linting a string or document. + */ +type LintContentCallback = (error: Error | null, result?: LintError[]) => void; +/** + * Called with the result of the lint function. + */ +type LintCallback = (error: Error | null, results?: LintResults) => void; +/** + * Configuration object for linting rules. For the JSON schema, see + * {@link ../schema/markdownlint-config-schema.json}. + */ +type Configuration = import("./configuration").Configuration; +/** + * Configuration object for linting rules strictly. For the JSON schema, see + * {@link ../schema/markdownlint-config-schema-strict.json}. + */ +type ConfigurationStrict = import("./configuration-strict").ConfigurationStrict; +/** + * Rule configuration. + */ +type RuleConfiguration = boolean | any; +/** + * Parses a configuration string and returns a configuration object. + */ +type ConfigurationParser = (text: string) => Configuration; +/** + * Called with the result of the readConfig function. + */ +type ReadConfigCallback = (err: Error | null, config?: Configuration) => void; +/** + * Called with the result of the resolveConfigExtends function. + */ +type ResolveConfigExtendsCallback = (err: Error | null, path?: string) => void; +/** + * Lint specified Markdown files. + * + * @param {Options} options Configuration options. + * @returns {Promise} Results object. + */ +declare function markdownlintPromise(options: Options): Promise; +/** + * Extend specified configuration object. + * + * @param {Configuration} config Configuration object. + * @param {string} file Configuration file name. + * @param {ConfigurationParser[]} [parsers] Parsing function(s). + * @param {Object} [fs] File system implementation. + * @returns {Promise} Configuration object. + */ +declare function extendConfigPromise(config: Configuration, file: string, parsers?: ConfigurationParser[], fs?: any): Promise; +/** + * Read specified configuration file. + * + * @param {string} file Configuration file name. + * @param {ConfigurationParser[]} [parsers] Parsing function(s). + * @param {Object} [fs] File system implementation. + * @returns {Promise} Configuration object. + */ +declare function readConfigPromise(file: string, parsers?: ConfigurationParser[], fs?: any): Promise; diff --git a/_build/html/_downloads/0c0dbe78571689179e406ea04a04fb5c/parser_core.mjs b/_build/html/_downloads/0c0dbe78571689179e406ea04a04fb5c/parser_core.mjs new file mode 100644 index 0000000..df61d67 --- /dev/null +++ b/_build/html/_downloads/0c0dbe78571689179e406ea04a04fb5c/parser_core.mjs @@ -0,0 +1,62 @@ +/** internal + * class Core + * + * Top-level rules executor. Glues block/inline parsers and does intermediate + * transformations. + **/ + +import Ruler from './ruler.mjs' +import StateCore from './rules_core/state_core.mjs' + +import r_normalize from './rules_core/normalize.mjs' +import r_block from './rules_core/block.mjs' +import r_inline from './rules_core/inline.mjs' +import r_linkify from './rules_core/linkify.mjs' +import r_replacements from './rules_core/replacements.mjs' +import r_smartquotes from './rules_core/smartquotes.mjs' +import r_text_join from './rules_core/text_join.mjs' + +const _rules = [ + ['normalize', r_normalize], + ['block', r_block], + ['inline', r_inline], + ['linkify', r_linkify], + ['replacements', r_replacements], + ['smartquotes', r_smartquotes], + // `text_join` finds `text_special` tokens (for escape sequences) + // and joins them with the rest of the text + ['text_join', r_text_join] +] + +/** + * new Core() + **/ +function Core () { + /** + * Core#ruler -> Ruler + * + * [[Ruler]] instance. Keep configuration of core rules. + **/ + this.ruler = new Ruler() + + for (let i = 0; i < _rules.length; i++) { + this.ruler.push(_rules[i][0], _rules[i][1]) + } +} + +/** + * Core.process(state) + * + * Executes core chain rules. + **/ +Core.prototype.process = function (state) { + const rules = this.ruler.getRules('') + + for (let i = 0, l = rules.length; i < l; i++) { + rules[i](state) + } +} + +Core.prototype.State = StateCore + +export default Core diff --git a/_build/html/_downloads/1eaf4f3c750f056e803dd8c3bb7b68ac/.markdownlint.yaml b/_build/html/_downloads/1eaf4f3c750f056e803dd8c3bb7b68ac/.markdownlint.yaml new file mode 100644 index 0000000..272cac2 --- /dev/null +++ b/_build/html/_downloads/1eaf4f3c750f056e803dd8c3bb7b68ac/.markdownlint.yaml @@ -0,0 +1,277 @@ +# Example markdownlint configuration with all properties set to their default value + +# Default state for all rules +default: true + +# Path to configuration file to extend +extends: null + +# MD001/heading-increment : Heading levels should only increment by one level at a time : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md001.md +MD001: true + +# MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md003.md +MD003: + # Heading style + style: "consistent" + +# MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md004.md +MD004: + # List style + style: "consistent" + +# MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md005.md +MD005: true + +# MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md007.md +MD007: + # Spaces for indent + indent: 2 + # Whether to indent the first level of the list + start_indented: false + # Spaces for first level indent (when start_indented is set) + start_indent: 2 + +# MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md009.md +MD009: + # Spaces for line break + br_spaces: 2 + # Allow spaces for empty lines in list items + list_item_empty_lines: false + # Include unnecessary breaks + strict: false + +# MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md010.md +MD010: + # Include code blocks + code_blocks: true + # Fenced code languages to ignore + ignore_code_languages: [] + # Number of spaces for each hard tab + spaces_per_tab: 1 + +# MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md011.md +MD011: true + +# MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md012.md +MD012: + # Consecutive blank lines + maximum: 1 + +# MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md013.md +MD013: + # Number of characters + line_length: 80 + # Number of characters for headings + heading_line_length: 80 + # Number of characters for code blocks + code_block_line_length: 80 + # Include code blocks + code_blocks: true + # Include tables + tables: true + # Include headings + headings: true + # Strict length checking + strict: false + # Stern length checking + stern: false + +# MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md014.md +MD014: true + +# MD018/no-missing-space-atx : No space after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md018.md +MD018: true + +# MD019/no-multiple-space-atx : Multiple spaces after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md019.md +MD019: true + +# MD020/no-missing-space-closed-atx : No space inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md020.md +MD020: true + +# MD021/no-multiple-space-closed-atx : Multiple spaces inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md021.md +MD021: true + +# MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md022.md +MD022: + # Blank lines above heading + lines_above: 1 + # Blank lines below heading + lines_below: 1 + +# MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md023.md +MD023: true + +# MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md024.md +MD024: + # Only check sibling headings + siblings_only: false + +# MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md025.md +MD025: + # Heading level + level: 1 + # RegExp for matching title in front matter + front_matter_title: "^\\s*title\\s*[:=]" + +# MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md026.md +MD026: + # Punctuation characters + punctuation: ".,;:!。,;:!" + +# MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md027.md +MD027: true + +# MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md028.md +MD028: true + +# MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md029.md +MD029: + # List style + style: "one_or_ordered" + +# MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md030.md +MD030: + # Spaces for single-line unordered list items + ul_single: 1 + # Spaces for single-line ordered list items + ol_single: 1 + # Spaces for multi-line unordered list items + ul_multi: 1 + # Spaces for multi-line ordered list items + ol_multi: 1 + +# MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md031.md +MD031: + # Include list items + list_items: true + +# MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md032.md +MD032: true + +# MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md033.md +MD033: + # Allowed elements + allowed_elements: [] + +# MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md034.md +MD034: true + +# MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md035.md +MD035: + # Horizontal rule style + style: "consistent" + +# MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md036.md +MD036: + # Punctuation characters + punctuation: ".,;:!?。,;:!?" + +# MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md037.md +MD037: true + +# MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md038.md +MD038: true + +# MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md039.md +MD039: true + +# MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md040.md +MD040: + # List of languages + allowed_languages: [] + # Require language only + language_only: false + +# 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.36.1/doc/md041.md +MD041: + # Heading level + level: 1 + # RegExp for matching title in front matter + front_matter_title: "^\\s*title\\s*[:=]" + +# MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md042.md +MD042: true + +# MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md043.md +MD043: + # List of headings + headings: [] + # Match case of headings + match_case: false + +# MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md044.md +MD044: + # List of proper names + names: [] + # Include code blocks + code_blocks: true + # Include HTML elements + html_elements: true + +# MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md045.md +MD045: true + +# MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md046.md +MD046: + # Block style + style: "consistent" + +# MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md047.md +MD047: true + +# MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md048.md +MD048: + # Code fence style + style: "consistent" + +# MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md049.md +MD049: + # Emphasis style + style: "consistent" + +# MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md050.md +MD050: + # Strong style + style: "consistent" + +# MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md051.md +MD051: + # Ignore case of fragments + ignore_case: false + +# MD052/reference-links-images : Reference links and images should use a label that is defined : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md052.md +MD052: + # Include shortcut syntax + shortcut_syntax: false + +# MD053/link-image-reference-definitions : Link and image reference definitions should be needed : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md053.md +MD053: + # Ignored definitions + ignored_definitions: + - "//" + +# MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md054.md +MD054: + # Allow autolinks + autolink: true + # Allow inline links and images + inline: true + # Allow full reference links and images + full: true + # Allow collapsed reference links and images + collapsed: true + # Allow shortcut reference links and images + shortcut: true + # Allow URLs as inline links + url_inline: true + +# MD055/table-pipe-style : Table pipe style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md055.md +MD055: + # Table pipe style + style: "consistent" + +# MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md056.md +MD056: true + +# MD058/blanks-around-tables : Tables should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md058.md +MD058: true diff --git a/_build/html/_downloads/2f37d86dffc73056d64683994170681d/parser_block.mjs b/_build/html/_downloads/2f37d86dffc73056d64683994170681d/parser_block.mjs new file mode 100644 index 0000000..486d68f --- /dev/null +++ b/_build/html/_downloads/2f37d86dffc73056d64683994170681d/parser_block.mjs @@ -0,0 +1,134 @@ +/** internal + * class ParserBlock + * + * Block-level tokenizer. + **/ + +import Ruler from './ruler.mjs' +import StateBlock from './rules_block/state_block.mjs' + +import r_table from './rules_block/table.mjs' +import r_code from './rules_block/code.mjs' +import r_fence from './rules_block/fence.mjs' +import r_blockquote from './rules_block/blockquote.mjs' +import r_hr from './rules_block/hr.mjs' +import r_list from './rules_block/list.mjs' +import r_reference from './rules_block/reference.mjs' +import r_html_block from './rules_block/html_block.mjs' +import r_heading from './rules_block/heading.mjs' +import r_lheading from './rules_block/lheading.mjs' +import r_paragraph from './rules_block/paragraph.mjs' + +const _rules = [ + // First 2 params - rule name & source. Secondary array - list of rules, + // which can be terminated by this one. + ['table', r_table, ['paragraph', 'reference']], + ['code', r_code], + ['fence', r_fence, ['paragraph', 'reference', 'blockquote', 'list']], + ['blockquote', r_blockquote, ['paragraph', 'reference', 'blockquote', 'list']], + ['hr', r_hr, ['paragraph', 'reference', 'blockquote', 'list']], + ['list', r_list, ['paragraph', 'reference', 'blockquote']], + ['reference', r_reference], + ['html_block', r_html_block, ['paragraph', 'reference', 'blockquote']], + ['heading', r_heading, ['paragraph', 'reference', 'blockquote']], + ['lheading', r_lheading], + ['paragraph', r_paragraph] +] + +/** + * new ParserBlock() + **/ +function ParserBlock () { + /** + * ParserBlock#ruler -> Ruler + * + * [[Ruler]] instance. Keep configuration of block rules. + **/ + this.ruler = new Ruler() + + for (let i = 0; i < _rules.length; i++) { + this.ruler.push(_rules[i][0], _rules[i][1], { alt: (_rules[i][2] || []).slice() }) + } +} + +// Generate tokens for input range +// +ParserBlock.prototype.tokenize = function (state, startLine, endLine) { + const rules = this.ruler.getRules('') + const len = rules.length + const maxNesting = state.md.options.maxNesting + let line = startLine + let hasEmptyLines = false + + while (line < endLine) { + state.line = line = state.skipEmptyLines(line) + if (line >= endLine) { break } + + // Termination condition for nested calls. + // Nested calls currently used for blockquotes & lists + if (state.sCount[line] < state.blkIndent) { break } + + // If nesting level exceeded - skip tail to the end. That's not ordinary + // situation and we should not care about content. + if (state.level >= maxNesting) { + state.line = endLine + break + } + + // Try all possible rules. + // On success, rule should: + // + // - update `state.line` + // - update `state.tokens` + // - return true + const prevLine = state.line + let ok = false + + for (let i = 0; i < len; i++) { + ok = rules[i](state, line, endLine, false) + if (ok) { + if (prevLine >= state.line) { + throw new Error("block rule didn't increment state.line") + } + break + } + } + + // this can only happen if user disables paragraph rule + if (!ok) throw new Error('none of the block rules matched') + + // set state.tight if we had an empty line before current tag + // i.e. latest empty line should not count + state.tight = !hasEmptyLines + + // paragraph might "eat" one newline after it in nested lists + if (state.isEmpty(state.line - 1)) { + hasEmptyLines = true + } + + line = state.line + + if (line < endLine && state.isEmpty(line)) { + hasEmptyLines = true + line++ + state.line = line + } + } +} + +/** + * ParserBlock.parse(str, md, env, outTokens) + * + * Process input string and push block tokens into `outTokens` + **/ +ParserBlock.prototype.parse = function (src, md, env, outTokens) { + if (!src) { return } + + const state = new this.State(src, md, env, outTokens) + + this.tokenize(state, state.line, state.lineMax) +} + +ParserBlock.prototype.State = StateBlock + +export default ParserBlock diff --git a/_build/html/_downloads/532d227f30e072addbadac8808f83d10/prettier.json b/_build/html/_downloads/532d227f30e072addbadac8808f83d10/prettier.json new file mode 100644 index 0000000..29a24e6 --- /dev/null +++ b/_build/html/_downloads/532d227f30e072addbadac8808f83d10/prettier.json @@ -0,0 +1,27 @@ +{ + "comment": "Disables rules that may conflict with Prettier", + + "blanks-around-fences": false, + "blanks-around-headings": false, + "blanks-around-lists": false, + "code-fence-style": false, + "emphasis-style": false, + "heading-start-left": false, + "heading-style": false, + "hr-style": false, + "line-length": false, + "list-indent": false, + "list-marker-space": false, + "no-blanks-blockquote": false, + "no-hard-tabs": false, + "no-missing-space-atx": false, + "no-missing-space-closed-atx": false, + "no-multiple-blanks": false, + "no-multiple-space-atx": false, + "no-multiple-space-blockquote": false, + "no-multiple-space-closed-atx": false, + "no-trailing-spaces": false, + "ol-prefix": false, + "strong-style": false, + "ul-indent": false +} diff --git a/_build/html/_downloads/54b3dc7143c362c21098075b6abf7f19/LICENSE b/_build/html/_downloads/54b3dc7143c362c21098075b6abf7f19/LICENSE new file mode 100644 index 0000000..f785757 --- /dev/null +++ b/_build/html/_downloads/54b3dc7143c362c21098075b6abf7f19/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) 2010-2023 Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/_build/html/_downloads/98319c1e5a1a1f6ada69662000d94630/markdownlint-config-schema.json b/_build/html/_downloads/98319c1e5a1a1f6ada69662000d94630/markdownlint-config-schema.json new file mode 100644 index 0000000..31753a7 --- /dev/null +++ b/_build/html/_downloads/98319c1e5a1a1f6ada69662000d94630/markdownlint-config-schema.json @@ -0,0 +1,1846 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://raw.githubusercontent.com/DavidAnson/markdownlint/v0.36.1/schema/markdownlint-config-schema.json", + "title": "markdownlint configuration schema", + "type": "object", + "properties": { + "$schema": { + "description": "JSON Schema URI (expected by some editors)", + "type": "string", + "default": "https://raw.githubusercontent.com/DavidAnson/markdownlint/v0.36.1/schema/markdownlint-config-schema.json" + }, + "default": { + "description": "Default state for all rules", + "type": "boolean", + "default": true + }, + "extends": { + "description": "Path to configuration file to extend", + "type": [ + "string", + "null" + ], + "default": null + }, + "MD001": { + "description": "MD001/heading-increment : Heading levels should only increment by one level at a time : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md001.md", + "type": "boolean", + "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.36.1/doc/md001.md", + "type": "boolean", + "default": true + }, + "MD003": { + "description": "MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/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" + } + }, + "additionalProperties": false + }, + "heading-style": { + "description": "MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/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" + } + }, + "additionalProperties": false + }, + "MD004": { + "description": "MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md004.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "List style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "plus", + "dash", + "sublist" + ], + "default": "consistent" + } + }, + "additionalProperties": false + }, + "ul-style": { + "description": "MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md004.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "List style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "plus", + "dash", + "sublist" + ], + "default": "consistent" + } + }, + "additionalProperties": false + }, + "MD005": { + "description": "MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md005.md", + "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.36.1/doc/md005.md", + "type": "boolean", + "default": true + }, + "MD007": { + "description": "MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md007.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "ul-indent": { + "description": "MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md007.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "MD009": { + "description": "MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md009.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "no-trailing-spaces": { + "description": "MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md009.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "MD010": { + "description": "MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md010.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "no-hard-tabs": { + "description": "MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md010.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "MD011": { + "description": "MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md011.md", + "type": "boolean", + "default": true + }, + "no-reversed-links": { + "description": "MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md011.md", + "type": "boolean", + "default": true + }, + "MD012": { + "description": "MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md012.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "maximum": { + "description": "Consecutive blank lines", + "type": "integer", + "minimum": 1, + "default": 1 + } + }, + "additionalProperties": false + }, + "no-multiple-blanks": { + "description": "MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md012.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "maximum": { + "description": "Consecutive blank lines", + "type": "integer", + "minimum": 1, + "default": 1 + } + }, + "additionalProperties": false + }, + "MD013": { + "description": "MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md013.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "line-length": { + "description": "MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md013.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "MD014": { + "description": "MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md014.md", + "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.36.1/doc/md014.md", + "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.36.1/doc/md018.md", + "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.36.1/doc/md018.md", + "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.36.1/doc/md019.md", + "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.36.1/doc/md019.md", + "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.36.1/doc/md020.md", + "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.36.1/doc/md020.md", + "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.36.1/doc/md021.md", + "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.36.1/doc/md021.md", + "type": "boolean", + "default": true + }, + "MD022": { + "description": "MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/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 + }, + "lines_below": { + "description": "Blank lines below heading", + "type": [ + "integer", + "array" + ], + "items": { + "type": "integer" + }, + "minimum": -1, + "default": 1 + } + }, + "additionalProperties": false + }, + "blanks-around-headings": { + "description": "MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/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 + }, + "lines_below": { + "description": "Blank lines below heading", + "type": [ + "integer", + "array" + ], + "items": { + "type": "integer" + }, + "minimum": -1, + "default": 1 + } + }, + "additionalProperties": false + }, + "MD023": { + "description": "MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md023.md", + "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.36.1/doc/md023.md", + "type": "boolean", + "default": true + }, + "MD024": { + "description": "MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md024.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "siblings_only": { + "description": "Only check sibling headings", + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + "no-duplicate-heading": { + "description": "MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md024.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "siblings_only": { + "description": "Only check sibling headings", + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + "MD025": { + "description": "MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md025.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + }, + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + } + }, + "additionalProperties": false + }, + "single-title": { + "description": "MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md025.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + }, + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + } + }, + "additionalProperties": false + }, + "single-h1": { + "description": "MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md025.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + }, + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + } + }, + "additionalProperties": false + }, + "MD026": { + "description": "MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md026.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "punctuation": { + "description": "Punctuation characters", + "type": "string", + "default": ".,;:!。,;:!" + } + }, + "additionalProperties": false + }, + "no-trailing-punctuation": { + "description": "MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md026.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "punctuation": { + "description": "Punctuation characters", + "type": "string", + "default": ".,;:!。,;:!" + } + }, + "additionalProperties": false + }, + "MD027": { + "description": "MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md027.md", + "type": "boolean", + "default": true + }, + "no-multiple-space-blockquote": { + "description": "MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md027.md", + "type": "boolean", + "default": true + }, + "MD028": { + "description": "MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md028.md", + "type": "boolean", + "default": true + }, + "no-blanks-blockquote": { + "description": "MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md028.md", + "type": "boolean", + "default": true + }, + "MD029": { + "description": "MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/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" + } + }, + "additionalProperties": false + }, + "ol-prefix": { + "description": "MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/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" + } + }, + "additionalProperties": false + }, + "MD030": { + "description": "MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/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 + }, + "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 + }, + "list-marker-space": { + "description": "MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/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 + }, + "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 + }, + "MD031": { + "description": "MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md031.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "list_items": { + "description": "Include list items", + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + }, + "blanks-around-fences": { + "description": "MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md031.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "list_items": { + "description": "Include list items", + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + }, + "MD032": { + "description": "MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md032.md", + "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.36.1/doc/md032.md", + "type": "boolean", + "default": true + }, + "MD033": { + "description": "MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md033.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "allowed_elements": { + "description": "Allowed elements", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + } + }, + "additionalProperties": false + }, + "no-inline-html": { + "description": "MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md033.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "allowed_elements": { + "description": "Allowed elements", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + } + }, + "additionalProperties": false + }, + "MD034": { + "description": "MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md034.md", + "type": "boolean", + "default": true + }, + "no-bare-urls": { + "description": "MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md034.md", + "type": "boolean", + "default": true + }, + "MD035": { + "description": "MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md035.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "Horizontal rule style", + "type": "string", + "default": "consistent" + } + }, + "additionalProperties": false + }, + "hr-style": { + "description": "MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md035.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "Horizontal rule style", + "type": "string", + "default": "consistent" + } + }, + "additionalProperties": false + }, + "MD036": { + "description": "MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md036.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "punctuation": { + "description": "Punctuation characters", + "type": "string", + "default": ".,;:!?。,;:!?" + } + }, + "additionalProperties": false + }, + "no-emphasis-as-heading": { + "description": "MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md036.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "punctuation": { + "description": "Punctuation characters", + "type": "string", + "default": ".,;:!?。,;:!?" + } + }, + "additionalProperties": false + }, + "MD037": { + "description": "MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md037.md", + "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.36.1/doc/md037.md", + "type": "boolean", + "default": true + }, + "MD038": { + "description": "MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md038.md", + "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.36.1/doc/md038.md", + "type": "boolean", + "default": true + }, + "MD039": { + "description": "MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md039.md", + "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.36.1/doc/md039.md", + "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.36.1/doc/md040.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "fenced-code-language": { + "description": "MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md040.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "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.36.1/doc/md041.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + }, + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + } + }, + "additionalProperties": false + }, + "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.36.1/doc/md041.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + }, + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + } + }, + "additionalProperties": false + }, + "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.36.1/doc/md041.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + }, + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + } + }, + "additionalProperties": false + }, + "MD042": { + "description": "MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md042.md", + "type": "boolean", + "default": true + }, + "no-empty-links": { + "description": "MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md042.md", + "type": "boolean", + "default": true + }, + "MD043": { + "description": "MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md043.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "headings": { + "description": "List of headings", + "type": "array", + "items": { + "type": "string", + "pattern": "^(\\*|\\+|#{1,6} .*)$" + }, + "default": [] + }, + "match_case": { + "description": "Match case of headings", + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + "required-headings": { + "description": "MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md043.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "headings": { + "description": "List of headings", + "type": "array", + "items": { + "type": "string", + "pattern": "^(\\*|\\+|#{1,6} .*)$" + }, + "default": [] + }, + "match_case": { + "description": "Match case of headings", + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + "MD044": { + "description": "MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md044.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "proper-names": { + "description": "MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md044.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "MD045": { + "description": "MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md045.md", + "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.36.1/doc/md045.md", + "type": "boolean", + "default": true + }, + "MD046": { + "description": "MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md046.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "Block style", + "type": "string", + "enum": [ + "consistent", + "fenced", + "indented" + ], + "default": "consistent" + } + }, + "additionalProperties": false + }, + "code-block-style": { + "description": "MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md046.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "Block style", + "type": "string", + "enum": [ + "consistent", + "fenced", + "indented" + ], + "default": "consistent" + } + }, + "additionalProperties": false + }, + "MD047": { + "description": "MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md047.md", + "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.36.1/doc/md047.md", + "type": "boolean", + "default": true + }, + "MD048": { + "description": "MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md048.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "Code fence style", + "type": "string", + "enum": [ + "consistent", + "backtick", + "tilde" + ], + "default": "consistent" + } + }, + "additionalProperties": false + }, + "code-fence-style": { + "description": "MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md048.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "Code fence style", + "type": "string", + "enum": [ + "consistent", + "backtick", + "tilde" + ], + "default": "consistent" + } + }, + "additionalProperties": false + }, + "MD049": { + "description": "MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md049.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "Emphasis style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "underscore" + ], + "default": "consistent" + } + }, + "additionalProperties": false + }, + "emphasis-style": { + "description": "MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md049.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "Emphasis style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "underscore" + ], + "default": "consistent" + } + }, + "additionalProperties": false + }, + "MD050": { + "description": "MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md050.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "Strong style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "underscore" + ], + "default": "consistent" + } + }, + "additionalProperties": false + }, + "strong-style": { + "description": "MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md050.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "Strong style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "underscore" + ], + "default": "consistent" + } + }, + "additionalProperties": false + }, + "MD051": { + "description": "MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md051.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "ignore_case": { + "description": "Ignore case of fragments", + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + "link-fragments": { + "description": "MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md051.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "ignore_case": { + "description": "Ignore case of fragments", + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + "MD052": { + "description": "MD052/reference-links-images : Reference links and images should use a label that is defined : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md052.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "shortcut_syntax": { + "description": "Include shortcut syntax", + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + "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.36.1/doc/md052.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "shortcut_syntax": { + "description": "Include shortcut syntax", + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + "MD053": { + "description": "MD053/link-image-reference-definitions : Link and image reference definitions should be needed : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md053.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "ignored_definitions": { + "description": "Ignored definitions", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "//" + ] + } + }, + "additionalProperties": false + }, + "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.36.1/doc/md053.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "ignored_definitions": { + "description": "Ignored definitions", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "//" + ] + } + }, + "additionalProperties": false + }, + "MD054": { + "description": "MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md054.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "link-image-style": { + "description": "MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md054.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "MD055": { + "description": "MD055/table-pipe-style : Table pipe style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/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" + } + }, + "additionalProperties": false + }, + "table-pipe-style": { + "description": "MD055/table-pipe-style : Table pipe style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/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" + } + }, + "additionalProperties": false + }, + "MD056": { + "description": "MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md056.md", + "type": "boolean", + "default": true + }, + "table-column-count": { + "description": "MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md056.md", + "type": "boolean", + "default": true + }, + "MD058": { + "description": "MD058/blanks-around-tables : Tables should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md058.md", + "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.36.1/doc/md058.md", + "type": "boolean", + "default": true + }, + "headings": { + "description": "headings : MD001, MD003, MD018, MD019, MD020, MD021, MD022, MD023, MD024, MD025, MD026, MD036, MD041, MD043", + "type": "boolean", + "default": true + }, + "bullet": { + "description": "bullet : MD004, MD005, MD007, MD032", + "type": "boolean", + "default": true + }, + "ul": { + "description": "ul : MD004, MD005, MD007, MD030, MD032", + "type": "boolean", + "default": true + }, + "indentation": { + "description": "indentation : MD005, MD007, MD027", + "type": "boolean", + "default": true + }, + "whitespace": { + "description": "whitespace : MD009, MD010, MD012, MD027, MD028, MD030, MD037, MD038, MD039", + "type": "boolean", + "default": true + }, + "hard_tab": { + "description": "hard_tab : MD010", + "type": "boolean", + "default": true + }, + "links": { + "description": "links : MD011, MD034, MD039, MD042, MD051, MD052, MD053, MD054", + "type": "boolean", + "default": true + }, + "blank_lines": { + "description": "blank_lines : MD012, MD022, MD031, MD032, MD047", + "type": "boolean", + "default": true + }, + "line_length": { + "description": "line_length : MD013", + "type": "boolean", + "default": true + }, + "code": { + "description": "code : MD014, MD031, MD038, MD040, MD046, MD048", + "type": "boolean", + "default": true + }, + "atx": { + "description": "atx : MD018, MD019", + "type": "boolean", + "default": true + }, + "spaces": { + "description": "spaces : MD018, MD019, MD020, MD021, MD023", + "type": "boolean", + "default": true + }, + "atx_closed": { + "description": "atx_closed : MD020, MD021", + "type": "boolean", + "default": true + }, + "blockquote": { + "description": "blockquote : MD027, MD028", + "type": "boolean", + "default": true + }, + "ol": { + "description": "ol : MD029, MD030, MD032", + "type": "boolean", + "default": true + }, + "html": { + "description": "html : MD033", + "type": "boolean", + "default": true + }, + "url": { + "description": "url : MD034", + "type": "boolean", + "default": true + }, + "hr": { + "description": "hr : MD035", + "type": "boolean", + "default": true + }, + "emphasis": { + "description": "emphasis : MD036, MD037, MD049, MD050", + "type": "boolean", + "default": true + }, + "language": { + "description": "language : MD040", + "type": "boolean", + "default": true + }, + "spelling": { + "description": "spelling : MD044", + "type": "boolean", + "default": true + }, + "accessibility": { + "description": "accessibility : MD045", + "type": "boolean", + "default": true + }, + "images": { + "description": "images : MD045, MD052, MD053, MD054", + "type": "boolean", + "default": true + }, + "table": { + "description": "table : MD055, MD056, MD058", + "type": "boolean", + "default": true + } + }, + "additionalProperties": { + "type": [ + "boolean", + "object" + ] + } +} \ No newline at end of file diff --git a/_build/html/_downloads/c85208b3027b7d5924e47ab3fbdfc782/help.js b/_build/html/_downloads/c85208b3027b7d5924e47ab3fbdfc782/help.js new file mode 100644 index 0000000..ed6f991 --- /dev/null +++ b/_build/html/_downloads/c85208b3027b7d5924e47ab3fbdfc782/help.js @@ -0,0 +1,520 @@ +const { humanReadableArgName } = require('./argument.js'); + +/** + * TypeScript import types for JSDoc, used by Visual Studio Code IntelliSense and `npm run typescript-checkJS` + * https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html#import-types + * @typedef { import("./argument.js").Argument } Argument + * @typedef { import("./command.js").Command } Command + * @typedef { import("./option.js").Option } Option + */ + +// Although this is a class, methods are static in style to allow override using subclass or just functions. +class Help { + constructor() { + this.helpWidth = undefined; + this.sortSubcommands = false; + this.sortOptions = false; + this.showGlobalOptions = false; + } + + /** + * Get an array of the visible subcommands. Includes a placeholder for the implicit help command, if there is one. + * + * @param {Command} cmd + * @returns {Command[]} + */ + + visibleCommands(cmd) { + const visibleCommands = cmd.commands.filter((cmd) => !cmd._hidden); + const helpCommand = cmd._getHelpCommand(); + if (helpCommand && !helpCommand._hidden) { + visibleCommands.push(helpCommand); + } + if (this.sortSubcommands) { + visibleCommands.sort((a, b) => { + // @ts-ignore: because overloaded return type + return a.name().localeCompare(b.name()); + }); + } + return visibleCommands; + } + + /** + * Compare options for sort. + * + * @param {Option} a + * @param {Option} b + * @returns {number} + */ + compareOptions(a, b) { + const getSortKey = (option) => { + // WYSIWYG for order displayed in help. Short used for comparison if present. No special handling for negated. + return option.short + ? option.short.replace(/^-/, '') + : option.long.replace(/^--/, ''); + }; + return getSortKey(a).localeCompare(getSortKey(b)); + } + + /** + * Get an array of the visible options. Includes a placeholder for the implicit help option, if there is one. + * + * @param {Command} cmd + * @returns {Option[]} + */ + + visibleOptions(cmd) { + const visibleOptions = cmd.options.filter((option) => !option.hidden); + // Built-in help option. + const helpOption = cmd._getHelpOption(); + if (helpOption && !helpOption.hidden) { + // Automatically hide conflicting flags. Bit dubious but a historical behaviour that is convenient for single-command programs. + const removeShort = helpOption.short && cmd._findOption(helpOption.short); + const removeLong = helpOption.long && cmd._findOption(helpOption.long); + if (!removeShort && !removeLong) { + visibleOptions.push(helpOption); // no changes needed + } else if (helpOption.long && !removeLong) { + visibleOptions.push( + cmd.createOption(helpOption.long, helpOption.description), + ); + } else if (helpOption.short && !removeShort) { + visibleOptions.push( + cmd.createOption(helpOption.short, helpOption.description), + ); + } + } + if (this.sortOptions) { + visibleOptions.sort(this.compareOptions); + } + return visibleOptions; + } + + /** + * Get an array of the visible global options. (Not including help.) + * + * @param {Command} cmd + * @returns {Option[]} + */ + + visibleGlobalOptions(cmd) { + if (!this.showGlobalOptions) return []; + + const globalOptions = []; + for ( + let ancestorCmd = cmd.parent; + ancestorCmd; + ancestorCmd = ancestorCmd.parent + ) { + const visibleOptions = ancestorCmd.options.filter( + (option) => !option.hidden, + ); + globalOptions.push(...visibleOptions); + } + if (this.sortOptions) { + globalOptions.sort(this.compareOptions); + } + return globalOptions; + } + + /** + * Get an array of the arguments if any have a description. + * + * @param {Command} cmd + * @returns {Argument[]} + */ + + visibleArguments(cmd) { + // Side effect! Apply the legacy descriptions before the arguments are displayed. + if (cmd._argsDescription) { + cmd.registeredArguments.forEach((argument) => { + argument.description = + argument.description || cmd._argsDescription[argument.name()] || ''; + }); + } + + // If there are any arguments with a description then return all the arguments. + if (cmd.registeredArguments.find((argument) => argument.description)) { + return cmd.registeredArguments; + } + return []; + } + + /** + * Get the command term to show in the list of subcommands. + * + * @param {Command} cmd + * @returns {string} + */ + + subcommandTerm(cmd) { + // Legacy. Ignores custom usage string, and nested commands. + const args = cmd.registeredArguments + .map((arg) => humanReadableArgName(arg)) + .join(' '); + return ( + cmd._name + + (cmd._aliases[0] ? '|' + cmd._aliases[0] : '') + + (cmd.options.length ? ' [options]' : '') + // simplistic check for non-help option + (args ? ' ' + args : '') + ); + } + + /** + * Get the option term to show in the list of options. + * + * @param {Option} option + * @returns {string} + */ + + optionTerm(option) { + return option.flags; + } + + /** + * Get the argument term to show in the list of arguments. + * + * @param {Argument} argument + * @returns {string} + */ + + argumentTerm(argument) { + return argument.name(); + } + + /** + * Get the longest command term length. + * + * @param {Command} cmd + * @param {Help} helper + * @returns {number} + */ + + longestSubcommandTermLength(cmd, helper) { + return helper.visibleCommands(cmd).reduce((max, command) => { + return Math.max(max, helper.subcommandTerm(command).length); + }, 0); + } + + /** + * Get the longest option term length. + * + * @param {Command} cmd + * @param {Help} helper + * @returns {number} + */ + + longestOptionTermLength(cmd, helper) { + return helper.visibleOptions(cmd).reduce((max, option) => { + return Math.max(max, helper.optionTerm(option).length); + }, 0); + } + + /** + * Get the longest global option term length. + * + * @param {Command} cmd + * @param {Help} helper + * @returns {number} + */ + + longestGlobalOptionTermLength(cmd, helper) { + return helper.visibleGlobalOptions(cmd).reduce((max, option) => { + return Math.max(max, helper.optionTerm(option).length); + }, 0); + } + + /** + * Get the longest argument term length. + * + * @param {Command} cmd + * @param {Help} helper + * @returns {number} + */ + + longestArgumentTermLength(cmd, helper) { + return helper.visibleArguments(cmd).reduce((max, argument) => { + return Math.max(max, helper.argumentTerm(argument).length); + }, 0); + } + + /** + * Get the command usage to be displayed at the top of the built-in help. + * + * @param {Command} cmd + * @returns {string} + */ + + commandUsage(cmd) { + // Usage + let cmdName = cmd._name; + if (cmd._aliases[0]) { + cmdName = cmdName + '|' + cmd._aliases[0]; + } + let ancestorCmdNames = ''; + for ( + let ancestorCmd = cmd.parent; + ancestorCmd; + ancestorCmd = ancestorCmd.parent + ) { + ancestorCmdNames = ancestorCmd.name() + ' ' + ancestorCmdNames; + } + return ancestorCmdNames + cmdName + ' ' + cmd.usage(); + } + + /** + * Get the description for the command. + * + * @param {Command} cmd + * @returns {string} + */ + + commandDescription(cmd) { + // @ts-ignore: because overloaded return type + return cmd.description(); + } + + /** + * Get the subcommand summary to show in the list of subcommands. + * (Fallback to description for backwards compatibility.) + * + * @param {Command} cmd + * @returns {string} + */ + + subcommandDescription(cmd) { + // @ts-ignore: because overloaded return type + return cmd.summary() || cmd.description(); + } + + /** + * Get the option description to show in the list of options. + * + * @param {Option} option + * @return {string} + */ + + optionDescription(option) { + const extraInfo = []; + + if (option.argChoices) { + extraInfo.push( + // use stringify to match the display of the default value + `choices: ${option.argChoices.map((choice) => JSON.stringify(choice)).join(', ')}`, + ); + } + if (option.defaultValue !== undefined) { + // default for boolean and negated more for programmer than end user, + // but show true/false for boolean option as may be for hand-rolled env or config processing. + const showDefault = + option.required || + option.optional || + (option.isBoolean() && typeof option.defaultValue === 'boolean'); + if (showDefault) { + extraInfo.push( + `default: ${option.defaultValueDescription || JSON.stringify(option.defaultValue)}`, + ); + } + } + // preset for boolean and negated are more for programmer than end user + if (option.presetArg !== undefined && option.optional) { + extraInfo.push(`preset: ${JSON.stringify(option.presetArg)}`); + } + if (option.envVar !== undefined) { + extraInfo.push(`env: ${option.envVar}`); + } + if (extraInfo.length > 0) { + return `${option.description} (${extraInfo.join(', ')})`; + } + + return option.description; + } + + /** + * Get the argument description to show in the list of arguments. + * + * @param {Argument} argument + * @return {string} + */ + + argumentDescription(argument) { + const extraInfo = []; + if (argument.argChoices) { + extraInfo.push( + // use stringify to match the display of the default value + `choices: ${argument.argChoices.map((choice) => JSON.stringify(choice)).join(', ')}`, + ); + } + if (argument.defaultValue !== undefined) { + extraInfo.push( + `default: ${argument.defaultValueDescription || JSON.stringify(argument.defaultValue)}`, + ); + } + if (extraInfo.length > 0) { + const extraDescripton = `(${extraInfo.join(', ')})`; + if (argument.description) { + return `${argument.description} ${extraDescripton}`; + } + return extraDescripton; + } + return argument.description; + } + + /** + * Generate the built-in help text. + * + * @param {Command} cmd + * @param {Help} helper + * @returns {string} + */ + + formatHelp(cmd, helper) { + const termWidth = helper.padWidth(cmd, helper); + const helpWidth = helper.helpWidth || 80; + const itemIndentWidth = 2; + const itemSeparatorWidth = 2; // between term and description + function formatItem(term, description) { + if (description) { + const fullText = `${term.padEnd(termWidth + itemSeparatorWidth)}${description}`; + return helper.wrap( + fullText, + helpWidth - itemIndentWidth, + termWidth + itemSeparatorWidth, + ); + } + return term; + } + function formatList(textArray) { + return textArray.join('\n').replace(/^/gm, ' '.repeat(itemIndentWidth)); + } + + // Usage + let output = [`Usage: ${helper.commandUsage(cmd)}`, '']; + + // Description + const commandDescription = helper.commandDescription(cmd); + if (commandDescription.length > 0) { + output = output.concat([ + helper.wrap(commandDescription, helpWidth, 0), + '', + ]); + } + + // Arguments + const argumentList = helper.visibleArguments(cmd).map((argument) => { + return formatItem( + helper.argumentTerm(argument), + helper.argumentDescription(argument), + ); + }); + if (argumentList.length > 0) { + output = output.concat(['Arguments:', formatList(argumentList), '']); + } + + // Options + const optionList = helper.visibleOptions(cmd).map((option) => { + return formatItem( + helper.optionTerm(option), + helper.optionDescription(option), + ); + }); + if (optionList.length > 0) { + output = output.concat(['Options:', formatList(optionList), '']); + } + + if (this.showGlobalOptions) { + const globalOptionList = helper + .visibleGlobalOptions(cmd) + .map((option) => { + return formatItem( + helper.optionTerm(option), + helper.optionDescription(option), + ); + }); + if (globalOptionList.length > 0) { + output = output.concat([ + 'Global Options:', + formatList(globalOptionList), + '', + ]); + } + } + + // Commands + const commandList = helper.visibleCommands(cmd).map((cmd) => { + return formatItem( + helper.subcommandTerm(cmd), + helper.subcommandDescription(cmd), + ); + }); + if (commandList.length > 0) { + output = output.concat(['Commands:', formatList(commandList), '']); + } + + return output.join('\n'); + } + + /** + * Calculate the pad width from the maximum term length. + * + * @param {Command} cmd + * @param {Help} helper + * @returns {number} + */ + + padWidth(cmd, helper) { + return Math.max( + helper.longestOptionTermLength(cmd, helper), + helper.longestGlobalOptionTermLength(cmd, helper), + helper.longestSubcommandTermLength(cmd, helper), + helper.longestArgumentTermLength(cmd, helper), + ); + } + + /** + * Wrap the given string to width characters per line, with lines after the first indented. + * Do not wrap if insufficient room for wrapping (minColumnWidth), or string is manually formatted. + * + * @param {string} str + * @param {number} width + * @param {number} indent + * @param {number} [minColumnWidth=40] + * @return {string} + * + */ + + wrap(str, width, indent, minColumnWidth = 40) { + // Full \s characters, minus the linefeeds. + const indents = + ' \\f\\t\\v\u00a0\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff'; + // Detect manually wrapped and indented strings by searching for line break followed by spaces. + const manualIndent = new RegExp(`[\\n][${indents}]+`); + if (str.match(manualIndent)) return str; + // Do not wrap if not enough room for a wrapped column of text (as could end up with a word per line). + const columnWidth = width - indent; + if (columnWidth < minColumnWidth) return str; + + const leadingStr = str.slice(0, indent); + const columnText = str.slice(indent).replace('\r\n', '\n'); + const indentString = ' '.repeat(indent); + const zeroWidthSpace = '\u200B'; + const breaks = `\\s${zeroWidthSpace}`; + // Match line end (so empty lines don't collapse), + // or as much text as will fit in column, or excess text up to first break. + const regex = new RegExp( + `\n|.{1,${columnWidth - 1}}([${breaks}]|$)|[^${breaks}]+?([${breaks}]|$)`, + 'g', + ); + const lines = columnText.match(regex) || []; + return ( + leadingStr + + lines + .map((line, i) => { + if (line === '\n') return ''; // preserve empty lines + return (i > 0 ? indentString : '') + line.trimEnd(); + }) + .join('\n') + ); + } +} + +exports.Help = Help; diff --git a/_build/html/_downloads/dac4cd021e66b26d5182dcc369502a7b/.markdownlint.jsonc b/_build/html/_downloads/dac4cd021e66b26d5182dcc369502a7b/.markdownlint.jsonc new file mode 100644 index 0000000..0db3f87 --- /dev/null +++ b/_build/html/_downloads/dac4cd021e66b26d5182dcc369502a7b/.markdownlint.jsonc @@ -0,0 +1,310 @@ +// Example markdownlint configuration with all properties set to their default value +{ + + // Default state for all rules + "default": true, + + // Path to configuration file to extend + "extends": null, + + // MD001/heading-increment : Heading levels should only increment by one level at a time : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md001.md + "MD001": true, + + // MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md003.md + "MD003": { + // Heading style + "style": "consistent" + }, + + // MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md004.md + "MD004": { + // List style + "style": "consistent" + }, + + // MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md005.md + "MD005": true, + + // MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md007.md + "MD007": { + // Spaces for indent + "indent": 2, + // Whether to indent the first level of the list + "start_indented": false, + // Spaces for first level indent (when start_indented is set) + "start_indent": 2 + }, + + // MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md009.md + "MD009": { + // Spaces for line break + "br_spaces": 2, + // Allow spaces for empty lines in list items + "list_item_empty_lines": false, + // Include unnecessary breaks + "strict": false + }, + + // MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md010.md + "MD010": { + // Include code blocks + "code_blocks": true, + // Fenced code languages to ignore + "ignore_code_languages": [], + // Number of spaces for each hard tab + "spaces_per_tab": 1 + }, + + // MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md011.md + "MD011": true, + + // MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md012.md + "MD012": { + // Consecutive blank lines + "maximum": 1 + }, + + // MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md013.md + "MD013": { + // Number of characters + "line_length": 80, + // Number of characters for headings + "heading_line_length": 80, + // Number of characters for code blocks + "code_block_line_length": 80, + // Include code blocks + "code_blocks": true, + // Include tables + "tables": true, + // Include headings + "headings": true, + // Strict length checking + "strict": false, + // Stern length checking + "stern": false + }, + + // MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md014.md + "MD014": true, + + // MD018/no-missing-space-atx : No space after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md018.md + "MD018": true, + + // MD019/no-multiple-space-atx : Multiple spaces after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md019.md + "MD019": true, + + // MD020/no-missing-space-closed-atx : No space inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md020.md + "MD020": true, + + // MD021/no-multiple-space-closed-atx : Multiple spaces inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md021.md + "MD021": true, + + // MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md022.md + "MD022": { + // Blank lines above heading + "lines_above": 1, + // Blank lines below heading + "lines_below": 1 + }, + + // MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md023.md + "MD023": true, + + // MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md024.md + "MD024": { + // Only check sibling headings + "siblings_only": false + }, + + // MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md025.md + "MD025": { + // Heading level + "level": 1, + // RegExp for matching title in front matter + "front_matter_title": "^\\s*title\\s*[:=]" + }, + + // MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md026.md + "MD026": { + // Punctuation characters + "punctuation": ".,;:!。,;:!" + }, + + // MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md027.md + "MD027": true, + + // MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md028.md + "MD028": true, + + // MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md029.md + "MD029": { + // List style + "style": "one_or_ordered" + }, + + // MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md030.md + "MD030": { + // Spaces for single-line unordered list items + "ul_single": 1, + // Spaces for single-line ordered list items + "ol_single": 1, + // Spaces for multi-line unordered list items + "ul_multi": 1, + // Spaces for multi-line ordered list items + "ol_multi": 1 + }, + + // MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md031.md + "MD031": { + // Include list items + "list_items": true + }, + + // MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md032.md + "MD032": true, + + // MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md033.md + "MD033": { + // Allowed elements + "allowed_elements": [] + }, + + // MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md034.md + "MD034": true, + + // MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md035.md + "MD035": { + // Horizontal rule style + "style": "consistent" + }, + + // MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md036.md + "MD036": { + // Punctuation characters + "punctuation": ".,;:!?。,;:!?" + }, + + // MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md037.md + "MD037": true, + + // MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md038.md + "MD038": true, + + // MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md039.md + "MD039": true, + + // MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md040.md + "MD040": { + // List of languages + "allowed_languages": [], + // Require language only + "language_only": false + }, + + // 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.36.1/doc/md041.md + "MD041": { + // Heading level + "level": 1, + // RegExp for matching title in front matter + "front_matter_title": "^\\s*title\\s*[:=]" + }, + + // MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md042.md + "MD042": true, + + // MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md043.md + "MD043": { + // List of headings + "headings": [], + // Match case of headings + "match_case": false + }, + + // MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md044.md + "MD044": { + // List of proper names + "names": [], + // Include code blocks + "code_blocks": true, + // Include HTML elements + "html_elements": true + }, + + // MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md045.md + "MD045": true, + + // MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md046.md + "MD046": { + // Block style + "style": "consistent" + }, + + // MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md047.md + "MD047": true, + + // MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md048.md + "MD048": { + // Code fence style + "style": "consistent" + }, + + // MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md049.md + "MD049": { + // Emphasis style + "style": "consistent" + }, + + // MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md050.md + "MD050": { + // Strong style + "style": "consistent" + }, + + // MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md051.md + "MD051": { + // Ignore case of fragments + "ignore_case": false + }, + + // MD052/reference-links-images : Reference links and images should use a label that is defined : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md052.md + "MD052": { + // Include shortcut syntax + "shortcut_syntax": false + }, + + // MD053/link-image-reference-definitions : Link and image reference definitions should be needed : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md053.md + "MD053": { + // Ignored definitions + "ignored_definitions": [ + "//" + ] + }, + + // MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md054.md + "MD054": { + // Allow autolinks + "autolink": true, + // Allow inline links and images + "inline": true, + // Allow full reference links and images + "full": true, + // Allow collapsed reference links and images + "collapsed": true, + // Allow shortcut reference links and images + "shortcut": true, + // Allow URLs as inline links + "url_inline": true + }, + + // MD055/table-pipe-style : Table pipe style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md055.md + "MD055": { + // Table pipe style + "style": "consistent" + }, + + // MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md056.md + "MD056": true, + + // MD058/blanks-around-tables : Tables should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md058.md + "MD058": true +} \ No newline at end of file diff --git a/_build/html/_downloads/dac79542048916ea99efec88f65d98ac/parser_inline.mjs b/_build/html/_downloads/dac79542048916ea99efec88f65d98ac/parser_inline.mjs new file mode 100644 index 0000000..c2cc6a1 --- /dev/null +++ b/_build/html/_downloads/dac79542048916ea99efec88f65d98ac/parser_inline.mjs @@ -0,0 +1,197 @@ +/** internal + * class ParserInline + * + * Tokenizes paragraph content. + **/ + +import Ruler from './ruler.mjs' +import StateInline from './rules_inline/state_inline.mjs' + +import r_text from './rules_inline/text.mjs' +import r_linkify from './rules_inline/linkify.mjs' +import r_newline from './rules_inline/newline.mjs' +import r_escape from './rules_inline/escape.mjs' +import r_backticks from './rules_inline/backticks.mjs' +import r_strikethrough from './rules_inline/strikethrough.mjs' +import r_emphasis from './rules_inline/emphasis.mjs' +import r_link from './rules_inline/link.mjs' +import r_image from './rules_inline/image.mjs' +import r_autolink from './rules_inline/autolink.mjs' +import r_html_inline from './rules_inline/html_inline.mjs' +import r_entity from './rules_inline/entity.mjs' + +import r_balance_pairs from './rules_inline/balance_pairs.mjs' +import r_fragments_join from './rules_inline/fragments_join.mjs' + +// Parser rules + +const _rules = [ + ['text', r_text], + ['linkify', r_linkify], + ['newline', r_newline], + ['escape', r_escape], + ['backticks', r_backticks], + ['strikethrough', r_strikethrough.tokenize], + ['emphasis', r_emphasis.tokenize], + ['link', r_link], + ['image', r_image], + ['autolink', r_autolink], + ['html_inline', r_html_inline], + ['entity', r_entity] +] + +// `rule2` ruleset was created specifically for emphasis/strikethrough +// post-processing and may be changed in the future. +// +// Don't use this for anything except pairs (plugins working with `balance_pairs`). +// +const _rules2 = [ + ['balance_pairs', r_balance_pairs], + ['strikethrough', r_strikethrough.postProcess], + ['emphasis', r_emphasis.postProcess], + // rules for pairs separate '**' into its own text tokens, which may be left unused, + // rule below merges unused segments back with the rest of the text + ['fragments_join', r_fragments_join] +] + +/** + * new ParserInline() + **/ +function ParserInline () { + /** + * ParserInline#ruler -> Ruler + * + * [[Ruler]] instance. Keep configuration of inline rules. + **/ + this.ruler = new Ruler() + + for (let i = 0; i < _rules.length; i++) { + this.ruler.push(_rules[i][0], _rules[i][1]) + } + + /** + * ParserInline#ruler2 -> Ruler + * + * [[Ruler]] instance. Second ruler used for post-processing + * (e.g. in emphasis-like rules). + **/ + this.ruler2 = new Ruler() + + for (let i = 0; i < _rules2.length; i++) { + this.ruler2.push(_rules2[i][0], _rules2[i][1]) + } +} + +// Skip single token by running all rules in validation mode; +// returns `true` if any rule reported success +// +ParserInline.prototype.skipToken = function (state) { + const pos = state.pos + const rules = this.ruler.getRules('') + const len = rules.length + const maxNesting = state.md.options.maxNesting + const cache = state.cache + + if (typeof cache[pos] !== 'undefined') { + state.pos = cache[pos] + return + } + + let ok = false + + if (state.level < maxNesting) { + for (let i = 0; i < len; i++) { + // Increment state.level and decrement it later to limit recursion. + // It's harmless to do here, because no tokens are created. But ideally, + // we'd need a separate private state variable for this purpose. + // + state.level++ + ok = rules[i](state, true) + state.level-- + + if (ok) { + if (pos >= state.pos) { throw new Error("inline rule didn't increment state.pos") } + break + } + } + } else { + // Too much nesting, just skip until the end of the paragraph. + // + // NOTE: this will cause links to behave incorrectly in the following case, + // when an amount of `[` is exactly equal to `maxNesting + 1`: + // + // [[[[[[[[[[[[[[[[[[[[[foo]() + // + // TODO: remove this workaround when CM standard will allow nested links + // (we can replace it by preventing links from being parsed in + // validation mode) + // + state.pos = state.posMax + } + + if (!ok) { state.pos++ } + cache[pos] = state.pos +} + +// Generate tokens for input range +// +ParserInline.prototype.tokenize = function (state) { + const rules = this.ruler.getRules('') + const len = rules.length + const end = state.posMax + const maxNesting = state.md.options.maxNesting + + while (state.pos < end) { + // Try all possible rules. + // On success, rule should: + // + // - update `state.pos` + // - update `state.tokens` + // - return true + const prevPos = state.pos + let ok = false + + if (state.level < maxNesting) { + for (let i = 0; i < len; i++) { + ok = rules[i](state, false) + if (ok) { + if (prevPos >= state.pos) { throw new Error("inline rule didn't increment state.pos") } + break + } + } + } + + if (ok) { + if (state.pos >= end) { break } + continue + } + + state.pending += state.src[state.pos++] + } + + if (state.pending) { + state.pushPending() + } +} + +/** + * ParserInline.parse(str, md, env, outTokens) + * + * Process input string and push inline tokens into `outTokens` + **/ +ParserInline.prototype.parse = function (str, md, env, outTokens) { + const state = new this.State(str, md, env, outTokens) + + this.tokenize(state) + + const rules = this.ruler2.getRules('') + const len = rules.length + + for (let i = 0; i < len; i++) { + rules[i](state) + } +} + +ParserInline.prototype.State = StateInline + +export default ParserInline diff --git a/_build/html/_downloads/f089bb33f63d9d030760b3f0cdb6d9d9/markdownlint-config-schema-strict.json b/_build/html/_downloads/f089bb33f63d9d030760b3f0cdb6d9d9/markdownlint-config-schema-strict.json new file mode 100644 index 0000000..7ec18c8 --- /dev/null +++ b/_build/html/_downloads/f089bb33f63d9d030760b3f0cdb6d9d9/markdownlint-config-schema-strict.json @@ -0,0 +1,1841 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://raw.githubusercontent.com/DavidAnson/markdownlint/v0.36.1/schema/markdownlint-config-schema-strict.json", + "title": "markdownlint configuration schema", + "type": "object", + "properties": { + "$schema": { + "description": "JSON Schema URI (expected by some editors)", + "type": "string", + "default": "https://raw.githubusercontent.com/DavidAnson/markdownlint/v0.36.1/schema/markdownlint-config-schema.json" + }, + "default": { + "description": "Default state for all rules", + "type": "boolean", + "default": true + }, + "extends": { + "description": "Path to configuration file to extend", + "type": [ + "string", + "null" + ], + "default": null + }, + "MD001": { + "description": "MD001/heading-increment : Heading levels should only increment by one level at a time : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md001.md", + "type": "boolean", + "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.36.1/doc/md001.md", + "type": "boolean", + "default": true + }, + "MD003": { + "description": "MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/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" + } + }, + "additionalProperties": false + }, + "heading-style": { + "description": "MD003/heading-style : Heading style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/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" + } + }, + "additionalProperties": false + }, + "MD004": { + "description": "MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md004.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "List style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "plus", + "dash", + "sublist" + ], + "default": "consistent" + } + }, + "additionalProperties": false + }, + "ul-style": { + "description": "MD004/ul-style : Unordered list style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md004.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "List style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "plus", + "dash", + "sublist" + ], + "default": "consistent" + } + }, + "additionalProperties": false + }, + "MD005": { + "description": "MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md005.md", + "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.36.1/doc/md005.md", + "type": "boolean", + "default": true + }, + "MD007": { + "description": "MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md007.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "ul-indent": { + "description": "MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md007.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "MD009": { + "description": "MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md009.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "no-trailing-spaces": { + "description": "MD009/no-trailing-spaces : Trailing spaces : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md009.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "MD010": { + "description": "MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md010.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "no-hard-tabs": { + "description": "MD010/no-hard-tabs : Hard tabs : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md010.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "MD011": { + "description": "MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md011.md", + "type": "boolean", + "default": true + }, + "no-reversed-links": { + "description": "MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md011.md", + "type": "boolean", + "default": true + }, + "MD012": { + "description": "MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md012.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "maximum": { + "description": "Consecutive blank lines", + "type": "integer", + "minimum": 1, + "default": 1 + } + }, + "additionalProperties": false + }, + "no-multiple-blanks": { + "description": "MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md012.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "maximum": { + "description": "Consecutive blank lines", + "type": "integer", + "minimum": 1, + "default": 1 + } + }, + "additionalProperties": false + }, + "MD013": { + "description": "MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md013.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "line-length": { + "description": "MD013/line-length : Line length : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md013.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "MD014": { + "description": "MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md014.md", + "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.36.1/doc/md014.md", + "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.36.1/doc/md018.md", + "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.36.1/doc/md018.md", + "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.36.1/doc/md019.md", + "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.36.1/doc/md019.md", + "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.36.1/doc/md020.md", + "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.36.1/doc/md020.md", + "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.36.1/doc/md021.md", + "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.36.1/doc/md021.md", + "type": "boolean", + "default": true + }, + "MD022": { + "description": "MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/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 + }, + "lines_below": { + "description": "Blank lines below heading", + "type": [ + "integer", + "array" + ], + "items": { + "type": "integer" + }, + "minimum": -1, + "default": 1 + } + }, + "additionalProperties": false + }, + "blanks-around-headings": { + "description": "MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/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 + }, + "lines_below": { + "description": "Blank lines below heading", + "type": [ + "integer", + "array" + ], + "items": { + "type": "integer" + }, + "minimum": -1, + "default": 1 + } + }, + "additionalProperties": false + }, + "MD023": { + "description": "MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md023.md", + "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.36.1/doc/md023.md", + "type": "boolean", + "default": true + }, + "MD024": { + "description": "MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md024.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "siblings_only": { + "description": "Only check sibling headings", + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + "no-duplicate-heading": { + "description": "MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md024.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "siblings_only": { + "description": "Only check sibling headings", + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + "MD025": { + "description": "MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md025.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + }, + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + } + }, + "additionalProperties": false + }, + "single-title": { + "description": "MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md025.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + }, + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + } + }, + "additionalProperties": false + }, + "single-h1": { + "description": "MD025/single-title/single-h1 : Multiple top-level headings in the same document : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md025.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + }, + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + } + }, + "additionalProperties": false + }, + "MD026": { + "description": "MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md026.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "punctuation": { + "description": "Punctuation characters", + "type": "string", + "default": ".,;:!。,;:!" + } + }, + "additionalProperties": false + }, + "no-trailing-punctuation": { + "description": "MD026/no-trailing-punctuation : Trailing punctuation in heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md026.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "punctuation": { + "description": "Punctuation characters", + "type": "string", + "default": ".,;:!。,;:!" + } + }, + "additionalProperties": false + }, + "MD027": { + "description": "MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md027.md", + "type": "boolean", + "default": true + }, + "no-multiple-space-blockquote": { + "description": "MD027/no-multiple-space-blockquote : Multiple spaces after blockquote symbol : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md027.md", + "type": "boolean", + "default": true + }, + "MD028": { + "description": "MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md028.md", + "type": "boolean", + "default": true + }, + "no-blanks-blockquote": { + "description": "MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md028.md", + "type": "boolean", + "default": true + }, + "MD029": { + "description": "MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/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" + } + }, + "additionalProperties": false + }, + "ol-prefix": { + "description": "MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/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" + } + }, + "additionalProperties": false + }, + "MD030": { + "description": "MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/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 + }, + "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 + }, + "list-marker-space": { + "description": "MD030/list-marker-space : Spaces after list markers : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/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 + }, + "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 + }, + "MD031": { + "description": "MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md031.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "list_items": { + "description": "Include list items", + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + }, + "blanks-around-fences": { + "description": "MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md031.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "list_items": { + "description": "Include list items", + "type": "boolean", + "default": true + } + }, + "additionalProperties": false + }, + "MD032": { + "description": "MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md032.md", + "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.36.1/doc/md032.md", + "type": "boolean", + "default": true + }, + "MD033": { + "description": "MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md033.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "allowed_elements": { + "description": "Allowed elements", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + } + }, + "additionalProperties": false + }, + "no-inline-html": { + "description": "MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md033.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "allowed_elements": { + "description": "Allowed elements", + "type": "array", + "items": { + "type": "string" + }, + "default": [] + } + }, + "additionalProperties": false + }, + "MD034": { + "description": "MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md034.md", + "type": "boolean", + "default": true + }, + "no-bare-urls": { + "description": "MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md034.md", + "type": "boolean", + "default": true + }, + "MD035": { + "description": "MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md035.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "Horizontal rule style", + "type": "string", + "default": "consistent" + } + }, + "additionalProperties": false + }, + "hr-style": { + "description": "MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md035.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "Horizontal rule style", + "type": "string", + "default": "consistent" + } + }, + "additionalProperties": false + }, + "MD036": { + "description": "MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md036.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "punctuation": { + "description": "Punctuation characters", + "type": "string", + "default": ".,;:!?。,;:!?" + } + }, + "additionalProperties": false + }, + "no-emphasis-as-heading": { + "description": "MD036/no-emphasis-as-heading : Emphasis used instead of a heading : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md036.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "punctuation": { + "description": "Punctuation characters", + "type": "string", + "default": ".,;:!?。,;:!?" + } + }, + "additionalProperties": false + }, + "MD037": { + "description": "MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md037.md", + "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.36.1/doc/md037.md", + "type": "boolean", + "default": true + }, + "MD038": { + "description": "MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md038.md", + "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.36.1/doc/md038.md", + "type": "boolean", + "default": true + }, + "MD039": { + "description": "MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md039.md", + "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.36.1/doc/md039.md", + "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.36.1/doc/md040.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "fenced-code-language": { + "description": "MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md040.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "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.36.1/doc/md041.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + }, + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + } + }, + "additionalProperties": false + }, + "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.36.1/doc/md041.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + }, + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + } + }, + "additionalProperties": false + }, + "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.36.1/doc/md041.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "level": { + "description": "Heading level", + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 1 + }, + "front_matter_title": { + "description": "RegExp for matching title in front matter", + "type": "string", + "default": "^\\s*title\\s*[:=]" + } + }, + "additionalProperties": false + }, + "MD042": { + "description": "MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md042.md", + "type": "boolean", + "default": true + }, + "no-empty-links": { + "description": "MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md042.md", + "type": "boolean", + "default": true + }, + "MD043": { + "description": "MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md043.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "headings": { + "description": "List of headings", + "type": "array", + "items": { + "type": "string", + "pattern": "^(\\*|\\+|#{1,6} .*)$" + }, + "default": [] + }, + "match_case": { + "description": "Match case of headings", + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + "required-headings": { + "description": "MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md043.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "headings": { + "description": "List of headings", + "type": "array", + "items": { + "type": "string", + "pattern": "^(\\*|\\+|#{1,6} .*)$" + }, + "default": [] + }, + "match_case": { + "description": "Match case of headings", + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + "MD044": { + "description": "MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md044.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "proper-names": { + "description": "MD044/proper-names : Proper names should have the correct capitalization : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md044.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "MD045": { + "description": "MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md045.md", + "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.36.1/doc/md045.md", + "type": "boolean", + "default": true + }, + "MD046": { + "description": "MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md046.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "Block style", + "type": "string", + "enum": [ + "consistent", + "fenced", + "indented" + ], + "default": "consistent" + } + }, + "additionalProperties": false + }, + "code-block-style": { + "description": "MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md046.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "Block style", + "type": "string", + "enum": [ + "consistent", + "fenced", + "indented" + ], + "default": "consistent" + } + }, + "additionalProperties": false + }, + "MD047": { + "description": "MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md047.md", + "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.36.1/doc/md047.md", + "type": "boolean", + "default": true + }, + "MD048": { + "description": "MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md048.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "Code fence style", + "type": "string", + "enum": [ + "consistent", + "backtick", + "tilde" + ], + "default": "consistent" + } + }, + "additionalProperties": false + }, + "code-fence-style": { + "description": "MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md048.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "Code fence style", + "type": "string", + "enum": [ + "consistent", + "backtick", + "tilde" + ], + "default": "consistent" + } + }, + "additionalProperties": false + }, + "MD049": { + "description": "MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md049.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "Emphasis style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "underscore" + ], + "default": "consistent" + } + }, + "additionalProperties": false + }, + "emphasis-style": { + "description": "MD049/emphasis-style : Emphasis style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md049.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "Emphasis style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "underscore" + ], + "default": "consistent" + } + }, + "additionalProperties": false + }, + "MD050": { + "description": "MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md050.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "Strong style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "underscore" + ], + "default": "consistent" + } + }, + "additionalProperties": false + }, + "strong-style": { + "description": "MD050/strong-style : Strong style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md050.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "style": { + "description": "Strong style", + "type": "string", + "enum": [ + "consistent", + "asterisk", + "underscore" + ], + "default": "consistent" + } + }, + "additionalProperties": false + }, + "MD051": { + "description": "MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md051.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "ignore_case": { + "description": "Ignore case of fragments", + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + "link-fragments": { + "description": "MD051/link-fragments : Link fragments should be valid : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md051.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "ignore_case": { + "description": "Ignore case of fragments", + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + "MD052": { + "description": "MD052/reference-links-images : Reference links and images should use a label that is defined : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md052.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "shortcut_syntax": { + "description": "Include shortcut syntax", + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + "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.36.1/doc/md052.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "shortcut_syntax": { + "description": "Include shortcut syntax", + "type": "boolean", + "default": false + } + }, + "additionalProperties": false + }, + "MD053": { + "description": "MD053/link-image-reference-definitions : Link and image reference definitions should be needed : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md053.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "ignored_definitions": { + "description": "Ignored definitions", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "//" + ] + } + }, + "additionalProperties": false + }, + "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.36.1/doc/md053.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "properties": { + "ignored_definitions": { + "description": "Ignored definitions", + "type": "array", + "items": { + "type": "string" + }, + "default": [ + "//" + ] + } + }, + "additionalProperties": false + }, + "MD054": { + "description": "MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md054.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "link-image-style": { + "description": "MD054/link-image-style : Link and image style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md054.md", + "type": [ + "boolean", + "object" + ], + "default": true, + "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 + }, + "MD055": { + "description": "MD055/table-pipe-style : Table pipe style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/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" + } + }, + "additionalProperties": false + }, + "table-pipe-style": { + "description": "MD055/table-pipe-style : Table pipe style : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/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" + } + }, + "additionalProperties": false + }, + "MD056": { + "description": "MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md056.md", + "type": "boolean", + "default": true + }, + "table-column-count": { + "description": "MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md056.md", + "type": "boolean", + "default": true + }, + "MD058": { + "description": "MD058/blanks-around-tables : Tables should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/doc/md058.md", + "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.36.1/doc/md058.md", + "type": "boolean", + "default": true + }, + "headings": { + "description": "headings : MD001, MD003, MD018, MD019, MD020, MD021, MD022, MD023, MD024, MD025, MD026, MD036, MD041, MD043", + "type": "boolean", + "default": true + }, + "bullet": { + "description": "bullet : MD004, MD005, MD007, MD032", + "type": "boolean", + "default": true + }, + "ul": { + "description": "ul : MD004, MD005, MD007, MD030, MD032", + "type": "boolean", + "default": true + }, + "indentation": { + "description": "indentation : MD005, MD007, MD027", + "type": "boolean", + "default": true + }, + "whitespace": { + "description": "whitespace : MD009, MD010, MD012, MD027, MD028, MD030, MD037, MD038, MD039", + "type": "boolean", + "default": true + }, + "hard_tab": { + "description": "hard_tab : MD010", + "type": "boolean", + "default": true + }, + "links": { + "description": "links : MD011, MD034, MD039, MD042, MD051, MD052, MD053, MD054", + "type": "boolean", + "default": true + }, + "blank_lines": { + "description": "blank_lines : MD012, MD022, MD031, MD032, MD047", + "type": "boolean", + "default": true + }, + "line_length": { + "description": "line_length : MD013", + "type": "boolean", + "default": true + }, + "code": { + "description": "code : MD014, MD031, MD038, MD040, MD046, MD048", + "type": "boolean", + "default": true + }, + "atx": { + "description": "atx : MD018, MD019", + "type": "boolean", + "default": true + }, + "spaces": { + "description": "spaces : MD018, MD019, MD020, MD021, MD023", + "type": "boolean", + "default": true + }, + "atx_closed": { + "description": "atx_closed : MD020, MD021", + "type": "boolean", + "default": true + }, + "blockquote": { + "description": "blockquote : MD027, MD028", + "type": "boolean", + "default": true + }, + "ol": { + "description": "ol : MD029, MD030, MD032", + "type": "boolean", + "default": true + }, + "html": { + "description": "html : MD033", + "type": "boolean", + "default": true + }, + "url": { + "description": "url : MD034", + "type": "boolean", + "default": true + }, + "hr": { + "description": "hr : MD035", + "type": "boolean", + "default": true + }, + "emphasis": { + "description": "emphasis : MD036, MD037, MD049, MD050", + "type": "boolean", + "default": true + }, + "language": { + "description": "language : MD040", + "type": "boolean", + "default": true + }, + "spelling": { + "description": "spelling : MD044", + "type": "boolean", + "default": true + }, + "accessibility": { + "description": "accessibility : MD045", + "type": "boolean", + "default": true + }, + "images": { + "description": "images : MD045, MD052, MD053, MD054", + "type": "boolean", + "default": true + }, + "table": { + "description": "table : MD055, MD056, MD058", + "type": "boolean", + "default": true + } + }, + "additionalProperties": false +} \ No newline at end of file diff --git a/_build/html/_sources/universities/trinity-college-dublin.md b/_build/html/_sources/universities/trinity-college-dublin.md index 328b61e..8f1a8f6 100644 --- a/_build/html/_sources/universities/trinity-college-dublin.md +++ b/_build/html/_sources/universities/trinity-college-dublin.md @@ -25,6 +25,6 @@ The OSPO’s primary function is the empowerment of researchers to execute on th ## Other Context -Examples of open source spinouts from TCD include [Software Radio Systems](https://www.srs.io/) (SRS) and [TerminusDB](https://terminusdb.com/). SRS is an open software radio company. Their mission is to develop high-performance software radio solutions for 4G and 5G, with complete UE and RAN solutions, supporting the creation of new mobile services. They work with commercial partners to develop custom solutions for bespoke production networks across challenging terrestrial, air-to-ground and satellite deployments. +Examples of open source spinouts from TCD include Software Radio Systems (SRS) and [TerminusDB](https://terminusdb.com/). SRS is an open software radio company. Their mission is to develop high-performance software radio solutions for 4G and 5G, with complete UE and RAN solutions, supporting the creation of new mobile services. They work with commercial partners to develop custom solutions for bespoke production networks across challenging terrestrial, air-to-ground and satellite deployments. [TerminusDB](https://terminusdb.com/), the company, is the organization behind TerminusDB, the open source document-oriented graph database focused on collaboration and versioning (as well as query performance). diff --git a/_build/html/universities/trinity-college-dublin.html b/_build/html/universities/trinity-college-dublin.html index 088e8d5..e5e414f 100644 --- a/_build/html/universities/trinity-college-dublin.html +++ b/_build/html/universities/trinity-college-dublin.html @@ -467,7 +467,7 @@

Primary Contacts

Other Context#

-

Examples of open source spinouts from TCD include Software Radio Systems (SRS) and TerminusDB. SRS is an open software radio company. Their mission is to develop high-performance software radio solutions for 4G and 5G, with complete UE and RAN solutions, supporting the creation of new mobile services. They work with commercial partners to develop custom solutions for bespoke production networks across challenging terrestrial, air-to-ground and satellite deployments.

+

Examples of open source spinouts from TCD include Software Radio Systems (SRS) and TerminusDB. SRS is an open software radio company. Their mission is to develop high-performance software radio solutions for 4G and 5G, with complete UE and RAN solutions, supporting the creation of new mobile services. They work with commercial partners to develop custom solutions for bespoke production networks across challenging terrestrial, air-to-ground and satellite deployments.

TerminusDB, the company, is the organization behind TerminusDB, the open source document-oriented graph database focused on collaboration and versioning (as well as query performance).

diff --git a/_config.yml b/_config.yml index 90d3f8a..ea994eb 100644 --- a/_config.yml +++ b/_config.yml @@ -4,7 +4,7 @@ title: SustainOSS Academic Ecosystem Map author: SustainOSS Academic Working Group logo: logo.svg -exclude_patterns: [README.md, CODE_OF_CONDUCT.md, contributing.md] +exclude_patterns: [README.md, CODE_OF_CONDUCT.md, contributing.md, node_modules] # Force re-execution of notebooks on each build. # See https://jupyterbook.org/content/execute.html diff --git a/universities/trinity-college-dublin.md b/universities/trinity-college-dublin.md index 328b61e..8f1a8f6 100644 --- a/universities/trinity-college-dublin.md +++ b/universities/trinity-college-dublin.md @@ -25,6 +25,6 @@ The OSPO’s primary function is the empowerment of researchers to execute on th ## Other Context -Examples of open source spinouts from TCD include [Software Radio Systems](https://www.srs.io/) (SRS) and [TerminusDB](https://terminusdb.com/). SRS is an open software radio company. Their mission is to develop high-performance software radio solutions for 4G and 5G, with complete UE and RAN solutions, supporting the creation of new mobile services. They work with commercial partners to develop custom solutions for bespoke production networks across challenging terrestrial, air-to-ground and satellite deployments. +Examples of open source spinouts from TCD include Software Radio Systems (SRS) and [TerminusDB](https://terminusdb.com/). SRS is an open software radio company. Their mission is to develop high-performance software radio solutions for 4G and 5G, with complete UE and RAN solutions, supporting the creation of new mobile services. They work with commercial partners to develop custom solutions for bespoke production networks across challenging terrestrial, air-to-ground and satellite deployments. [TerminusDB](https://terminusdb.com/), the company, is the organization behind TerminusDB, the open source document-oriented graph database focused on collaboration and versioning (as well as query performance).