rubocop-md 0.1.1 → 0.4.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.
- checksums.yaml +5 -5
- data/.gem_release.yml +1 -0
- data/.rubocop.yml +16 -5
- data/.travis.yml +21 -5
- data/CHANGELOG.md +25 -0
- data/LICENSE.txt +1 -1
- data/README.md +74 -7
- data/config/default.yml +12 -1
- data/lib/rubocop-md.rb +2 -0
- data/lib/rubocop/markdown.rb +2 -0
- data/lib/rubocop/markdown/preprocess.rb +26 -10
- data/lib/rubocop/markdown/rubocop_ext.rb +20 -3
- data/lib/rubocop/markdown/version.rb +3 -1
- data/rubocop-md.gemspec +13 -3
- metadata +17 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: fc562e28add38f2053f69cfedb41bc66d86398191a6eaa55c067b33f738ecfe8
|
4
|
+
data.tar.gz: 5b9281774067e963d133b33674395b1cc92ade3d76d0a190f6eb8195464adbb2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4ddbf872ef05fb4f9ce11906f186970c9516eb5dfdf8560a369ed26c726b790226b0355510b59ca766d26f4bc6dc5c821b34ed635e8ba9fa30f541c68354d2bc
|
7
|
+
data.tar.gz: 54a503aa50566c9fa9f8e86cafe3f207c228c4aead514775f5bebee0d8c2f6e04be5b83d1c45ce0152895dfe4f1ffaf78b6b4137a63d95518e5ad49725301d36
|
data/.gem_release.yml
CHANGED
data/.rubocop.yml
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
AllCops:
|
2
|
+
NewCops: enable
|
2
3
|
Include:
|
3
4
|
- 'lib/**/*.rb'
|
4
5
|
- 'lib/**/*.rake'
|
@@ -12,10 +13,7 @@ AllCops:
|
|
12
13
|
- '*.gemspec'
|
13
14
|
DisplayCopNames: true
|
14
15
|
StyleGuideCopsOnly: false
|
15
|
-
TargetRubyVersion: 2.
|
16
|
-
|
17
|
-
Rails:
|
18
|
-
Enabled: false
|
16
|
+
TargetRubyVersion: 2.4
|
19
17
|
|
20
18
|
Style/Documentation:
|
21
19
|
Exclude:
|
@@ -31,13 +29,26 @@ Style/ClassAndModuleChildren:
|
|
31
29
|
Exclude:
|
32
30
|
- 'test/**/*.rb'
|
33
31
|
|
32
|
+
Style/HashEachMethods:
|
33
|
+
Enabled: true
|
34
|
+
|
35
|
+
Style/HashTransformKeys:
|
36
|
+
Enabled: true
|
37
|
+
|
38
|
+
Style/HashTransformValues:
|
39
|
+
Enabled: true
|
40
|
+
|
34
41
|
Layout/EmptyLinesAroundArguments:
|
35
42
|
Enabled: false
|
36
43
|
|
37
44
|
Layout/SpaceInsideStringInterpolation:
|
38
45
|
EnforcedStyle: no_space
|
39
46
|
|
40
|
-
|
47
|
+
Naming/FileName:
|
48
|
+
Exclude:
|
49
|
+
- 'lib/rubocop-md.rb'
|
50
|
+
|
51
|
+
Layout/LineLength:
|
41
52
|
Max: 100
|
42
53
|
Exclude:
|
43
54
|
- 'test/**/*.rb'
|
data/.travis.yml
CHANGED
@@ -1,17 +1,33 @@
|
|
1
1
|
sudo: false
|
2
2
|
language: ruby
|
3
|
-
before_install:
|
3
|
+
before_install:
|
4
|
+
- gem uninstall -v '>= 2' -i $(rvm gemdir)@global -ax bundler || true
|
5
|
+
- gem install bundler -v '< 2'
|
6
|
+
|
7
|
+
notifications:
|
8
|
+
email: false
|
4
9
|
|
5
10
|
matrix:
|
6
11
|
fast_finish: true
|
7
12
|
include:
|
8
13
|
- rvm: ruby-head
|
9
14
|
gemfile: gemfiles/rubocopmaster.gemfile
|
10
|
-
- rvm: jruby-9.
|
15
|
+
- rvm: jruby-9.2.8.0
|
11
16
|
gemfile: Gemfile
|
12
|
-
- rvm: 2.
|
17
|
+
- rvm: 2.7
|
18
|
+
gemfile: gemfiles/rubocopmaster.gemfile
|
19
|
+
- rvm: 2.7
|
13
20
|
gemfile: Gemfile
|
14
|
-
- rvm: 2.
|
21
|
+
- rvm: 2.6
|
15
22
|
gemfile: Gemfile
|
16
|
-
- rvm: 2.
|
23
|
+
- rvm: 2.5
|
24
|
+
gemfile: Gemfile
|
25
|
+
- rvm: 2.4.2
|
17
26
|
gemfile: Gemfile
|
27
|
+
allow_failures:
|
28
|
+
- rvm: ruby-head
|
29
|
+
gemfile: gemfiles/rubocopmaster.gemfile
|
30
|
+
- rvm: jruby-9.2.8.0
|
31
|
+
gemfile: Gemfile
|
32
|
+
- rvm: 2.5.0
|
33
|
+
gemfile: gemfiles/rubocopmaster.gemfile
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# Change log
|
2
|
+
|
3
|
+
## master (unreleased)
|
4
|
+
|
5
|
+
## 0.4.0 (2020-07-03)
|
6
|
+
|
7
|
+
- [#10](https://github.com/rubocop-hq/rubocop-md/pull/10): **Drop Ruby 2.3 support** ([@dominicsayers][])
|
8
|
+
|
9
|
+
## 0.3.2 (2020-03-18)
|
10
|
+
|
11
|
+
- [#9](https://github.com/rubocop-hq/rubocop-md/pull/9): Add file extensions for Markdown ([@ybiquitous][])
|
12
|
+
|
13
|
+
## 0.3.1 (2019-12-25)
|
14
|
+
|
15
|
+
- Upgrade to RuboCop 0.78 ([@palkan][])
|
16
|
+
|
17
|
+
Change the default config to use the new cop names for (e.g., `Layout/LineLength`).
|
18
|
+
|
19
|
+
## 0.3.0 (2019-05-14)
|
20
|
+
|
21
|
+
- **Drop Ruby 2.2 support** ([@palkan][])
|
22
|
+
|
23
|
+
[@palkan]: https://github.com/palkan
|
24
|
+
[@ybiquitous]: https://github.com/ybiquitous
|
25
|
+
[@dominicsayers]: https://github.com/dominicsayers
|
data/LICENSE.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
The MIT License (MIT)
|
2
2
|
|
3
|
-
Copyright (c) 2017 Vladimir Dementyev
|
3
|
+
Copyright (c) 2017-2019 Vladimir Dementyev
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
[](http://badge.fury.io/rb/rubocop-md)
|
2
|
-
[](https://travis-ci.org/rubocop-hq/rubocop-md)
|
3
3
|
|
4
4
|
# Rubocop Markdown
|
5
5
|
|
@@ -24,7 +24,7 @@ gem 'rubocop-md'
|
|
24
24
|
|
25
25
|
And then execute:
|
26
26
|
|
27
|
-
$ bundle
|
27
|
+
$ bundle install
|
28
28
|
|
29
29
|
Or install it yourself as:
|
30
30
|
|
@@ -46,22 +46,87 @@ Autocorrect works too:
|
|
46
46
|
rubocop -r "rubocop-md" -a ./lib
|
47
47
|
```
|
48
48
|
|
49
|
-
### Configuration
|
49
|
+
### Configuration
|
50
50
|
|
51
|
-
|
51
|
+
Code in the documentation does not make sense to be checked for some style guidelines (eg `Style/FrozenStringLiteralComment`).
|
52
|
+
|
53
|
+
We described such rules in the [default config](config/default.yml), but if you use the same settings in your project’s `.rubocop.yml` file, `RoboCop` will override them.
|
54
|
+
|
55
|
+
Fortunately, `RuboCop` supports directory-level configuration and we can do the next trick.
|
56
|
+
|
57
|
+
At first, add `rubocop-md` to your main `.rubocop.yml`:
|
52
58
|
|
53
59
|
```yml
|
60
|
+
# .rubocop.yml
|
61
|
+
|
54
62
|
require:
|
55
|
-
|
63
|
+
- "rubocop-md"
|
56
64
|
```
|
57
65
|
|
58
|
-
|
66
|
+
*Notice: additional options*
|
59
67
|
|
60
68
|
```yml
|
61
69
|
# .rubocop.yml
|
70
|
+
|
62
71
|
Markdown:
|
63
72
|
# Whether to run RuboCop against non-valid snippets
|
64
73
|
WarnInvalid: true
|
74
|
+
# Whether to lint codeblocks without code attributes
|
75
|
+
Autodetect: true
|
76
|
+
```
|
77
|
+
|
78
|
+
Secondly, create empty `.rubocop.yml` in your docs directory.
|
79
|
+
|
80
|
+
```bash
|
81
|
+
├── docs
|
82
|
+
│ ├── .rubocop.yml
|
83
|
+
│ ├── doc1.md
|
84
|
+
│ ├── doc2.md
|
85
|
+
│ └── doc3.md
|
86
|
+
├── lib
|
87
|
+
├── .rubocop.yml # main
|
88
|
+
└── ...
|
89
|
+
```
|
90
|
+
|
91
|
+
Third, just run
|
92
|
+
|
93
|
+
```bash
|
94
|
+
$ rubocop
|
95
|
+
```
|
96
|
+
|
97
|
+
Also you can add special rules in the second `.rubocop.yml`
|
98
|
+
|
99
|
+
```ruby
|
100
|
+
# rubocop.yml in docs folder
|
101
|
+
|
102
|
+
Metrics/LineLength:
|
103
|
+
Max: 100
|
104
|
+
|
105
|
+
Lint/Void:
|
106
|
+
Exclude:
|
107
|
+
- '*.md'
|
108
|
+
```
|
109
|
+
|
110
|
+
### But if I want to use inline disabling some directive like in classic RuboCop?
|
111
|
+
|
112
|
+
You can use this tricks
|
113
|
+
|
114
|
+
```
|
115
|
+
# my_post.md
|
116
|
+
|
117
|
+
... some markdown ...
|
118
|
+
|
119
|
+
<span style="display:none;"># rubocop:disable all</span>
|
120
|
+
|
121
|
+
```ruby
|
122
|
+
def my_poor_method(foo)
|
123
|
+
[:a, :b, :c] + ["#{foo}".to_sym]
|
124
|
+
end
|
125
|
+
``` end of snippet
|
126
|
+
|
127
|
+
<span style="display:none;"># rubocop:enable all</span>
|
128
|
+
|
129
|
+
... continuation of article ...
|
65
130
|
```
|
66
131
|
|
67
132
|
## How it works?
|
@@ -73,9 +138,11 @@ Markdown:
|
|
73
138
|
## Limitations
|
74
139
|
|
75
140
|
- RuboCop cache is disabled for Markdown files (because cache knows nothing about preprocessing)
|
76
|
-
- Uses naive Regexp-based approach to extract code blocks from Markdown, support only backticks-style code blocks
|
141
|
+
- Uses naive Regexp-based approach to extract code blocks from Markdown, support only backticks-style code blocks\*
|
77
142
|
- No language detection included; if you do not specify language for your code blocks, you'd better turn `WarnInvalid` off (see above)
|
78
143
|
|
144
|
+
\* It should be easy to integrate a _real_ parser (e.g. [Kramdown](https://kramdown.gettalong.org)) and handle all possible syntax. Feel free to open an issue or pull request!
|
145
|
+
|
79
146
|
## Development
|
80
147
|
|
81
148
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests.
|
data/config/default.yml
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
Markdown:
|
2
2
|
WarnInvalid: true
|
3
|
+
Autodetect: true
|
3
4
|
|
4
5
|
Layout/CommentIndentation:
|
5
6
|
Exclude:
|
@@ -16,6 +17,16 @@ Layout/TrailingBlankLines:
|
|
16
17
|
- '**/*.md'
|
17
18
|
- '**/*.markdown'
|
18
19
|
|
20
|
+
Layout/TrailingEmptyLines:
|
21
|
+
Exclude:
|
22
|
+
- '**/*.md'
|
23
|
+
- '**/*.markdown'
|
24
|
+
|
25
|
+
Lint/UselessAssignment:
|
26
|
+
Exclude:
|
27
|
+
- '**/*.md'
|
28
|
+
- '**/*.markdown'
|
29
|
+
|
19
30
|
Naming/FileName:
|
20
31
|
Exclude:
|
21
32
|
- '**/*.md'
|
@@ -41,6 +52,6 @@ Style/FrozenStringLiteralComment:
|
|
41
52
|
- '**/*.md'
|
42
53
|
- '**/*.markdown'
|
43
54
|
|
44
|
-
|
55
|
+
Layout/LineLength:
|
45
56
|
IgnoredPatterns:
|
46
57
|
- !ruby/regexp /^\#/
|
data/lib/rubocop-md.rb
CHANGED
data/lib/rubocop/markdown.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require "ripper"
|
2
4
|
|
3
5
|
module RuboCop
|
@@ -10,9 +12,9 @@ module RuboCop
|
|
10
12
|
# Only recognizes backticks-style code blocks.
|
11
13
|
#
|
12
14
|
# Try it: http://rubular.com/r/iJaKBkSrrT
|
13
|
-
MD_REGEXP = /^([ \t]*`{3,4})([\w[[:blank:]]]*\n)([\s\S]+?)(^[ \t]*\1[[:blank:]]*\n)/m
|
15
|
+
MD_REGEXP = /^([ \t]*`{3,4})([\w[[:blank:]]]*\n)([\s\S]+?)(^[ \t]*\1[[:blank:]]*\n?)/m.freeze
|
14
16
|
|
15
|
-
MARKER = "<--rubocop/md-->"
|
17
|
+
MARKER = "<--rubocop/md-->"
|
16
18
|
|
17
19
|
# See https://github.com/github/linguist/blob/v5.3.3/lib/linguist/languages.yml#L3925
|
18
20
|
RUBY_TYPES = %w[
|
@@ -72,7 +74,7 @@ module RuboCop
|
|
72
74
|
|
73
75
|
parts.each do |part|
|
74
76
|
if walker.code_body?
|
75
|
-
next walker.next! if maybe_ruby?(@syntax) && valid_syntax?(part)
|
77
|
+
next walker.next! if maybe_ruby?(@syntax) && valid_syntax?(@syntax, part)
|
76
78
|
end
|
77
79
|
|
78
80
|
if walker.code_attr?
|
@@ -94,23 +96,37 @@ module RuboCop
|
|
94
96
|
# Check codeblock attribute to prevent from parsing
|
95
97
|
# non-Ruby snippets and avoid false positives
|
96
98
|
def maybe_ruby?(syntax)
|
97
|
-
syntax.empty? ||
|
99
|
+
(autodetect? && syntax.empty?) || ruby?(syntax)
|
100
|
+
end
|
101
|
+
|
102
|
+
# Check codeblack attribute if it's defined and of Ruby type
|
103
|
+
def ruby?(syntax)
|
104
|
+
RUBY_TYPES.include?(syntax)
|
98
105
|
end
|
99
106
|
|
100
|
-
# Try to parse with Ripper
|
101
|
-
# Invalid Ruby (non-Ruby)
|
102
|
-
|
103
|
-
|
107
|
+
# Try to parse with Ripper
|
108
|
+
# Invalid Ruby code (or non-Ruby) returns `nil`.
|
109
|
+
# Return true if it's explicit Ruby and warn_invalid?
|
110
|
+
def valid_syntax?(syntax, src)
|
111
|
+
return true if ruby?(syntax) && warn_invalid?
|
112
|
+
|
104
113
|
!Ripper.sexp(src).nil?
|
105
114
|
end
|
106
115
|
|
107
|
-
#
|
116
|
+
# Whether to show warning when snippet is not a valid Ruby
|
108
117
|
def warn_invalid?
|
109
|
-
config["Markdown"]
|
118
|
+
config["Markdown"]&.fetch("WarnInvalid", true)
|
119
|
+
end
|
120
|
+
|
121
|
+
# Whether to try to detect Ruby by parsing codeblock.
|
122
|
+
# If it's set to false we lint only implicitly specified Ruby blocks.
|
123
|
+
def autodetect?
|
124
|
+
config["Markdown"]&.fetch("Autodetect", true)
|
110
125
|
end
|
111
126
|
|
112
127
|
def comment_lines!(src)
|
113
128
|
return if src =~ /\A\n\z/
|
129
|
+
|
114
130
|
src.gsub!(/^(.)/m, "##{MARKER}\\1")
|
115
131
|
end
|
116
132
|
end
|
@@ -1,9 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module RuboCop
|
2
4
|
module Markdown # :nodoc:
|
3
|
-
|
5
|
+
# According to Linguist.
|
6
|
+
# See https://github.com/github/linguist/blob/96ca71ab99c2f9928d5d69f4c08fd2a51440d045/lib/linguist/languages.yml#L3065-L3083
|
7
|
+
MARKDOWN_EXTENSIONS = %w[
|
8
|
+
.md
|
9
|
+
.markdown
|
10
|
+
.mdown
|
11
|
+
.mdwn
|
12
|
+
.mdx
|
13
|
+
.mkd
|
14
|
+
.mkdn
|
15
|
+
.mkdown
|
16
|
+
.ronn
|
17
|
+
.workbook
|
18
|
+
].freeze
|
4
19
|
|
5
20
|
class << self
|
6
21
|
attr_accessor :config_store
|
22
|
+
|
7
23
|
# Merge markdown config into default configuration
|
8
24
|
# See https://github.com/backus/rubocop-rspec/blob/master/lib/rubocop/rspec/inject.rb
|
9
25
|
def inject!
|
@@ -26,7 +42,7 @@ RuboCop::Markdown.inject!
|
|
26
42
|
|
27
43
|
RuboCop::Runner.prepend(Module.new do
|
28
44
|
# Set config store for Markdown
|
29
|
-
def initialize(*)
|
45
|
+
def initialize(*args)
|
30
46
|
super
|
31
47
|
RuboCop::Markdown.config_store = @config_store
|
32
48
|
end
|
@@ -35,6 +51,7 @@ RuboCop::Runner.prepend(Module.new do
|
|
35
51
|
# NOTE: we should involve preprocessing in RuboCop::CachedData#deserialize_offenses
|
36
52
|
def file_offense_cache(file)
|
37
53
|
return yield if RuboCop::Markdown.markdown_file?(file)
|
54
|
+
|
38
55
|
super
|
39
56
|
end
|
40
57
|
|
@@ -61,7 +78,7 @@ RuboCop::ProcessedSource.prepend(Module.new do
|
|
61
78
|
def parse(src, *args)
|
62
79
|
# only process Markdown files
|
63
80
|
src = RuboCop::Markdown::Preprocess.new(path).call(src) if
|
64
|
-
path
|
81
|
+
path && RuboCop::Markdown.markdown_file?(path)
|
65
82
|
super(src, *args)
|
66
83
|
end
|
67
84
|
end)
|
data/rubocop-md.gemspec
CHANGED
@@ -17,11 +17,21 @@ Gem::Specification.new do |spec|
|
|
17
17
|
f.match(%r{^(test|spec|features)/})
|
18
18
|
end
|
19
19
|
|
20
|
+
spec.metadata = {
|
21
|
+
"bug_tracker_uri" => "http://github.com/rubocop-hq/rubocop-md/issues",
|
22
|
+
"changelog_uri" => "https://github.com/rubocop-hq/rubocop-md/blob/master/CHANGELOG.md",
|
23
|
+
"documentation_uri" => "https://github.com/rubocop-hq/rubocop-md/blob/master/README.md",
|
24
|
+
"homepage_uri" => "https://github.com/rubocop-hq/rubocop-md",
|
25
|
+
"source_code_uri" => "http://github.com/rubocop-hq/rubocop-md"
|
26
|
+
}
|
27
|
+
|
28
|
+
spec.required_ruby_version = ">= 2.4.0"
|
29
|
+
|
20
30
|
spec.require_paths = ["lib"]
|
21
31
|
|
22
|
-
spec.add_runtime_dependency "rubocop", "~> 0.
|
32
|
+
spec.add_runtime_dependency "rubocop", "~> 0.60"
|
23
33
|
|
24
|
-
spec.add_development_dependency "bundler", "
|
25
|
-
spec.add_development_dependency "rake", "~>
|
34
|
+
spec.add_development_dependency "bundler", ">= 1.15"
|
35
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
26
36
|
spec.add_development_dependency "minitest", "~> 5.0"
|
27
37
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop-md
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vladimir Dementyev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-07-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubocop
|
@@ -16,26 +16,26 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0.
|
19
|
+
version: '0.60'
|
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: '0.
|
26
|
+
version: '0.60'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.15'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.15'
|
41
41
|
- !ruby/object:Gem::Dependency
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '13.0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '13.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: minitest
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -78,6 +78,7 @@ files:
|
|
78
78
|
- ".gitignore"
|
79
79
|
- ".rubocop.yml"
|
80
80
|
- ".travis.yml"
|
81
|
+
- CHANGELOG.md
|
81
82
|
- Gemfile
|
82
83
|
- LICENSE.txt
|
83
84
|
- README.md
|
@@ -94,7 +95,12 @@ files:
|
|
94
95
|
homepage: https://github.com/palkan/rubocop-md
|
95
96
|
licenses:
|
96
97
|
- MIT
|
97
|
-
metadata:
|
98
|
+
metadata:
|
99
|
+
bug_tracker_uri: http://github.com/rubocop-hq/rubocop-md/issues
|
100
|
+
changelog_uri: https://github.com/rubocop-hq/rubocop-md/blob/master/CHANGELOG.md
|
101
|
+
documentation_uri: https://github.com/rubocop-hq/rubocop-md/blob/master/README.md
|
102
|
+
homepage_uri: https://github.com/rubocop-hq/rubocop-md
|
103
|
+
source_code_uri: http://github.com/rubocop-hq/rubocop-md
|
98
104
|
post_install_message:
|
99
105
|
rdoc_options: []
|
100
106
|
require_paths:
|
@@ -103,15 +109,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
103
109
|
requirements:
|
104
110
|
- - ">="
|
105
111
|
- !ruby/object:Gem::Version
|
106
|
-
version:
|
112
|
+
version: 2.4.0
|
107
113
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
108
114
|
requirements:
|
109
115
|
- - ">="
|
110
116
|
- !ruby/object:Gem::Version
|
111
117
|
version: '0'
|
112
118
|
requirements: []
|
113
|
-
|
114
|
-
rubygems_version: 2.6.13
|
119
|
+
rubygems_version: 3.0.6
|
115
120
|
signing_key:
|
116
121
|
specification_version: 4
|
117
122
|
summary: Run Rubocop against your Markdown files to make sure that code examples follow
|