mdl 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|