mdl 0.6.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) hide show
  1. checksums.yaml +4 -4
  2. data/bin/mdl +2 -2
  3. data/lib/mdl.rb +49 -40
  4. data/lib/mdl/cli.rb +92 -90
  5. data/lib/mdl/config.rb +2 -1
  6. data/lib/mdl/doc.rb +51 -58
  7. data/lib/mdl/kramdown_parser.rb +1 -1
  8. data/lib/mdl/rules.rb +222 -168
  9. data/lib/mdl/ruleset.rb +11 -10
  10. data/lib/mdl/style.rb +28 -12
  11. data/lib/mdl/styles/cirosantilli.rb +2 -2
  12. data/lib/mdl/styles/default.rb +1 -1
  13. data/lib/mdl/version.rb +1 -1
  14. data/mdl.gemspec +21 -18
  15. metadata +75 -289
  16. data/.gitignore +0 -13
  17. data/.pre-commit-hooks.yaml +0 -6
  18. data/.travis.yml +0 -12
  19. data/CHANGELOG.md +0 -208
  20. data/CONTRIBUTING.md +0 -7
  21. data/MAINTAINERS.md +0 -21
  22. data/README.md +0 -87
  23. data/Rakefile +0 -8
  24. data/docs/RULES.md +0 -1089
  25. data/docs/configuration.md +0 -99
  26. data/docs/creating_rules.md +0 -90
  27. data/docs/creating_styles.md +0 -47
  28. data/docs/rolling_a_release.md +0 -49
  29. data/example/markdown_spec.md +0 -897
  30. data/test/fixtures/default_mdlrc +0 -1
  31. data/test/fixtures/dir_with_md_and_markdown/bar.markdown +0 -1
  32. data/test/fixtures/dir_with_md_and_markdown/foo.md +0 -1
  33. data/test/fixtures/front_matter/jekyll_post.md +0 -16
  34. data/test/fixtures/mdlrc_disable_rules +0 -1
  35. data/test/fixtures/mdlrc_disable_tags +0 -1
  36. data/test/fixtures/mdlrc_enable_rules +0 -1
  37. data/test/fixtures/mdlrc_enable_tags +0 -1
  38. data/test/fixtures/my_ruleset.rb +0 -6
  39. data/test/rule_tests/alternate_top_level_header.md +0 -3
  40. data/test/rule_tests/alternate_top_level_header_style.rb +0 -4
  41. data/test/rule_tests/atx_closed_header_spacing.md +0 -17
  42. data/test/rule_tests/atx_header_spacing.md +0 -5
  43. data/test/rule_tests/blockquote_blank_lines.md +0 -31
  44. data/test/rule_tests/blockquote_spaces.md +0 -23
  45. data/test/rule_tests/bulleted_list_2_space_indent.md +0 -6
  46. data/test/rule_tests/bulleted_list_2_space_indent_style.rb +0 -3
  47. data/test/rule_tests/bulleted_list_4_space_indent.md +0 -3
  48. data/test/rule_tests/bulleted_list_not_at_beginning_of_line.md +0 -14
  49. data/test/rule_tests/code_block_consistency.md +0 -11
  50. data/test/rule_tests/code_block_consistency_style.rb +0 -1
  51. data/test/rule_tests/code_block_dollar.md +0 -33
  52. data/test/rule_tests/code_block_dollar_fence.md +0 -29
  53. data/test/rule_tests/code_block_fenced.md +0 -17
  54. data/test/rule_tests/code_block_fenced_style.rb +0 -1
  55. data/test/rule_tests/code_block_indented.md +0 -17
  56. data/test/rule_tests/code_block_indented_style.rb +0 -1
  57. data/test/rule_tests/consecutive_blank_lines.md +0 -11
  58. data/test/rule_tests/consistent_bullet_styles_asterisk.md +0 -3
  59. data/test/rule_tests/consistent_bullet_styles_dash.md +0 -3
  60. data/test/rule_tests/consistent_bullet_styles_plus.md +0 -3
  61. data/test/rule_tests/default_test_style.rb +0 -5
  62. data/test/rule_tests/emphasis_instead_of_headers.md +0 -42
  63. data/test/rule_tests/empty_doc.md +0 -0
  64. data/test/rule_tests/fenced_code_blocks.md +0 -27
  65. data/test/rule_tests/fenced_code_with_nesting.md +0 -73
  66. data/test/rule_tests/fenced_code_without_blank_lines.md +0 -42
  67. data/test/rule_tests/fenced_code_without_blank_lines_style.rb +0 -3
  68. data/test/rule_tests/first_header_bad_atx.md +0 -1
  69. data/test/rule_tests/first_header_bad_setext.md +0 -2
  70. data/test/rule_tests/first_header_good_atx.md +0 -1
  71. data/test/rule_tests/first_header_good_setext.md +0 -2
  72. data/test/rule_tests/first_line_top_level_header_atx.md +0 -3
  73. data/test/rule_tests/first_line_top_level_header_atx_style.rb +0 -2
  74. data/test/rule_tests/first_line_top_level_header_setext.md +0 -4
  75. data/test/rule_tests/first_line_top_level_header_setext_style.rb +0 -2
  76. data/test/rule_tests/fix_102_extra_nodes_in_link_text.md +0 -8
  77. data/test/rule_tests/header_duplicate_content.md +0 -11
  78. data/test/rule_tests/header_duplicate_content_different_nesting.md +0 -11
  79. data/test/rule_tests/header_duplicate_content_different_nesting_style.rb +0 -1
  80. data/test/rule_tests/header_duplicate_content_no_different_nesting.md +0 -13
  81. data/test/rule_tests/header_multiple_toplevel.md +0 -3
  82. data/test/rule_tests/header_mutliple_h1_no_toplevel.md +0 -5
  83. data/test/rule_tests/header_trailing_punctuation.md +0 -11
  84. data/test/rule_tests/header_trailing_punctuation_customized.md +0 -14
  85. data/test/rule_tests/header_trailing_punctuation_customized_style.rb +0 -2
  86. data/test/rule_tests/headers_bad.md +0 -7
  87. data/test/rule_tests/headers_good.md +0 -5
  88. data/test/rule_tests/headers_good_setext_with_atx.md +0 -7
  89. data/test/rule_tests/headers_good_setext_with_atx_style.rb +0 -2
  90. data/test/rule_tests/headers_good_with_issue_numbers.md +0 -12
  91. data/test/rule_tests/headers_surrounding_space_atx.md +0 -12
  92. data/test/rule_tests/headers_surrounding_space_setext.md +0 -15
  93. data/test/rule_tests/headers_with_spaces_at_the_beginning.md +0 -20
  94. data/test/rule_tests/hr_style_dashes.md +0 -22
  95. data/test/rule_tests/hr_style_dashes_style.rb +0 -3
  96. data/test/rule_tests/hr_style_inconsistent.md +0 -22
  97. data/test/rule_tests/hr_style_long.md +0 -22
  98. data/test/rule_tests/hr_style_long_style.rb +0 -3
  99. data/test/rule_tests/hr_style_stars.md +0 -22
  100. data/test/rule_tests/hr_style_stars_style.rb +0 -3
  101. data/test/rule_tests/inconsistent_bullet_indent_same_level.md +0 -4
  102. data/test/rule_tests/inconsistent_bullet_styles_asterisk.md +0 -3
  103. data/test/rule_tests/inconsistent_bullet_styles_dash.md +0 -3
  104. data/test/rule_tests/inconsistent_bullet_styles_plus.md +0 -3
  105. data/test/rule_tests/incorrect_bullet_style_asterisk.md +0 -3
  106. data/test/rule_tests/incorrect_bullet_style_asterisk_style.rb +0 -3
  107. data/test/rule_tests/incorrect_bullet_style_dash.md +0 -3
  108. data/test/rule_tests/incorrect_bullet_style_dash_style.rb +0 -3
  109. data/test/rule_tests/incorrect_bullet_style_plus.md +0 -3
  110. data/test/rule_tests/incorrect_bullet_style_plus_style.rb +0 -3
  111. data/test/rule_tests/incorrect_header_atx.md +0 -6
  112. data/test/rule_tests/incorrect_header_atx_closed.md +0 -6
  113. data/test/rule_tests/incorrect_header_atx_closed_style.rb +0 -2
  114. data/test/rule_tests/incorrect_header_atx_style.rb +0 -2
  115. data/test/rule_tests/incorrect_header_setext.md +0 -6
  116. data/test/rule_tests/incorrect_header_setext_style.rb +0 -2
  117. data/test/rule_tests/inline_html.md +0 -13
  118. data/test/rule_tests/links.md +0 -9
  119. data/test/rule_tests/lists_without_blank_lines.md +0 -75
  120. data/test/rule_tests/long_lines.md +0 -3
  121. data/test/rule_tests/long_lines_100.md +0 -7
  122. data/test/rule_tests/long_lines_100_style.rb +0 -3
  123. data/test/rule_tests/long_lines_code.md +0 -45
  124. data/test/rule_tests/long_lines_code_style.rb +0 -3
  125. data/test/rule_tests/mixed_header_types_atx.md +0 -6
  126. data/test/rule_tests/mixed_header_types_atx_closed.md +0 -6
  127. data/test/rule_tests/mixed_header_types_setext.md +0 -6
  128. data/test/rule_tests/no_first_line_header.md +0 -1
  129. data/test/rule_tests/no_first_line_header_style.rb +0 -1
  130. data/test/rule_tests/no_first_line_top_level_header.md +0 -1
  131. data/test/rule_tests/no_first_line_top_level_header_style.rb +0 -1
  132. data/test/rule_tests/ordered_list_item_prefix.md +0 -13
  133. data/test/rule_tests/ordered_list_item_prefix_ordered.md +0 -13
  134. data/test/rule_tests/ordered_list_item_prefix_ordered_style.rb +0 -3
  135. data/test/rule_tests/reversed_link.md +0 -7
  136. data/test/rule_tests/spaces_after_list_marker.md +0 -74
  137. data/test/rule_tests/spaces_after_list_marker_style.rb +0 -5
  138. data/test/rule_tests/spaces_inside_codespan_elements.md +0 -7
  139. data/test/rule_tests/spaces_inside_emphasis_markers.md +0 -35
  140. data/test/rule_tests/spaces_inside_link_text.md +0 -28
  141. data/test/rule_tests/trailing_spaces_br.md +0 -4
  142. data/test/rule_tests/trailing_spaces_br_style.rb +0 -3
  143. data/test/rule_tests/whitespace_issues.md +0 -3
  144. data/test/setup_tests.rb +0 -5
  145. data/test/test_cli.rb +0 -300
  146. data/test/test_ruledocs.rb +0 -52
  147. data/test/test_rules.rb +0 -58
  148. data/tools/README.md +0 -3
  149. data/tools/docker/Dockerfile +0 -13
  150. data/tools/docker/README.md +0 -19
  151. data/tools/test_location.rb +0 -20
  152. data/tools/view_markdown.rb +0 -11
@@ -1,2 +0,0 @@
1
- all
2
- rule 'MD003', :style => :atx_closed
@@ -1,2 +0,0 @@
1
- all
2
- rule 'MD003', :style => :atx
@@ -1,6 +0,0 @@
1
- # Header 1 {MD003} #
2
-
3
- ## Header 2 {MD003}
4
-
5
- Header 3
6
- --------
@@ -1,2 +0,0 @@
1
- all
2
- rule 'MD003', :style => :setext
@@ -1,13 +0,0 @@
1
- # Regular header
2
-
3
- <h1>Inline HTML Header {MD033}</h1>
4
-
5
- <p>More inline HTML {MD033}
6
- but this time on multiple lines
7
- </p>
8
-
9
- <h1>This shouldn't trigger as it's inside a code block</h1>
10
-
11
- ```text
12
- <p>Neither should this as it's also in a code block</p>
13
- ```
@@ -1,9 +0,0 @@
1
- # Link test
2
-
3
- For more information, please see the
4
- following page: http://www.example.com/ {MD034}
5
- which will tell you all you want to know.
6
-
7
- http://www.google.com/ {MD034}
8
-
9
- This link should be fine: <http://www.google.com/>
@@ -1,75 +0,0 @@
1
- * list (on first line)
2
-
3
- text
4
-
5
- * list
6
-
7
- text
8
- * list {MD032}
9
- text
10
- + list {MD032}
11
- text
12
- - list {MD032}
13
- text
14
- 1. list {MD032}
15
- text
16
-
17
- * list
18
- * list {MD032}
19
- text
20
-
21
- text
22
- 10. list {MD032}
23
- 20. list
24
-
25
- text
26
-
27
- * list
28
- * list
29
- * list
30
-
31
- text
32
-
33
- * list
34
- with hanging indent
35
- * list
36
- with hanging indent
37
- * list
38
- with hanging indent
39
-
40
- Note: list without hanging indent violates MD032
41
-
42
- * list
43
-
44
- item with blank lines
45
-
46
- * list
47
-
48
- item with blank lines
49
-
50
- text
51
-
52
- ```js
53
- /*
54
- * code block
55
- * not a list
56
- */
57
- ```
58
-
59
- text
60
-
61
- * list {MD032}
62
- ``` {MD031}
63
- code
64
- ```
65
-
66
- text
67
-
68
- ```
69
- code
70
- ``` {MD031}
71
- * list {MD032}
72
-
73
- text
74
-
75
- * list (on last line without newline)
@@ -1,3 +0,0 @@
1
- This is a very very very very very very very very very very very very very very long line {MD013}
2
-
3
- This line however, while very long, doesn't have whitespace after the 80th columnwhichallowsforURLsandotherlongthings.
@@ -1,7 +0,0 @@
1
- This is a very very very very very very very very long line over 80 chars but less than 100
2
-
3
- This is a very very very very very very very very very very long line over 80 chars, and also over 100. {MD013}
4
-
5
- This is a very very very very very very very very very long line that is exactly 100 characters long
6
-
7
- This line however, while very long, doesn't have whitespace after the 100th columnwhichallowsforURLsandotherlongthings.
@@ -1,3 +0,0 @@
1
- all
2
- rule 'MD013', :line_length => 100
3
- exclude_rule "MD041"
@@ -1,45 +0,0 @@
1
- This is a short line.
2
-
3
- This is a very very very very very very very very very very very very very very very very very very very very long line. {MD013}
4
-
5
- This is a short line.
6
-
7
- ```text
8
- Here is a short line in a code block.
9
- Here is a very very very very very very very very very very very very very very very very very very very long line in a code block.
10
- ```
11
-
12
- ```text
13
- test
14
- test
15
-
16
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut
17
- ```
18
-
19
- This is a short line.
20
-
21
- | First Header | Second Header | Third Header | Fourth Header | Fifth Header | Sixth Header |
22
- | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- |
23
- | Content Cell | Content Cell | Content Cell | Content Cell | Content Cell | Content Cell |
24
- | Content Cell | Content Cell | Content Cell | Content Cell | Content Cell | Content Cell |
25
- | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- |
26
- | Content Cell | Content Cell | Content Cell | Content Cell | Content Cell | Content Cell |
27
- | Content Cell | Content Cell | Content Cell | Content Cell | Content Cell | Content Cell |
28
- | ============= | ============= | ============= | ============= | ============= | ============= |
29
- | Footer Cell | Footer Cell | Footer Cell | Footer Cell | Footer Cell | Footer Cell |
30
- {: rules="groups"}
31
-
32
- This is a very very very very very very very very very very very very very very very very very very very very long line. {MD013}
33
-
34
- Another line.
35
-
36
- | First Header | Second Header | Third Header | Fourth Header | Fifth Header | Sixth Header |
37
- | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- |
38
- | Content Cell | Content Cell | Content Cell | Content Cell | Content Cell | Content Cell |
39
- | Content Cell | Content Cell | Content Cell | Content Cell | Content Cell | Content Cell |
40
- | ------------- | ------------- | ------------- | ------------- | ------------- | ------------- |
41
- | Content Cell | Content Cell | Content Cell | Content Cell | Content Cell | Content Cell |
42
- | Content Cell | Content Cell | Content Cell | Content Cell | Content Cell | Content Cell |
43
- | ============= | ============= | ============= | ============= | ============= | ============= |
44
- | Footer Cell | Footer Cell | Footer Cell | Footer Cell | Footer Cell | Footer Cell |
45
- {: rules="groups"}
@@ -1,3 +0,0 @@
1
- all
2
- rule 'MD013', :code_blocks => false, :tables => false
3
- exclude_rule "MD041"
@@ -1,6 +0,0 @@
1
- # Header
2
-
3
- ## Header 2 {MD003} ##
4
-
5
- Header 3 {MD003}
6
- ----------------
@@ -1,6 +0,0 @@
1
- # Header 1 #
2
-
3
- ## Header 2 {MD003}
4
-
5
- Header 3 {MD003}
6
- ----------------
@@ -1,6 +0,0 @@
1
- Header 1
2
- ========
3
-
4
- ## Header 2 {MD003}
5
-
6
- ## Header 3 {MD003} ##
@@ -1 +0,0 @@
1
- This is a file without a top level header {MD041}
@@ -1 +0,0 @@
1
- ## Second level header {MD041} {MD002}
@@ -1,13 +0,0 @@
1
- Good list:
2
-
3
- 1. Do this.
4
- 1. Do that.
5
- 1. ???
6
- 1. Profit!
7
-
8
- Bad list:
9
-
10
- 1. Do this.
11
- 2. Do nothing. {MD029}
12
- 3. ??? {MD029}
13
- 4. Failed! {MD029}
@@ -1,13 +0,0 @@
1
- Good list:
2
-
3
- 1. Do this.
4
- 2. Do that.
5
- 3. ???
6
- 4. Profit!
7
-
8
- Bad list:
9
-
10
- 1. Do this.
11
- 1. Do nothing. {MD029}
12
- 1. ??? {MD029}
13
- 1. Failed! {MD029}
@@ -1,3 +0,0 @@
1
- all
2
- rule 'MD029', :style => :ordered
3
- exclude_rule 'MD041'
@@ -1,7 +0,0 @@
1
- Go to (this website)[http://www.example.com] {MD011} {MD034}
2
-
3
- However, this shouldn't trigger inside code blocks:
4
-
5
- myObj.getFiles("test")[0]
6
-
7
- Nor inline code: `myobj.getFiles("test")[0]`
@@ -1,74 +0,0 @@
1
- Normal list
2
-
3
- * Foo
4
- * Bar
5
- * Baz
6
-
7
- List with incorrect spacing
8
-
9
- * Foo {MD030}
10
- * Bar {MD030}
11
- * Baz {MD030}
12
-
13
- List with children:
14
-
15
- * Foo {MD030}
16
- * Bar {MD030}
17
- * Baz
18
-
19
- List with children and correct spacing:
20
-
21
- * Foo
22
- * Bar
23
- * Baz (This sublist has no children)
24
-
25
- List with Multiple paragraphs and correct spacing
26
-
27
- * Foo
28
-
29
- Here is the second paragraph
30
-
31
- * All items in the list need the same indent
32
-
33
- List with multiple paragraphs and incorrect spacing
34
-
35
- * Foo {MD030}
36
-
37
- Here is the second paragraph
38
-
39
- * Bar {MD030}
40
-
41
- List with code blocks:
42
-
43
- * Foo
44
-
45
- Here is some code
46
-
47
- * Bar
48
-
49
- Ordered lists:
50
-
51
- 1. Foo
52
- 1. Bar
53
- 1. Baz
54
-
55
- And with incorrect spacing:
56
-
57
- 1. Foo {MD030}
58
- 1. Bar {MD030}
59
- 1. Baz {MD030}
60
-
61
- Ordered lists with children:
62
-
63
- 1. Foo {MD030}
64
- * Hi
65
- 1. Bar {MD030}
66
- 1. Baz {MD030}
67
-
68
- Ordered lists with children (correct spacing), and with something other than
69
- the first item determining that the entire list has children:
70
-
71
- 1. Foo
72
- 1. Bar
73
- * Hi
74
- 1. Baz
@@ -1,5 +0,0 @@
1
- all
2
- rule "MD007", :indent => 4
3
- rule "MD030", :ul_multi => 3, :ol_multi => 2
4
- exclude_rule "MD041"
5
- exclude_rule "MD046"
@@ -1,7 +0,0 @@
1
- `normal codespan element`
2
-
3
- ` codespan element with space inside left` {MD038}
4
-
5
- `codespan element with space inside right ` {MD038}
6
-
7
- ` codespan element with spaces inside ` {MD038}
@@ -1,35 +0,0 @@
1
- Line with *Normal emphasis*
2
-
3
- Line with **Normal strong**
4
-
5
- Line with _Normal emphasis_
6
-
7
- Line with __Normal strong__
8
-
9
- Broken * emphasis * with spaces in {MD037}
10
-
11
- Broken ** strong ** with spaces in {MD037}
12
-
13
- Broken _ emphasis _ with spaces in {MD037}
14
-
15
- Broken __ strong __ with spaces in {MD037}
16
-
17
- Mixed *ok emphasis* and * broken emphasis * {MD037}
18
-
19
- Mixed **ok strong** and ** broken strong ** {MD037}
20
-
21
- Mixed _ok emphasis_ and _ broken emphasis _ {MD037}
22
-
23
- Mixed __ok strong__ and __ broken strong __ {MD037}
24
-
25
- Mixed *ok emphasis* **ok strong** * broken emphasis * {MD037}
26
-
27
- Multiple * broken emphasis * _ broken emphasis _ {MD037}
28
-
29
- One-sided *broken emphasis * {MD037}
30
-
31
- One-sided * broken emphasis* {MD037}
32
-
33
- Don't _flag on _words with underscores before them.
34
-
35
- The same goes for words* with asterisks* after them.
@@ -1,28 +0,0 @@
1
- [](http://bar/)
2
-
3
- [foo](http://bar/)
4
-
5
- ["foo"](http:/bar/)
6
-
7
- [`foo`](http://bar/)
8
-
9
- [*foo*](http://bar/)
10
-
11
- [**foo**](http://bar/)
12
-
13
- [foo "bar"](http:/baz/)
14
-
15
- [foo ](http://bar/) {MD039}
16
-
17
- [ foo](http://bar/) {MD039}
18
-
19
- [ foo ](http://bar/) {MD039}
20
-
21
- [ "foo" ](http://bar/) {MD039}
22
-
23
- [ `foo` ](http://bar/) {MD039}
24
-
25
- [ *foo* ](http://bar/) {MD039}
26
-
27
- The following shouldn't break anything:
28
- [![Screenshot.png](/images/Screenshot.png)](/images/Screenshot.png)
@@ -1,4 +0,0 @@
1
- This line has a single trailing space {MD009}
2
- This line has two trailing spaces and should be allowed
3
- This line has three trailing spaces {MD009}
4
- This line has four trailing spaces {MD009}
@@ -1,3 +0,0 @@
1
- all
2
- rule 'MD009', :br_spaces => 2
3
- exclude_rule "MD041"
@@ -1,3 +0,0 @@
1
- Some text {MD009}
2
- Some more text {MD010}
3
- Some more text
@@ -1,5 +0,0 @@
1
- require 'bundler/setup'
2
- Bundler.setup
3
-
4
- require_relative '../lib/mdl'
5
- require 'minitest/autorun'