mdl 0.9.0 → 0.10.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.
@@ -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