rubocop-prose 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. checksums.yaml +7 -0
  2. data/AGENTS.md +13 -0
  3. data/CHANGELOG.md +82 -0
  4. data/CONTRIBUTING.md +77 -0
  5. data/DESIGN.md +51 -0
  6. data/LICENSE.txt +21 -0
  7. data/README.md +152 -0
  8. data/RELEASING.md +32 -0
  9. data/assets/README.md +3 -0
  10. data/assets/RUBOCOP-LICENSE +20 -0
  11. data/assets/logo.gif +0 -0
  12. data/assets/logo.png +0 -0
  13. data/assets/logo.svg +80 -0
  14. data/assets/rubocop-logo.svg +1 -0
  15. data/config/cops/markdown/atx_heading_space.yml +3 -0
  16. data/config/cops/markdown/atx_heading_spacing.yml +3 -0
  17. data/config/cops/markdown/bare_url.yml +7 -0
  18. data/config/cops/markdown/blockquote_blank_lines.yml +3 -0
  19. data/config/cops/markdown/blockquote_spacing.yml +3 -0
  20. data/config/cops/markdown/closed_heading_space.yml +3 -0
  21. data/config/cops/markdown/closed_heading_spacing.yml +3 -0
  22. data/config/cops/markdown/code_block_style.yml +8 -0
  23. data/config/cops/markdown/code_span_spacing.yml +3 -0
  24. data/config/cops/markdown/compact_lists.yml +3 -0
  25. data/config/cops/markdown/descriptive_link_text.yml +8 -0
  26. data/config/cops/markdown/duplicate_headings.yml +4 -0
  27. data/config/cops/markdown/emphasis_heading.yml +3 -0
  28. data/config/cops/markdown/emphasis_spacing.yml +3 -0
  29. data/config/cops/markdown/emphasis_style.yml +4 -0
  30. data/config/cops/markdown/empty_link.yml +3 -0
  31. data/config/cops/markdown/fence_blank_lines.yml +6 -0
  32. data/config/cops/markdown/fence_language.yml +4 -0
  33. data/config/cops/markdown/fence_style.yml +8 -0
  34. data/config/cops/markdown/first_heading.yml +6 -0
  35. data/config/cops/markdown/front_matter.yml +2 -0
  36. data/config/cops/markdown/hard_break_style.yml +4 -0
  37. data/config/cops/markdown/hard_tabs.yml +5 -0
  38. data/config/cops/markdown/heading_blank_lines.yml +5 -0
  39. data/config/cops/markdown/heading_increment.yml +3 -0
  40. data/config/cops/markdown/heading_indentation.yml +3 -0
  41. data/config/cops/markdown/heading_punctuation.yml +4 -0
  42. data/config/cops/markdown/heading_structure.yml +4 -0
  43. data/config/cops/markdown/heading_style.yml +9 -0
  44. data/config/cops/markdown/image_alt_text.yml +3 -0
  45. data/config/cops/markdown/image_path_separators.yml +3 -0
  46. data/config/cops/markdown/link_fragment.yml +6 -0
  47. data/config/cops/markdown/link_style.yml +10 -0
  48. data/config/cops/markdown/link_text_spacing.yml +3 -0
  49. data/config/cops/markdown/list_blank_lines.yml +3 -0
  50. data/config/cops/markdown/list_continuation_indentation.yml +3 -0
  51. data/config/cops/markdown/list_indentation.yml +3 -0
  52. data/config/cops/markdown/list_marker_spacing.yml +7 -0
  53. data/config/cops/markdown/ordered_list_numbering.yml +7 -0
  54. data/config/cops/markdown/outside_spacing.yml +3 -0
  55. data/config/cops/markdown/proper_names.yml +5 -0
  56. data/config/cops/markdown/raw_html.yml +4 -0
  57. data/config/cops/markdown/reference_definitions.yml +8 -0
  58. data/config/cops/markdown/reversed_link.yml +3 -0
  59. data/config/cops/markdown/shell_prompts.yml +13 -0
  60. data/config/cops/markdown/single_top_level_heading.yml +4 -0
  61. data/config/cops/markdown/strong_style.yml +4 -0
  62. data/config/cops/markdown/structural_line_length.yml +9 -0
  63. data/config/cops/markdown/syntax.yml +3 -0
  64. data/config/cops/markdown/table_blank_lines.yml +3 -0
  65. data/config/cops/markdown/table_columns.yml +3 -0
  66. data/config/cops/markdown/table_pipes.yml +4 -0
  67. data/config/cops/markdown/table_spacing.yml +4 -0
  68. data/config/cops/markdown/thematic_break_blank_lines.yml +5 -0
  69. data/config/cops/markdown/thematic_break_style.yml +4 -0
  70. data/config/cops/markdown/trailing_whitespace.yml +5 -0
  71. data/config/cops/markdown/unclosed_fenced_code_block.yml +3 -0
  72. data/config/cops/markdown/undefined_reference.yml +4 -0
  73. data/config/cops/markdown/unordered_list_indentation.yml +4 -0
  74. data/config/cops/markdown/unordered_list_marker.yml +9 -0
  75. data/config/cops/prose/max_length.yml +5 -0
  76. data/config/cops/prose/multiple_blank_lines.yml +4 -0
  77. data/config/cops/prose/trailing_newline.yml +3 -0
  78. data/config/cops/text/trailing_whitespace.yml +3 -0
  79. data/config/default.yml +16 -0
  80. data/docs/cops/markdown/atx_heading_space.md +26 -0
  81. data/docs/cops/markdown/atx_heading_spacing.md +24 -0
  82. data/docs/cops/markdown/bare_url.md +30 -0
  83. data/docs/cops/markdown/blockquote_blank_lines.md +30 -0
  84. data/docs/cops/markdown/blockquote_spacing.md +30 -0
  85. data/docs/cops/markdown/closed_heading_space.md +26 -0
  86. data/docs/cops/markdown/closed_heading_spacing.md +24 -0
  87. data/docs/cops/markdown/code_block_style.md +37 -0
  88. data/docs/cops/markdown/code_span_spacing.md +26 -0
  89. data/docs/cops/markdown/compact_lists.md +29 -0
  90. data/docs/cops/markdown/descriptive_link_text.md +31 -0
  91. data/docs/cops/markdown/duplicate_headings.md +35 -0
  92. data/docs/cops/markdown/emphasis_heading.md +26 -0
  93. data/docs/cops/markdown/emphasis_spacing.md +24 -0
  94. data/docs/cops/markdown/emphasis_style.md +34 -0
  95. data/docs/cops/markdown/empty_link.md +26 -0
  96. data/docs/cops/markdown/fence_blank_lines.md +43 -0
  97. data/docs/cops/markdown/fence_language.md +31 -0
  98. data/docs/cops/markdown/fence_style.md +38 -0
  99. data/docs/cops/markdown/first_heading.md +31 -0
  100. data/docs/cops/markdown/hard_break_style.md +50 -0
  101. data/docs/cops/markdown/hard_tabs.md +30 -0
  102. data/docs/cops/markdown/heading_blank_lines.md +36 -0
  103. data/docs/cops/markdown/heading_increment.md +30 -0
  104. data/docs/cops/markdown/heading_indentation.md +26 -0
  105. data/docs/cops/markdown/heading_punctuation.md +27 -0
  106. data/docs/cops/markdown/heading_structure.md +41 -0
  107. data/docs/cops/markdown/heading_style.md +36 -0
  108. data/docs/cops/markdown/image_alt_text.md +26 -0
  109. data/docs/cops/markdown/image_path_separators.md +32 -0
  110. data/docs/cops/markdown/link_fragment.md +35 -0
  111. data/docs/cops/markdown/link_style.md +49 -0
  112. data/docs/cops/markdown/link_text_spacing.md +26 -0
  113. data/docs/cops/markdown/list_blank_lines.md +31 -0
  114. data/docs/cops/markdown/list_continuation_indentation.md +28 -0
  115. data/docs/cops/markdown/list_indentation.md +28 -0
  116. data/docs/cops/markdown/list_marker_spacing.md +32 -0
  117. data/docs/cops/markdown/ordered_list_numbering.md +29 -0
  118. data/docs/cops/markdown/outside_spacing.md +26 -0
  119. data/docs/cops/markdown/proper_names.md +39 -0
  120. data/docs/cops/markdown/raw_html.md +27 -0
  121. data/docs/cops/markdown/reference_definitions.md +36 -0
  122. data/docs/cops/markdown/reversed_link.md +26 -0
  123. data/docs/cops/markdown/shell_prompts.md +57 -0
  124. data/docs/cops/markdown/single_top_level_heading.md +31 -0
  125. data/docs/cops/markdown/strong_style.md +34 -0
  126. data/docs/cops/markdown/structural_line_length.md +40 -0
  127. data/docs/cops/markdown/syntax.md +28 -0
  128. data/docs/cops/markdown/table_blank_lines.md +34 -0
  129. data/docs/cops/markdown/table_columns.md +30 -0
  130. data/docs/cops/markdown/table_pipes.md +38 -0
  131. data/docs/cops/markdown/table_spacing.md +38 -0
  132. data/docs/cops/markdown/thematic_break_blank_lines.md +31 -0
  133. data/docs/cops/markdown/thematic_break_style.md +48 -0
  134. data/docs/cops/markdown/trailing_whitespace.md +30 -0
  135. data/docs/cops/markdown/unclosed_fenced_code_block.md +29 -0
  136. data/docs/cops/markdown/undefined_reference.md +29 -0
  137. data/docs/cops/markdown/unordered_list_indentation.md +45 -0
  138. data/docs/cops/markdown/unordered_list_marker.md +36 -0
  139. data/docs/cops/prose/max_length.md +33 -0
  140. data/docs/cops/prose/multiple_blank_lines.md +50 -0
  141. data/docs/cops/prose/trailing_newline.md +26 -0
  142. data/docs/cops/text/trailing_whitespace.md +26 -0
  143. data/docs/settings/files.md +33 -0
  144. data/docs/settings/front_matter.md +12 -0
  145. data/lib/rubocop/cop/markdown/atx_heading_space.rb +22 -0
  146. data/lib/rubocop/cop/markdown/atx_heading_spacing.rb +27 -0
  147. data/lib/rubocop/cop/markdown/bare_url.rb +22 -0
  148. data/lib/rubocop/cop/markdown/base.rb +17 -0
  149. data/lib/rubocop/cop/markdown/blockquote_blank_lines.rb +49 -0
  150. data/lib/rubocop/cop/markdown/blockquote_spacing.rb +76 -0
  151. data/lib/rubocop/cop/markdown/closed_heading_space.rb +26 -0
  152. data/lib/rubocop/cop/markdown/closed_heading_spacing.rb +27 -0
  153. data/lib/rubocop/cop/markdown/code_block_style.rb +80 -0
  154. data/lib/rubocop/cop/markdown/code_span_spacing.rb +51 -0
  155. data/lib/rubocop/cop/markdown/compact_lists.rb +43 -0
  156. data/lib/rubocop/cop/markdown/descriptive_link_text.rb +27 -0
  157. data/lib/rubocop/cop/markdown/duplicate_headings.rb +28 -0
  158. data/lib/rubocop/cop/markdown/emphasis_heading.rb +18 -0
  159. data/lib/rubocop/cop/markdown/emphasis_spacing.rb +30 -0
  160. data/lib/rubocop/cop/markdown/emphasis_style.rb +34 -0
  161. data/lib/rubocop/cop/markdown/empty_link.rb +25 -0
  162. data/lib/rubocop/cop/markdown/fence_blank_lines.rb +72 -0
  163. data/lib/rubocop/cop/markdown/fence_language.rb +32 -0
  164. data/lib/rubocop/cop/markdown/fence_style.rb +39 -0
  165. data/lib/rubocop/cop/markdown/first_heading.rb +44 -0
  166. data/lib/rubocop/cop/markdown/hard_break_style.rb +65 -0
  167. data/lib/rubocop/cop/markdown/hard_tabs.rb +32 -0
  168. data/lib/rubocop/cop/markdown/heading_blank_lines.rb +37 -0
  169. data/lib/rubocop/cop/markdown/heading_increment.rb +23 -0
  170. data/lib/rubocop/cop/markdown/heading_indentation.rb +37 -0
  171. data/lib/rubocop/cop/markdown/heading_punctuation.rb +23 -0
  172. data/lib/rubocop/cop/markdown/heading_structure.rb +33 -0
  173. data/lib/rubocop/cop/markdown/heading_style.rb +24 -0
  174. data/lib/rubocop/cop/markdown/image_alt_text.rb +24 -0
  175. data/lib/rubocop/cop/markdown/image_path_separators.rb +32 -0
  176. data/lib/rubocop/cop/markdown/link_fragment.rb +36 -0
  177. data/lib/rubocop/cop/markdown/link_style.rb +29 -0
  178. data/lib/rubocop/cop/markdown/link_text_spacing.rb +34 -0
  179. data/lib/rubocop/cop/markdown/list_blank_lines.rb +38 -0
  180. data/lib/rubocop/cop/markdown/list_continuation_indentation.rb +59 -0
  181. data/lib/rubocop/cop/markdown/list_indentation.rb +28 -0
  182. data/lib/rubocop/cop/markdown/list_marker_spacing.rb +44 -0
  183. data/lib/rubocop/cop/markdown/ordered_list_numbering.rb +35 -0
  184. data/lib/rubocop/cop/markdown/outside_spacing.rb +88 -0
  185. data/lib/rubocop/cop/markdown/proper_names.rb +51 -0
  186. data/lib/rubocop/cop/markdown/raw_html.rb +60 -0
  187. data/lib/rubocop/cop/markdown/reference_definitions.rb +37 -0
  188. data/lib/rubocop/cop/markdown/reversed_link.rb +20 -0
  189. data/lib/rubocop/cop/markdown/shell_prompts.rb +72 -0
  190. data/lib/rubocop/cop/markdown/single_top_level_heading.rb +19 -0
  191. data/lib/rubocop/cop/markdown/strong_style.rb +33 -0
  192. data/lib/rubocop/cop/markdown/structural_line_length.rb +51 -0
  193. data/lib/rubocop/cop/markdown/syntax.rb +33 -0
  194. data/lib/rubocop/cop/markdown/table_blank_lines.rb +46 -0
  195. data/lib/rubocop/cop/markdown/table_columns.rb +23 -0
  196. data/lib/rubocop/cop/markdown/table_pipes.rb +45 -0
  197. data/lib/rubocop/cop/markdown/table_spacing.rb +62 -0
  198. data/lib/rubocop/cop/markdown/thematic_break_blank_lines.rb +115 -0
  199. data/lib/rubocop/cop/markdown/thematic_break_style.rb +74 -0
  200. data/lib/rubocop/cop/markdown/trailing_whitespace.rb +55 -0
  201. data/lib/rubocop/cop/markdown/unclosed_fenced_code_block.rb +82 -0
  202. data/lib/rubocop/cop/markdown/undefined_reference.rb +25 -0
  203. data/lib/rubocop/cop/markdown/unordered_list_indentation.rb +37 -0
  204. data/lib/rubocop/cop/markdown/unordered_list_marker.rb +45 -0
  205. data/lib/rubocop/cop/prose/base.rb +55 -0
  206. data/lib/rubocop/cop/prose/max_length.rb +93 -0
  207. data/lib/rubocop/cop/prose/multiple_blank_lines.rb +96 -0
  208. data/lib/rubocop/cop/prose/trailing_newline.rb +26 -0
  209. data/lib/rubocop/cop/text/base.rb +17 -0
  210. data/lib/rubocop/cop/text/trailing_whitespace.rb +25 -0
  211. data/lib/rubocop/prose/code_rules.rb +79 -0
  212. data/lib/rubocop/prose/document.rb +62 -0
  213. data/lib/rubocop/prose/file_types.rb +56 -0
  214. data/lib/rubocop/prose/heading_rules.rb +54 -0
  215. data/lib/rubocop/prose/inline_rules.rb +213 -0
  216. data/lib/rubocop/prose/link_rules.rb +630 -0
  217. data/lib/rubocop/prose/list_rules.rb +65 -0
  218. data/lib/rubocop/prose/markdown_document.rb +167 -0
  219. data/lib/rubocop/prose/parser.rb +80 -0
  220. data/lib/rubocop/prose/plugin.rb +30 -0
  221. data/lib/rubocop/prose/runner.rb +63 -0
  222. data/lib/rubocop/prose/source.rb +82 -0
  223. data/lib/rubocop/prose/structural_blank_lines.rb +90 -0
  224. data/lib/rubocop/prose/table_rules.rb +71 -0
  225. data/lib/rubocop/prose/text_document.rb +54 -0
  226. data/lib/rubocop/prose/version.rb +7 -0
  227. data/lib/rubocop-prose.rb +30 -0
  228. metadata +335 -0
@@ -0,0 +1,7 @@
1
+ Markdown/BareUrl:
2
+ Description: 'Require Markdown links or autolinks around bare URLs.'
3
+ Enabled: false
4
+ Schemes:
5
+ - http
6
+ - https
7
+ - ftp
@@ -0,0 +1,3 @@
1
+ Markdown/BlockquoteBlankLines:
2
+ Description: Keep quote markers on blank lines between blockquotes.
3
+ Enabled: true
@@ -0,0 +1,3 @@
1
+ Markdown/BlockquoteSpacing:
2
+ Description: Use one space after nonempty blockquote markers.
3
+ Enabled: true
@@ -0,0 +1,3 @@
1
+ Markdown/ClosedHeadingSpace:
2
+ Description: 'Separate closing ATX heading hashes from text.'
3
+ Enabled: true
@@ -0,0 +1,3 @@
1
+ Markdown/ClosedHeadingSpacing:
2
+ Description: 'Use one space before closing ATX heading hashes.'
3
+ Enabled: true
@@ -0,0 +1,8 @@
1
+ Markdown/CodeBlockStyle:
2
+ Description: Use fenced, indented, or consistently styled code blocks.
3
+ Enabled: false
4
+ EnforcedStyle: consistent
5
+ SupportedStyles:
6
+ - consistent
7
+ - fenced
8
+ - indented
@@ -0,0 +1,3 @@
1
+ Markdown/CodeSpanSpacing:
2
+ Description: 'Avoid unnecessary padding inside inline code.'
3
+ Enabled: true
@@ -0,0 +1,3 @@
1
+ Markdown/CompactLists:
2
+ Description: Avoid blank lines between simple list items.
3
+ Enabled: true
@@ -0,0 +1,8 @@
1
+ Markdown/DescriptiveLinkText:
2
+ Description: 'Require descriptive link text instead of generic labels.'
3
+ Enabled: true
4
+ GenericLabels:
5
+ - click here
6
+ - here
7
+ - link
8
+ - more
@@ -0,0 +1,4 @@
1
+ Markdown/DuplicateHeadings:
2
+ Description: 'Avoid duplicate heading text.'
3
+ Enabled: true
4
+ Scope: siblings
@@ -0,0 +1,3 @@
1
+ Markdown/EmphasisHeading:
2
+ Description: 'Avoid single-line emphasis-only paragraphs in place of headings.'
3
+ Enabled: false
@@ -0,0 +1,3 @@
1
+ Markdown/EmphasisSpacing:
2
+ Description: 'Remove whitespace immediately inside emphasis delimiters.'
3
+ Enabled: true
@@ -0,0 +1,4 @@
1
+ Markdown/EmphasisStyle:
2
+ Description: 'Use a configured or consistent emphasis delimiter.'
3
+ Enabled: true
4
+ Style: consistent
@@ -0,0 +1,3 @@
1
+ Markdown/EmptyLink:
2
+ Description: 'Require a nonempty link destination.'
3
+ Enabled: true
@@ -0,0 +1,6 @@
1
+ Markdown/FenceBlankLines:
2
+ Description: Surround fenced code blocks with container-aware blank lines.
3
+ Enabled: true
4
+ LinesAbove: 1
5
+ LinesBelow: 1
6
+ ListItems: true
@@ -0,0 +1,4 @@
1
+ Markdown/FenceLanguage:
2
+ Description: Require a language and optionally restrict fence languages.
3
+ Enabled: true
4
+ AllowedLanguages: []
@@ -0,0 +1,8 @@
1
+ Markdown/FenceStyle:
2
+ Description: Use backtick, tilde, or consistently styled fences.
3
+ Enabled: true
4
+ EnforcedStyle: consistent
5
+ SupportedStyles:
6
+ - consistent
7
+ - backtick
8
+ - tilde
@@ -0,0 +1,6 @@
1
+ Markdown/FirstHeading:
2
+ Description: 'Begin documents with a heading or front-matter title.'
3
+ Enabled: false
4
+ Level: 1
5
+ FrontMatterTitle: true
6
+ TitleKey: title
@@ -0,0 +1,2 @@
1
+ Markdown:
2
+ IgnoreFrontMatter: true
@@ -0,0 +1,4 @@
1
+ Markdown/HardBreakStyle:
2
+ Description: 'Use a configured Markdown hard-break syntax.'
3
+ Enabled: true
4
+ Style: backslash
@@ -0,0 +1,5 @@
1
+ Markdown/HardTabs:
2
+ Description: 'Disallow hard tabs with code-language exceptions.'
3
+ Enabled: true
4
+ CodeBlocks: false
5
+ AllowedCodeLanguages: []
@@ -0,0 +1,5 @@
1
+ Markdown/HeadingBlankLines:
2
+ Description: 'Surround headings with blank lines.'
3
+ Enabled: true
4
+ LinesAbove: 1
5
+ LinesBelow: 1
@@ -0,0 +1,3 @@
1
+ Markdown/HeadingIncrement:
2
+ Description: 'Increase heading levels without skipping levels.'
3
+ Enabled: true
@@ -0,0 +1,3 @@
1
+ Markdown/HeadingIndentation:
2
+ Description: 'Avoid leading indentation before headings.'
3
+ Enabled: true
@@ -0,0 +1,4 @@
1
+ Markdown/HeadingPunctuation:
2
+ Description: 'Avoid configured trailing heading punctuation.'
3
+ Enabled: false
4
+ Punctuation: '.,;:!?'
@@ -0,0 +1,4 @@
1
+ Markdown/HeadingStructure:
2
+ Description: 'Match a configured exact heading outline.'
3
+ Enabled: false
4
+ Headings: []
@@ -0,0 +1,9 @@
1
+ Markdown/HeadingStyle:
2
+ Description: 'Use a consistent heading syntax.'
3
+ Enabled: false
4
+ EnforcedStyle: consistent
5
+ SupportedStyles:
6
+ - consistent
7
+ - atx
8
+ - atx_closed
9
+ - setext
@@ -0,0 +1,3 @@
1
+ Markdown/ImageAltText:
2
+ Description: 'Require nonblank Markdown image alternative text.'
3
+ Enabled: true
@@ -0,0 +1,3 @@
1
+ Markdown/ImagePathSeparators:
2
+ Description: 'Use forward slashes in local image destinations.'
3
+ Enabled: true
@@ -0,0 +1,6 @@
1
+ Markdown/LinkFragment:
2
+ Description: 'Validate local fragments using configurable heading anchors.'
3
+ Enabled: false
4
+ Renderer: github
5
+ AdditionalAnchors: []
6
+ AllowEmptyFragment: true
@@ -0,0 +1,10 @@
1
+ Markdown/LinkStyle:
2
+ Description: 'Configure permitted link and image styles independently.'
3
+ Enabled: false
4
+ AllowedLinkStyles:
5
+ - inline
6
+ - reference
7
+ - autolink
8
+ AllowedImageStyles:
9
+ - inline
10
+ - reference
@@ -0,0 +1,3 @@
1
+ Markdown/LinkTextSpacing:
2
+ Description: 'Remove leading and trailing whitespace from link text.'
3
+ Enabled: true
@@ -0,0 +1,3 @@
1
+ Markdown/ListBlankLines:
2
+ Description: Surround parsed lists with blank lines.
3
+ Enabled: true
@@ -0,0 +1,3 @@
1
+ Markdown/ListContinuationIndentation:
2
+ Description: Indent list continuation text to its item's content column.
3
+ Enabled: true
@@ -0,0 +1,3 @@
1
+ Markdown/ListIndentation:
2
+ Description: Keep sibling list markers consistently indented.
3
+ Enabled: true
@@ -0,0 +1,7 @@
1
+ Markdown/ListMarkerSpacing:
2
+ Description: Configure spaces after ordered and unordered list markers.
3
+ Enabled: true
4
+ UnorderedSingle: 1
5
+ OrderedSingle: 1
6
+ UnorderedMulti: 1
7
+ OrderedMulti: 1
@@ -0,0 +1,7 @@
1
+ Markdown/OrderedListNumbering:
2
+ Description: Use sequential numbers or repeated ones in ordered lists.
3
+ Enabled: false
4
+ EnforcedStyle: sequential
5
+ SupportedStyles:
6
+ - sequential
7
+ - ones
@@ -0,0 +1,3 @@
1
+ Markdown/OutsideSpacing:
2
+ Description: 'Report inline formatting directly adjacent to prose words.'
3
+ Enabled: true
@@ -0,0 +1,5 @@
1
+ Markdown/ProperNames:
2
+ Description: 'Use configured capitalization for proper names.'
3
+ Enabled: false
4
+ Names: []
5
+ CodeBlocks: false
@@ -0,0 +1,4 @@
1
+ Markdown/RawHtml:
2
+ Description: 'Disallow raw HTML except explicitly allowed elements.'
3
+ Enabled: false
4
+ AllowedElements: []
@@ -0,0 +1,8 @@
1
+ Markdown/ReferenceDefinitions:
2
+ Description: 'Report unused and duplicate reference definitions.'
3
+ Enabled: true
4
+ CheckUnused: false
5
+ CheckDuplicates: true
6
+ AllowIdenticalDuplicates: false
7
+ IgnoredDefinitions:
8
+ - '//'
@@ -0,0 +1,3 @@
1
+ Markdown/ReversedLink:
2
+ Description: 'Report reversed Markdown link delimiters.'
3
+ Enabled: true
@@ -0,0 +1,13 @@
1
+ Markdown/ShellPrompts:
2
+ Description: Omit configured shell prompts in examples without output.
3
+ Enabled: true
4
+ Prompts:
5
+ - '$'
6
+ - '%'
7
+ ShellLanguages:
8
+ - bash
9
+ - console
10
+ - ksh
11
+ - sh
12
+ - shell
13
+ - zsh
@@ -0,0 +1,4 @@
1
+ Markdown/SingleTopLevelHeading:
2
+ Description: 'Allow at most one top-level heading.'
3
+ Enabled: false
4
+ Level: 1
@@ -0,0 +1,4 @@
1
+ Markdown/StrongStyle:
2
+ Description: 'Use a configured or consistent strong delimiter.'
3
+ Enabled: true
4
+ Style: consistent
@@ -0,0 +1,9 @@
1
+ Markdown/StructuralLineLength:
2
+ Description: Report overlong heading, code-block, and table source lines without reflowing them.
3
+ Enabled: false
4
+ Max: 80
5
+ Headings: true
6
+ HeadingMax:
7
+ CodeBlocks: false
8
+ CodeBlockMax:
9
+ Tables: false
@@ -0,0 +1,3 @@
1
+ Markdown/Syntax:
2
+ Description: 'Report native Markdown parser diagnostics.'
3
+ Enabled: true
@@ -0,0 +1,3 @@
1
+ Markdown/TableBlankLines:
2
+ Description: 'Surround Markdown tables with blank lines.'
3
+ Enabled: true
@@ -0,0 +1,3 @@
1
+ Markdown/TableColumns:
2
+ Description: 'Match table body column counts to the header.'
3
+ Enabled: true
@@ -0,0 +1,4 @@
1
+ Markdown/TablePipes:
2
+ Description: 'Use consistent leading and trailing table pipes.'
3
+ Enabled: true
4
+ Style: consistent
@@ -0,0 +1,4 @@
1
+ Markdown/TableSpacing:
2
+ Description: 'Use configured spacing around table cell content.'
3
+ Enabled: true
4
+ Style: aligned
@@ -0,0 +1,5 @@
1
+ Markdown/ThematicBreakBlankLines:
2
+ Description: Surround parsed thematic breaks with container-aware blank lines.
3
+ Enabled: true
4
+ LinesAbove: 1
5
+ LinesBelow: 1
@@ -0,0 +1,4 @@
1
+ Markdown/ThematicBreakStyle:
2
+ Description: 'Use configured or consistent thematic breaks.'
3
+ Enabled: true
4
+ Style: consistent
@@ -0,0 +1,5 @@
1
+ Markdown/TrailingWhitespace:
2
+ Description: 'Remove trailing whitespace while retaining Markdown hard breaks.'
3
+ Enabled: true
4
+ HardBreakSpaces: 2
5
+ CodeBlocks: false
@@ -0,0 +1,3 @@
1
+ Markdown/UnclosedFencedCodeBlock:
2
+ Description: Require an explicit closing fence for fenced code blocks.
3
+ Enabled: true
@@ -0,0 +1,4 @@
1
+ Markdown/UndefinedReference:
2
+ Description: 'Require definitions for link and image references.'
3
+ Enabled: true
4
+ ShortcutSyntax: false
@@ -0,0 +1,4 @@
1
+ Markdown/UnorderedListIndentation:
2
+ Description: Use a configured indentation width for unordered lists.
3
+ Enabled: true
4
+ Indent: 2
@@ -0,0 +1,9 @@
1
+ Markdown/UnorderedListMarker:
2
+ Description: Use a configured or consistent unordered list marker.
3
+ Enabled: true
4
+ EnforcedStyle: consistent
5
+ SupportedStyles:
6
+ - consistent
7
+ - asterisk
8
+ - plus
9
+ - dash
@@ -0,0 +1,5 @@
1
+ Prose/MaxLength:
2
+ Description: 'Wrap or unwrap prose paragraphs in Markdown and plain text.'
3
+ Enabled: true
4
+ Max: false
5
+ IgnoreURLs: true
@@ -0,0 +1,4 @@
1
+ Prose/MultipleBlankLines:
2
+ Description: 'Limit consecutive blank lines in prose, including Markdown blockquotes.'
3
+ Enabled: true
4
+ Max: 1
@@ -0,0 +1,3 @@
1
+ Prose/TrailingNewline:
2
+ Description: 'Require exactly one final newline.'
3
+ Enabled: true
@@ -0,0 +1,3 @@
1
+ Text/TrailingWhitespace:
2
+ Description: Remove all trailing spaces and tabs from plain-text lines.
3
+ Enabled: true
@@ -0,0 +1,16 @@
1
+ Markdown:
2
+ Include:
3
+ - '**/*.[mM][dD]'
4
+ - '**/*.[mM][aA][rR][kK][dD][oO][wW][nN]'
5
+ - '**/*.[mM][dD][oO][wW][nN]'
6
+ - '**/*.[mM][dD][wW][nN]'
7
+ - '**/*.[mM][kK][dD]'
8
+ - '**/*.[mM][kK][dD][nN]'
9
+ - '**/*.[mM][kK][dD][oO][wW][nN]'
10
+ - '**/*.[lL][iI][vV][eE][mM][dD]'
11
+ - '**/*.[rR][oO][nN][nN]'
12
+ - '**/*.[sS][cC][dD]'
13
+ - '**/*.[wW][oO][rR][kK][bB][oO][oO][kK]'
14
+ Text:
15
+ Include:
16
+ - '**/*.[tT][xX][tT]'
@@ -0,0 +1,26 @@
1
+ # Markdown/AtxHeadingSpace
2
+
3
+ Reports a missing separator after one to six opening heading hashes, such as `##Title`, including in lists and blockquotes. A space or tab is accepted.
4
+
5
+ Report-only: inserting a space could turn intentional text into a heading.
6
+
7
+ ## Configuration
8
+
9
+ ```yaml
10
+ Markdown/AtxHeadingSpace:
11
+ Enabled: true
12
+ ```
13
+
14
+ ## Example
15
+
16
+ ### Bad
17
+
18
+ ```markdown
19
+ #Title
20
+ ```
21
+
22
+ ### Good
23
+
24
+ ```markdown
25
+ # Title
26
+ ```
@@ -0,0 +1,24 @@
1
+ # Markdown/AtxHeadingSpacing
2
+
3
+ Replaces multiple spaces or tabs after opening heading hashes with one space. Empty headings and a single separating tab are accepted.
4
+
5
+ ## Configuration
6
+
7
+ ```yaml
8
+ Markdown/AtxHeadingSpacing:
9
+ Enabled: true
10
+ ```
11
+
12
+ ## Example
13
+
14
+ ### Bad
15
+
16
+ ```markdown
17
+ # Title
18
+ ```
19
+
20
+ ### Good
21
+
22
+ ```markdown
23
+ # Title
24
+ ```
@@ -0,0 +1,30 @@
1
+ # Markdown/BareUrl
2
+
3
+ Reports bare URLs in prose. Use `<https://example.test/docs>` or `[the documentation](https://example.test/docs)` instead.
4
+
5
+ Report-only: choose an autolink or descriptive label when fixing the URL.
6
+
7
+ ## Configuration
8
+
9
+ ```yaml
10
+ Markdown/BareUrl:
11
+ Enabled: false
12
+ Schemes: # An empty list disables URL matching.
13
+ - http
14
+ - https
15
+ - ftp
16
+ ```
17
+
18
+ ## Example
19
+
20
+ ### Bad
21
+
22
+ ```markdown
23
+ Visit https://example.test/guide.
24
+ ```
25
+
26
+ ### Good
27
+
28
+ ```markdown
29
+ Visit [the guide](https://example.test/guide).
30
+ ```
@@ -0,0 +1,30 @@
1
+ # Markdown/BlockquoteBlankLines
2
+
3
+ Adds quote markers to blank lines between adjacent blockquotes, preserving nesting and indentation.
4
+
5
+ This treats adjacent quotes as one quotation. Separate them with other content if they should remain distinct.
6
+
7
+ ## Configuration
8
+
9
+ ```yaml
10
+ Markdown/BlockquoteBlankLines:
11
+ Enabled: true
12
+ ```
13
+
14
+ ## Example
15
+
16
+ ### Bad
17
+
18
+ ```markdown
19
+ > First paragraph.
20
+
21
+ > Second paragraph.
22
+ ```
23
+
24
+ ### Good
25
+
26
+ ```markdown
27
+ > First paragraph.
28
+ >
29
+ > Second paragraph.
30
+ ```
@@ -0,0 +1,30 @@
1
+ # Markdown/BlockquoteSpacing
2
+
3
+ Requires one space after each nonempty blockquote marker, including nested markers, and replaces multiple spaces or tabs with one space. This cop is enabled by default.
4
+
5
+ Empty quote lines and indentation inside quoted lists and code are preserved. Missing separators are autocorrected only when reparsing confirms the Markdown structure is unchanged; otherwise, the offense is report-only.
6
+
7
+ ## Configuration
8
+
9
+ ```yaml
10
+ Markdown/BlockquoteSpacing:
11
+ Enabled: true
12
+ ```
13
+
14
+ ## Example
15
+
16
+ ### Bad
17
+
18
+ ```markdown
19
+ >A quotation.
20
+ > A quotation.
21
+ >>A nested quotation.
22
+ ```
23
+
24
+ ### Good
25
+
26
+ ```markdown
27
+ > A quotation.
28
+ > A quotation.
29
+ > > A nested quotation.
30
+ ```
@@ -0,0 +1,26 @@
1
+ # Markdown/ClosedHeadingSpace
2
+
3
+ Reports hashes attached to the end of heading text, such as `# Title#`. Missing opening separators belong to [Markdown/AtxHeadingSpace](atx_heading_space.md).
4
+
5
+ Report-only: suffixes such as `# C#` may be intentional, and adding a space changes the heading's rendered text.
6
+
7
+ ## Configuration
8
+
9
+ ```yaml
10
+ Markdown/ClosedHeadingSpace:
11
+ Enabled: true
12
+ ```
13
+
14
+ ## Example
15
+
16
+ ### Bad
17
+
18
+ ```markdown
19
+ # Title#
20
+ ```
21
+
22
+ ### Good
23
+
24
+ ```markdown
25
+ # Title #
26
+ ```
@@ -0,0 +1,24 @@
1
+ # Markdown/ClosedHeadingSpacing
2
+
3
+ Replaces multiple spaces or tabs before closing heading hashes with one space, leaving the hashes intact. A single separating tab is accepted.
4
+
5
+ ## Configuration
6
+
7
+ ```yaml
8
+ Markdown/ClosedHeadingSpacing:
9
+ Enabled: true
10
+ ```
11
+
12
+ ## Example
13
+
14
+ ### Bad
15
+
16
+ ```markdown
17
+ # Title #
18
+ ```
19
+
20
+ ### Good
21
+
22
+ ```markdown
23
+ # Title #
24
+ ```