mdl 0.9.0 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,38 +1,39 @@
1
1
  module MarkdownLint
2
+ # defines a single rule
2
3
  class Rule
3
4
  attr_accessor :id, :description
4
5
 
5
6
  def initialize(id, description, block)
6
- @id, @description = id, description
7
+ @id = id
8
+ @description = description
7
9
  @aliases = []
8
10
  @tags = []
9
11
  @params = {}
10
12
  instance_eval(&block)
11
13
  end
12
14
 
13
-
14
15
  def check(&block)
15
16
  @check = block unless block.nil?
16
17
  @check
17
18
  end
18
19
 
19
- def tags(*t)
20
- @tags = t.flatten.map {|i| i.to_sym} unless t.empty?
20
+ def tags(*tags)
21
+ @tags = tags.flatten.map(&:to_sym) unless tags.empty?
21
22
  @tags
22
23
  end
23
24
 
24
- def aliases(*a)
25
- @aliases.concat(a)
25
+ def aliases(*aliases)
26
+ @aliases.concat(aliases)
26
27
  @aliases
27
28
  end
28
29
 
29
- def params(p = nil)
30
- @params.update(p) unless p.nil?
30
+ def params(params = nil)
31
+ @params.update(params) unless params.nil?
31
32
  @params
32
33
  end
33
-
34
34
  end
35
35
 
36
+ # defines a ruleset
36
37
  class RuleSet
37
38
  attr_reader :rules
38
39
 
@@ -50,7 +51,7 @@ module MarkdownLint
50
51
  end
51
52
 
52
53
  def load_default
53
- load(File.expand_path("../rules.rb", __FILE__))
54
+ load(File.expand_path('rules.rb', __dir__))
54
55
  end
55
56
  end
56
57
  end
@@ -1,6 +1,7 @@
1
1
  require 'set'
2
2
 
3
3
  module MarkdownLint
4
+ # defines a style
4
5
  class Style
5
6
  attr_reader :rules
6
7
 
@@ -24,14 +25,15 @@ module MarkdownLint
24
25
  @rules.merge(@all_rules.keys)
25
26
  end
26
27
 
27
- def rule(id, params={})
28
+ def rule(id, params = {})
28
29
  if block_given?
29
- raise "'rule' does not take a block. Should this definition go in a ruleset instead?"
30
+ raise '"rule" does not take a block. Should this definition go in a ' +
31
+ 'ruleset instead?'
30
32
  end
33
+
31
34
  id = @aliases[id] if @aliases[id]
32
- unless @all_rules[id]
33
- raise "No such rule: #{id}"
34
- end
35
+ raise "No such rule: #{id}" unless @all_rules[id]
36
+
35
37
  @rules << id
36
38
  @all_rules[id].params(params)
37
39
  end
@@ -41,35 +43,35 @@ module MarkdownLint
41
43
  @rules.delete(id)
42
44
  end
43
45
 
44
- def tag(t)
45
- @rules.merge(@tagged_rules[t])
46
+ def tag(tag)
47
+ @rules.merge(@tagged_rules[tag])
46
48
  end
47
49
 
48
- def exclude_tag(t)
49
- @rules.subtract(@tagged_rules[t])
50
+ def exclude_tag(tag)
51
+ @rules.subtract(@tagged_rules[tag])
50
52
  end
51
53
 
52
54
  def self.load(style_file, rules)
53
- unless style_file.include?("/") || style_file.end_with?(".rb")
55
+ unless style_file.include?('/') || style_file.end_with?('.rb')
54
56
  tmp = File.expand_path("../styles/#{style_file}.rb", __FILE__)
55
57
  unless File.exist?(tmp)
56
- STDERR.puts "#{style_file} does not appear to be a built-in style." +
57
- " If you meant to pass in your own style file, it must contain" +
58
- " a '/' or end in '.rb'. See https://github.com/markdownlint/" +
59
- "markdownlint/blob/master/docs/configuration.md"
58
+ warn "#{style_file} does not appear to be a built-in style." +
59
+ ' If you meant to pass in your own style file, it must contain' +
60
+ " a '/' or end in '.rb'. See https://github.com/markdownlint/" +
61
+ 'markdownlint/blob/master/docs/configuration.md'
60
62
  exit(1)
61
63
  end
62
64
  style_file = tmp
63
65
  end
64
66
 
65
67
  unless File.exist?(style_file)
66
- STDERR.puts "Style '#{style_file}' does not exist."
68
+ warn "Style '#{style_file}' does not exist."
67
69
  exit(1)
68
70
  end
69
71
 
70
72
  style = new(rules)
71
73
  style.instance_eval(File.read(style_file), style_file)
72
- rules.select! {|r| style.rules.include?(r)}
74
+ rules.select! { |r| style.rules.include?(r) }
73
75
  style
74
76
  end
75
77
  end
@@ -1,10 +1,10 @@
1
- # Enforce the style guide at http://www.cirosantilli.com/markdown-styleguide
1
+ # Enforce the style guide at https://cirosantilli.com/markdown-style-guide
2
2
  all
3
3
  rule 'MD003', :style => :atx
4
4
  rule 'MD004', :style => :dash
5
5
  rule 'MD007', :indent => 4
6
6
  rule 'MD030', :ul_multi => 3, :ol_multi => 2
7
- rule 'MD035', :style => "---"
7
+ rule 'MD035', :style => '---'
8
8
 
9
9
  # Inline HTML - this isn't forbidden by the style guide, and raw HTML use is
10
10
  # explicitly mentioned in the 'email automatic links' section.
@@ -1,4 +1,4 @@
1
1
  all
2
2
 
3
- exclude_rule 'fenced-code-language' # Fenced code blocks should have a language specified
3
+ exclude_rule 'fenced-code-language' # Fenced code blocks should have a language
4
4
  exclude_rule 'first-line-h1' # First line in file should be a top level header
@@ -1,3 +1,3 @@
1
1
  module MarkdownLint
2
- VERSION = "0.9.0"
2
+ VERSION = '0.10.0'.freeze
3
3
  end
@@ -1,32 +1,34 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ lib = File.expand_path('lib', __dir__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require 'mdl/version'
5
4
 
6
5
  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/markdownlint/markdownlint"
14
- spec.license = "MIT"
6
+ spec.name = 'mdl'
7
+ spec.version = MarkdownLint::VERSION
8
+ spec.authors = ['Mark Harrison']
9
+ spec.email = ['mark@mivok.net']
10
+ spec.summary = 'Markdown lint tool'
11
+ spec.description = 'Style checker/lint tool for markdown files'
12
+ spec.homepage = 'http://github.com/markdownlint/markdownlint'
13
+ spec.license = 'MIT'
15
14
 
16
- spec.files = %w{LICENSE.txt Gemfile} + Dir.glob("*.gemspec") + Dir.glob("lib/**/*")
17
- spec.bindir = "bin"
18
- spec.executables = %w{mdl}
19
- spec.require_paths = ["lib"]
15
+ spec.files = %w{LICENSE.txt Gemfile} + Dir.glob('*.gemspec') +
16
+ Dir.glob('lib/**/*')
17
+ spec.bindir = 'bin'
18
+ spec.executables = %w{mdl}
19
+ spec.require_paths = ['lib']
20
20
 
21
21
  spec.required_ruby_version = '>= 2.4'
22
22
 
23
- spec.add_dependency 'kramdown', '~> 2.0'
24
- spec.add_dependency 'kramdown-parser-gfm', '~> 1.0'
25
- spec.add_dependency 'mixlib-config', '>= 2.2.1', '< 4'
23
+ spec.add_dependency 'kramdown', '~> 2.3'
24
+ spec.add_dependency 'kramdown-parser-gfm', '~> 1.1'
26
25
  spec.add_dependency 'mixlib-cli', '~> 2.1', '>= 2.1.1'
26
+ spec.add_dependency 'mixlib-config', '>= 2.2.1', '< 4'
27
+ spec.add_dependency 'mixlib-shellout'
27
28
 
28
29
  spec.add_development_dependency 'bundler', '>= 1.12', '< 3'
29
- spec.add_development_dependency 'rake', '>= 11.2', '< 14'
30
30
  spec.add_development_dependency 'minitest', '~> 5.9'
31
31
  spec.add_development_dependency 'pry', '~> 0.10'
32
+ spec.add_development_dependency 'rake', '>= 11.2', '< 14'
33
+ spec.add_development_dependency 'rubocop', '>= 0.49.0'
32
34
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mdl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Harrison
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-21 00:00:00.000000000 Z
11
+ date: 2020-08-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: kramdown
@@ -16,28 +16,48 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.0'
19
+ version: '2.3'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '2.0'
26
+ version: '2.3'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: kramdown-parser-gfm
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.0'
33
+ version: '1.1'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.0'
40
+ version: '1.1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: mixlib-cli
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.1'
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 2.1.1
51
+ type: :runtime
52
+ prerelease: false
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - "~>"
56
+ - !ruby/object:Gem::Version
57
+ version: '2.1'
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 2.1.1
41
61
  - !ruby/object:Gem::Dependency
42
62
  name: mixlib-config
43
63
  requirement: !ruby/object:Gem::Requirement
@@ -59,25 +79,19 @@ dependencies:
59
79
  - !ruby/object:Gem::Version
60
80
  version: '4'
61
81
  - !ruby/object:Gem::Dependency
62
- name: mixlib-cli
82
+ name: mixlib-shellout
63
83
  requirement: !ruby/object:Gem::Requirement
64
84
  requirements:
65
- - - "~>"
66
- - !ruby/object:Gem::Version
67
- version: '2.1'
68
85
  - - ">="
69
86
  - !ruby/object:Gem::Version
70
- version: 2.1.1
87
+ version: '0'
71
88
  type: :runtime
72
89
  prerelease: false
73
90
  version_requirements: !ruby/object:Gem::Requirement
74
91
  requirements:
75
- - - "~>"
76
- - !ruby/object:Gem::Version
77
- version: '2.1'
78
92
  - - ">="
79
93
  - !ruby/object:Gem::Version
80
- version: 2.1.1
94
+ version: '0'
81
95
  - !ruby/object:Gem::Dependency
82
96
  name: bundler
83
97
  requirement: !ruby/object:Gem::Requirement
@@ -99,53 +113,67 @@ dependencies:
99
113
  - !ruby/object:Gem::Version
100
114
  version: '3'
101
115
  - !ruby/object:Gem::Dependency
102
- name: rake
116
+ name: minitest
103
117
  requirement: !ruby/object:Gem::Requirement
104
118
  requirements:
105
- - - ">="
106
- - !ruby/object:Gem::Version
107
- version: '11.2'
108
- - - "<"
119
+ - - "~>"
109
120
  - !ruby/object:Gem::Version
110
- version: '14'
121
+ version: '5.9'
111
122
  type: :development
112
123
  prerelease: false
113
124
  version_requirements: !ruby/object:Gem::Requirement
114
125
  requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '11.2'
118
- - - "<"
126
+ - - "~>"
119
127
  - !ruby/object:Gem::Version
120
- version: '14'
128
+ version: '5.9'
121
129
  - !ruby/object:Gem::Dependency
122
- name: minitest
130
+ name: pry
123
131
  requirement: !ruby/object:Gem::Requirement
124
132
  requirements:
125
133
  - - "~>"
126
134
  - !ruby/object:Gem::Version
127
- version: '5.9'
135
+ version: '0.10'
128
136
  type: :development
129
137
  prerelease: false
130
138
  version_requirements: !ruby/object:Gem::Requirement
131
139
  requirements:
132
140
  - - "~>"
133
141
  - !ruby/object:Gem::Version
134
- version: '5.9'
142
+ version: '0.10'
135
143
  - !ruby/object:Gem::Dependency
136
- name: pry
144
+ name: rake
137
145
  requirement: !ruby/object:Gem::Requirement
138
146
  requirements:
139
- - - "~>"
147
+ - - ">="
140
148
  - !ruby/object:Gem::Version
141
- version: '0.10'
149
+ version: '11.2'
150
+ - - "<"
151
+ - !ruby/object:Gem::Version
152
+ version: '14'
142
153
  type: :development
143
154
  prerelease: false
144
155
  version_requirements: !ruby/object:Gem::Requirement
145
156
  requirements:
146
- - - "~>"
157
+ - - ">="
147
158
  - !ruby/object:Gem::Version
148
- version: '0.10'
159
+ version: '11.2'
160
+ - - "<"
161
+ - !ruby/object:Gem::Version
162
+ version: '14'
163
+ - !ruby/object:Gem::Dependency
164
+ name: rubocop
165
+ requirement: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - ">="
168
+ - !ruby/object:Gem::Version
169
+ version: 0.49.0
170
+ type: :development
171
+ prerelease: false
172
+ version_requirements: !ruby/object:Gem::Requirement
173
+ requirements:
174
+ - - ">="
175
+ - !ruby/object:Gem::Version
176
+ version: 0.49.0
149
177
  description: Style checker/lint tool for markdown files
150
178
  email:
151
179
  - mark@mivok.net
@@ -191,7 +219,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
191
219
  version: '0'
192
220
  requirements: []
193
221
  rubyforge_project:
194
- rubygems_version: 2.7.7
222
+ rubygems_version: 2.7.8
195
223
  signing_key:
196
224
  specification_version: 4
197
225
  summary: Markdown lint tool