mdl 0.0.1
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.
- checksums.yaml +7 -0
- data/.gitignore +13 -0
- data/.travis.yml +7 -0
- data/Gemfile +2 -0
- data/LICENSE.txt +22 -0
- data/README.md +79 -0
- data/Rakefile +8 -0
- data/bin/mdl +10 -0
- data/docs/RULES.md +609 -0
- data/docs/creating_rules.md +83 -0
- data/docs/creating_styles.md +47 -0
- data/example/markdown_spec.md +897 -0
- data/lib/mdl.rb +72 -0
- data/lib/mdl/cli.rb +89 -0
- data/lib/mdl/config.rb +9 -0
- data/lib/mdl/doc.rb +252 -0
- data/lib/mdl/kramdown_parser.rb +29 -0
- data/lib/mdl/rules.rb +393 -0
- data/lib/mdl/ruleset.rb +47 -0
- data/lib/mdl/style.rb +50 -0
- data/lib/mdl/styles/all.rb +1 -0
- data/lib/mdl/styles/cirosantilli.rb +6 -0
- data/lib/mdl/styles/default.rb +1 -0
- data/lib/mdl/styles/relaxed.rb +6 -0
- data/lib/mdl/version.rb +3 -0
- data/mdl.gemspec +31 -0
- data/test/rule_tests/atx_closed_header_spacing.md +17 -0
- data/test/rule_tests/atx_header_spacing.md +5 -0
- data/test/rule_tests/blockquote_blank_lines.md +31 -0
- data/test/rule_tests/blockquote_spaces.md +21 -0
- data/test/rule_tests/bulleted_list_2_space_indent.md +6 -0
- data/test/rule_tests/bulleted_list_2_space_indent_style.rb +2 -0
- data/test/rule_tests/bulleted_list_4_space_indent.md +3 -0
- data/test/rule_tests/bulleted_list_not_at_beginning_of_line.md +14 -0
- data/test/rule_tests/code_block_dollar.md +22 -0
- data/test/rule_tests/consecutive_blank_lines.md +11 -0
- data/test/rule_tests/consistent_bullet_styles_asterisk.md +3 -0
- data/test/rule_tests/consistent_bullet_styles_dash.md +3 -0
- data/test/rule_tests/consistent_bullet_styles_plus.md +3 -0
- data/test/rule_tests/empty_doc.md +0 -0
- data/test/rule_tests/fenced_code_blocks.md +21 -0
- data/test/rule_tests/first_header_bad_atx.md +1 -0
- data/test/rule_tests/first_header_bad_setext.md +2 -0
- data/test/rule_tests/first_header_good_atx.md +1 -0
- data/test/rule_tests/first_header_good_setext.md +2 -0
- data/test/rule_tests/header_duplicate_content.md +11 -0
- data/test/rule_tests/header_multiple_toplevel.md +3 -0
- data/test/rule_tests/header_mutliple_h1_no_toplevel.md +5 -0
- data/test/rule_tests/header_trailing_punctuation.md +11 -0
- data/test/rule_tests/header_trailing_punctuation_customized.md +14 -0
- data/test/rule_tests/header_trailing_punctuation_customized_style.rb +2 -0
- data/test/rule_tests/headers_bad.md +7 -0
- data/test/rule_tests/headers_good.md +5 -0
- data/test/rule_tests/headers_surrounding_space_atx.md +9 -0
- data/test/rule_tests/headers_surrounding_space_setext.md +15 -0
- data/test/rule_tests/headers_with_spaces_at_the_beginning.md +9 -0
- data/test/rule_tests/inconsistent_bullet_indent_same_level.md +4 -0
- data/test/rule_tests/inconsistent_bullet_styles_asterisk.md +3 -0
- data/test/rule_tests/inconsistent_bullet_styles_dash.md +3 -0
- data/test/rule_tests/inconsistent_bullet_styles_plus.md +3 -0
- data/test/rule_tests/incorrect_bullet_style_asterisk.md +3 -0
- data/test/rule_tests/incorrect_bullet_style_asterisk_style.rb +2 -0
- data/test/rule_tests/incorrect_bullet_style_dash.md +3 -0
- data/test/rule_tests/incorrect_bullet_style_dash_style.rb +2 -0
- data/test/rule_tests/incorrect_bullet_style_plus.md +3 -0
- data/test/rule_tests/incorrect_bullet_style_plus_style.rb +2 -0
- data/test/rule_tests/incorrect_header_atx.md +6 -0
- data/test/rule_tests/incorrect_header_atx_closed.md +6 -0
- data/test/rule_tests/incorrect_header_atx_closed_style.rb +2 -0
- data/test/rule_tests/incorrect_header_atx_style.rb +2 -0
- data/test/rule_tests/incorrect_header_setext.md +6 -0
- data/test/rule_tests/incorrect_header_setext_style.rb +2 -0
- data/test/rule_tests/long_lines.md +3 -0
- data/test/rule_tests/long_lines_100.md +7 -0
- data/test/rule_tests/long_lines_100_style.rb +2 -0
- data/test/rule_tests/mixed_header_types_atx.md +6 -0
- data/test/rule_tests/mixed_header_types_atx_closed.md +6 -0
- data/test/rule_tests/mixed_header_types_setext.md +6 -0
- data/test/rule_tests/ordered_list_item_prefix.md +13 -0
- data/test/rule_tests/ordered_list_item_prefix_ordered.md +13 -0
- data/test/rule_tests/ordered_list_item_prefix_ordered_style.rb +2 -0
- data/test/rule_tests/reversed_link.md +7 -0
- data/test/rule_tests/spaces_after_list_marker.md +74 -0
- data/test/rule_tests/spaces_after_list_marker_style.rb +3 -0
- data/test/rule_tests/whitespace issues.md +3 -0
- data/test/setup_tests.rb +5 -0
- data/test/test_ruledocs.rb +45 -0
- data/test/test_rules.rb +56 -0
- data/tools/README.md +3 -0
- data/tools/test_location.rb +20 -0
- data/tools/view_markdown.rb +11 -0
- metadata +314 -0
@@ -0,0 +1 @@
|
|
1
|
+
all
|
@@ -0,0 +1 @@
|
|
1
|
+
all
|
data/lib/mdl/version.rb
ADDED
data/mdl.gemspec
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'mdl/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "mdl"
|
8
|
+
spec.version = MarkdownLint::VERSION
|
9
|
+
spec.authors = ["Mark Harrison"]
|
10
|
+
spec.email = ["mark@mivok.net"]
|
11
|
+
spec.summary = %q{Markdown lint tool}
|
12
|
+
spec.description = %q{Style checker/lint tool for markdown files}
|
13
|
+
spec.homepage = "http://github.com/mivok/mdl"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files -z`.split("\x0")
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.required_ruby_version = '>= 1.9.2'
|
22
|
+
|
23
|
+
spec.add_dependency 'kramdown', '~> 1.4', '>= 1.4.0'
|
24
|
+
spec.add_dependency 'mixlib-config', '~> 2.1', '>= 2.1.0'
|
25
|
+
spec.add_dependency 'mixlib-cli', '~> 1.5', '>= 1.5.0'
|
26
|
+
|
27
|
+
spec.add_development_dependency 'bundler', '~> 1.5'
|
28
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
29
|
+
spec.add_development_dependency 'minitest', '~> 5.0'
|
30
|
+
spec.add_development_dependency 'pry', '~> 0.10'
|
31
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
Some text
|
2
|
+
|
3
|
+
> a quote
|
4
|
+
> same quote
|
5
|
+
|
6
|
+
> blank line above me
|
7
|
+
|
8
|
+
|
9
|
+
> two blank lines above me
|
10
|
+
|
11
|
+
> space above me
|
12
|
+
|
13
|
+
* List with embedded blockquote
|
14
|
+
|
15
|
+
> Test
|
16
|
+
> Test
|
17
|
+
|
18
|
+
> Test
|
19
|
+
|
20
|
+
* Item 2
|
21
|
+
|
22
|
+
> Test. The blank line below should _not_ trigger MD028 as one blockquote is
|
23
|
+
> inside the list, and the other is outside it.
|
24
|
+
|
25
|
+
> Test
|
26
|
+
|
27
|
+
Expected errors:
|
28
|
+
|
29
|
+
{MD028:5} {MD028:8} {MD028:10} {MD028:17}
|
30
|
+
{MD009:10} (trailing space is intentional)
|
31
|
+
{MD012:8} (multiple blank lines are intentional)
|
@@ -0,0 +1,21 @@
|
|
1
|
+
Some text
|
2
|
+
|
3
|
+
> Hello world
|
4
|
+
> Foo {MD027}
|
5
|
+
> Bar {MD027}
|
6
|
+
|
7
|
+
This tests other things embedded in the blockquote:
|
8
|
+
|
9
|
+
> *Hello world*
|
10
|
+
> *foo* {MD027}
|
11
|
+
> **bar** {MD027}
|
12
|
+
> "Baz" {MD027}
|
13
|
+
> *foo*
|
14
|
+
> **bar**
|
15
|
+
> 'baz'
|
16
|
+
|
17
|
+
Test the first line being indented too much:
|
18
|
+
|
19
|
+
> Foo {MD027}
|
20
|
+
> Bar {MD027}
|
21
|
+
> Baz
|
@@ -0,0 +1,22 @@
|
|
1
|
+
The following code block shouldn't have $ before the commands:
|
2
|
+
|
3
|
+
$ ls {MD014}
|
4
|
+
$ less foo
|
5
|
+
|
6
|
+
$ cat bar
|
7
|
+
|
8
|
+
However the following code block shows output, and $ can be used to
|
9
|
+
distinguish between command and output:
|
10
|
+
|
11
|
+
$ ls
|
12
|
+
foo bar
|
13
|
+
$ less foo
|
14
|
+
Hello world
|
15
|
+
|
16
|
+
$ cat bar
|
17
|
+
baz
|
18
|
+
|
19
|
+
The following code block uses variable names, and likewise shouldn't fire:
|
20
|
+
|
21
|
+
$foo = 'bar';
|
22
|
+
$baz = 'qux';
|
File without changes
|
@@ -0,0 +1,21 @@
|
|
1
|
+
This is a GFM-style fenced code block:
|
2
|
+
|
3
|
+
``` bash
|
4
|
+
#!/bin/bash
|
5
|
+
|
6
|
+
# Print something to stdout:
|
7
|
+
echo "Hello"
|
8
|
+
echo "World"
|
9
|
+
```
|
10
|
+
|
11
|
+
This is a kramdown-style fenced code block:
|
12
|
+
|
13
|
+
~~~ bash
|
14
|
+
#!/bin/bash
|
15
|
+
|
16
|
+
# Print something to stdout:
|
17
|
+
echo "Hello"
|
18
|
+
echo "World"
|
19
|
+
~~~
|
20
|
+
|
21
|
+
None of the above should trigger any heading related rules.
|
@@ -0,0 +1 @@
|
|
1
|
+
## Header {MD002}
|
@@ -0,0 +1 @@
|
|
1
|
+
# Header
|