jekyll-shields_io 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f1cbdcd86f96276054df32441aa54069c49f7cb4a3a6726bc9590054cdec87dd
4
- data.tar.gz: 04002f19e6937e6db93ec182e1103b277b37c1648ae752ca254dbd568117b7b2
3
+ metadata.gz: 0cdfb519e88b7ea828926072a6dc4cca8e4597de5c7a5beda7be9def4e950f96
4
+ data.tar.gz: dba38e0c77372579fffcb82489f6fbb5f77d8dc0ca6a7cb4237e0fbbca4128a8
5
5
  SHA512:
6
- metadata.gz: 97fbf33a96dc445cd1e27f69008db09e05685ef31212aabb65d8b21fb2f73ae89474a3cd8e2cf033ed086aed3a2c2510d7ca41e5b93d109b82026e1893f42a6d
7
- data.tar.gz: 4268bd92876e71d790e8966d7fd287af6a2ed4b364b693cc00534c4fcf9a203b5c740110d574b7198570810f39b8bc248538b41d3c3cc47036168e0909716312
6
+ metadata.gz: cee91d48bd6363219da448526b009a70f7bd74e59b4f8cdec0e61d03f21ba0ac3f4049e3f320fcb9d6c2d3f738bd1b8fc1f378d777c6975418c8e4d9c64f6130
7
+ data.tar.gz: 146afeaa59f4a378e25200fcfd2feff8325514477c70c0a88acdd421cf85c7fceb6d1d60563a5aaf76e42994d53dc88e96db2ea342e7eadf083da5ece9204c9f
@@ -0,0 +1,22 @@
1
+ name: Check code style
2
+
3
+ on:
4
+ push:
5
+ branches: [ base ]
6
+ pull_request:
7
+ branches: [ base ]
8
+
9
+ jobs:
10
+ code_style:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v3
14
+ - name: Set up Ruby
15
+ uses: ruby/setup-ruby@359bebbc29cbe6c87da6bc9ea3bc930432750108
16
+ with:
17
+ ruby-version: '2.7'
18
+ bundler-cache: true
19
+ - name: Install dependencies
20
+ run: bundle install
21
+ - name: Run tests
22
+ run: bundle exec rake standard
@@ -0,0 +1,23 @@
1
+ name: Check functionality
2
+
3
+ on:
4
+ push:
5
+ branches: [ base ]
6
+ pull_request:
7
+ branches: [ base ]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v3
14
+ - name: Set up Ruby
15
+ uses: ruby/setup-ruby@359bebbc29cbe6c87da6bc9ea3bc930432750108
16
+ with:
17
+ ruby-version: '2.7'
18
+ bundler-cache: true
19
+ - name: Install dependencies
20
+ run: bundle install
21
+ - name: Run tests
22
+ run: bundle exec rake spec
23
+
data/.gitignore CHANGED
@@ -4,6 +4,12 @@
4
4
  # Tests will mess with this directory
5
5
  _cache/
6
6
 
7
+ # Since this is a Ruby Gem, lockfiles causes all sorts of problems when running CI.
8
+ Gemfile.lock
9
+
10
+ # Also if somebody wants to install dependencies locally, we need to prevent them being checked in
11
+ vendor/
12
+
7
13
  # Created by https://www.toptal.com/developers/gitignore/api/ruby,rubymine,macos
8
14
  # Edit at https://www.toptal.com/developers/gitignore?templates=ruby,rubymine,macos
9
15
 
@@ -23,7 +23,7 @@
23
23
  <orderEntry type="library" scope="PROVIDED" name="eventmachine (v1.2.7, RVM: ruby-2.7.6) [gem]" level="application" />
24
24
  <orderEntry type="library" scope="PROVIDED" name="ffi (v1.15.5, RVM: ruby-2.7.6) [gem]" level="application" />
25
25
  <orderEntry type="library" scope="PROVIDED" name="forwardable-extended (v2.6.0, RVM: ruby-2.7.6) [gem]" level="application" />
26
- <orderEntry type="library" scope="PROVIDED" name="google-protobuf (v3.21.12, RVM: ruby-2.7.6) [gem]" level="application" />
26
+ <orderEntry type="library" scope="PROVIDED" name="google-protobuf (v3.22.0, RVM: ruby-2.7.6) [gem]" level="application" />
27
27
  <orderEntry type="library" scope="PROVIDED" name="http_parser.rb (v0.8.0, RVM: ruby-2.7.6) [gem]" level="application" />
28
28
  <orderEntry type="library" scope="PROVIDED" name="httparty (v0.21.0, RVM: ruby-2.7.6) [gem]" level="application" />
29
29
  <orderEntry type="library" scope="PROVIDED" name="i18n (v1.12.0, RVM: ruby-2.7.6) [gem]" level="application" />
@@ -46,23 +46,23 @@
46
46
  <orderEntry type="library" scope="PROVIDED" name="public_suffix (v5.0.1, RVM: ruby-2.7.6) [gem]" level="application" />
47
47
  <orderEntry type="library" scope="PROVIDED" name="racc (v1.6.2, RVM: ruby-2.7.6) [gem]" level="application" />
48
48
  <orderEntry type="library" scope="PROVIDED" name="rainbow (v3.1.1, RVM: ruby-2.7.6) [gem]" level="application" />
49
- <orderEntry type="library" scope="PROVIDED" name="rake (v13.0.1, RVM: ruby-2.7.6) [gem]" level="application" />
49
+ <orderEntry type="library" scope="PROVIDED" name="rake (v13.0.6, RVM: ruby-2.7.6) [gem]" level="application" />
50
50
  <orderEntry type="library" scope="PROVIDED" name="rb-fsevent (v0.11.2, RVM: ruby-2.7.6) [gem]" level="application" />
51
51
  <orderEntry type="library" scope="PROVIDED" name="rb-inotify (v0.10.1, RVM: ruby-2.7.6) [gem]" level="application" />
52
52
  <orderEntry type="library" scope="PROVIDED" name="regexp_parser (v2.7.0, RVM: ruby-2.7.6) [gem]" level="application" />
53
53
  <orderEntry type="library" scope="PROVIDED" name="rexml (v3.2.5, RVM: ruby-2.7.6) [gem]" level="application" />
54
54
  <orderEntry type="library" scope="PROVIDED" name="rouge (v4.1.0, RVM: ruby-2.7.6) [gem]" level="application" />
55
55
  <orderEntry type="library" scope="PROVIDED" name="rspec (v3.12.0, RVM: ruby-2.7.6) [gem]" level="application" />
56
- <orderEntry type="library" scope="PROVIDED" name="rspec-core (v3.12.0, RVM: ruby-2.7.6) [gem]" level="application" />
57
- <orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.12.0, RVM: ruby-2.7.6) [gem]" level="application" />
58
- <orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.12.0, RVM: ruby-2.7.6) [gem]" level="application" />
56
+ <orderEntry type="library" scope="PROVIDED" name="rspec-core (v3.12.1, RVM: ruby-2.7.6) [gem]" level="application" />
57
+ <orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.12.2, RVM: ruby-2.7.6) [gem]" level="application" />
58
+ <orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.12.3, RVM: ruby-2.7.6) [gem]" level="application" />
59
59
  <orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.12.0, RVM: ruby-2.7.6) [gem]" level="application" />
60
60
  <orderEntry type="library" scope="PROVIDED" name="rubocop (v1.44.1, RVM: ruby-2.7.6) [gem]" level="application" />
61
61
  <orderEntry type="library" scope="PROVIDED" name="rubocop-ast (v1.26.0, RVM: ruby-2.7.6) [gem]" level="application" />
62
62
  <orderEntry type="library" scope="PROVIDED" name="rubocop-performance (v1.15.2, RVM: ruby-2.7.6) [gem]" level="application" />
63
63
  <orderEntry type="library" scope="PROVIDED" name="ruby-progressbar (v1.11.0, RVM: ruby-2.7.6) [gem]" level="application" />
64
64
  <orderEntry type="library" scope="PROVIDED" name="safe_yaml (v1.0.5, RVM: ruby-2.7.6) [gem]" level="application" />
65
- <orderEntry type="library" scope="PROVIDED" name="sass-embedded (v1.58.0, RVM: ruby-2.7.6) [gem]" level="application" />
65
+ <orderEntry type="library" scope="PROVIDED" name="sass-embedded (v1.58.2, RVM: ruby-2.7.6) [gem]" level="application" />
66
66
  <orderEntry type="library" scope="PROVIDED" name="standard (v1.24.3, RVM: ruby-2.7.6) [gem]" level="application" />
67
67
  <orderEntry type="library" scope="PROVIDED" name="terminal-table (v3.0.2, RVM: ruby-2.7.6) [gem]" level="application" />
68
68
  <orderEntry type="library" scope="PROVIDED" name="unicode-display_width (v2.4.2, RVM: ruby-2.7.6) [gem]" level="application" />
data/README.md CHANGED
@@ -17,7 +17,7 @@ This plugin exists because this URL was too long for me to debug.
17
17
  Instead, this plugin accepts parameters structured as a JSON:
18
18
 
19
19
  ```liquid
20
- <!-- If used in Liquid / HTML file, this will do -->
20
+ <!-- When using in Markdown, you need to use `{%- tag -%}` syntax - see "Usage" section -->
21
21
  {% shields_io {
22
22
  "label": "Find me on",
23
23
  "message": "GitHub",
@@ -26,7 +26,52 @@ Instead, this plugin accepts parameters structured as a JSON:
26
26
  "logo": "github",
27
27
  }
28
28
  %}
29
- <!-- When using in Markdown, you need to use `{%- tag -%}` syntax otherwise the tag will be escaped -->
29
+ ```
30
+
31
+ ## Installation
32
+
33
+ 1. Introduce this gem in your Gemfile
34
+ ```ruby
35
+ group :jekyll_plugins do
36
+ # Latest release
37
+ gem "jekyll-shields_io"
38
+ # "HEAD" version
39
+ gem "jekyll-shields_io", git: "https://github.com/clpsplug/jekyll-shields_io", branch: "base"
40
+ end
41
+ ```
42
+ 2. `bundle install`
43
+ 3. Add the plugin to your `_config.yml`
44
+ ```yaml
45
+ plugins:
46
+ - jekyll-shields_io
47
+ ```
48
+
49
+ ## Usage
50
+
51
+ The tag name is `shields_io`.
52
+ The JSON payload for your shield follows the tag name.
53
+ You can put newlines in your JSON for readability.
54
+
55
+ Depending on where you use the tag, you need to use one of the following tag syntaxes:
56
+
57
+ ### Using the tag in Liquid template / HTML
58
+ (i.e., the file name is either `*.html` or `*.liquid`)
59
+ ```liquid
60
+ {% shields_io {
61
+ "label": "Find me on",
62
+ "message": "GitHub",
63
+ "color": "181717",
64
+ "style": "flat",
65
+ "logo": "github",
66
+ }
67
+ %}
68
+ ```
69
+
70
+ ### Using the tag in Markdown
71
+ (i.e., the file name is `*.md`)
72
+ For markdown files, this syntax is required because the other one causes the shields `<img>` tags to be escaped.
73
+ ```liquid
74
+ <!-- Note the "hyphen" (-) after the percentage sign (%) -->
30
75
  {%- shields_io {
31
76
  "label": "Find me on",
32
77
  "message": "GitHub",
@@ -37,13 +82,17 @@ Instead, this plugin accepts parameters structured as a JSON:
37
82
  -%}
38
83
  ```
39
84
 
40
- ## Installation
41
-
42
- ```
43
- gem "jekyll-shields_io", git: "https://github.com/clpsplug/jekyll-shields_io", branch: "base"
44
- ```
85
+ ## Supported parameters
45
86
 
46
- RubyGems TBA
87
+ | key | content | required? |
88
+ |:--------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------|
89
+ | message | The right-side text of the shield. | YES |
90
+ | alt | The alternative text for the image. This _should_ be specified for accessibility reasons and when the service fails for any reason. | NO, but strongly recommended |
91
+ | label | The left-side text of the shield. If left, it will be "static" | NO |
92
+ | color | The color of the right side (some styles may ignore this value.) This can be color name (see [Shields.io](https://shields.io/) for supported names) or hex color code. Hex color codes _must not_ contain `#`. If left, 'inactive' is used. | NO |
93
+ | style | The shield style, see [Shields.io](https://shields.io) for valid values. If left, 'plastic' is used. | NO |
94
+ | logo | Service name or Simple Icons icon name; display on the left of the leftside text. | NO |
95
+ | href | A URL. Specifying this key will turn the shield into a clickable link | NO |
47
96
 
48
97
  ## Features
49
98
 
@@ -100,18 +149,6 @@ this plugin has an extended parameter `alt` for that purpose.
100
149
  %}
101
150
  ```
102
151
 
103
- ## Supported parameters
104
-
105
- | key | content | required? |
106
- |:--------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------|
107
- | message | The right-side text of the shield. | YES |
108
- | alt | The alternative text for the image. This _should_ be specified for accessibility reasons and when the service fails for any reason. | NO, but strongly recommended |
109
- | label | The left-side text of the shield. If left, it will be "static" | NO |
110
- | color | The color of the right side (some styles may ignore this value.) This can be color name (see [Shields.io](https://shields.io/) for supported names) or hex color code. Hex color codes _must not_ contain `#`. If left, 'inactive' is used. | NO |
111
- | style | The shield style, see [Shields.io](https://shields.io) for valid values. If left, 'plastic' is used. | NO |
112
- | logo | Service name or Simple Icons icon name; display on the left of the leftside text. | NO |
113
- | href | A URL. Specifying this key will turn the shield into a clickable link | NO |
114
-
115
152
  ## NOTE: i18n plugin compatibility
116
153
 
117
154
  This plugin tries to detect i18n plugin [Polyglot](https://github.com/untra/polyglot) when deploying shields to the assets folder;
@@ -1,5 +1,5 @@
1
1
  module Jekyll
2
2
  module ShieldsIO
3
- VERSION = "0.1.0"
3
+ VERSION = "0.1.1"
4
4
  end
5
5
  end
@@ -12,11 +12,15 @@ module Jekyll
12
12
  def initialize(context)
13
13
  # @type [Jekyll::Site]
14
14
  @site = context.registers[:site]
15
+ # This Jekyll site's "source" config
15
16
  # @type [String]
16
17
  @source_dir = File.absolute_path context.registers[:site].config["source"], Dir.pwd
17
18
  end
18
19
 
19
- # @param [Hash] config
20
+ # Fetches the shields from the service or retrieves one from cache
21
+ # @param [Hash] config User-supplied configuration (parsed from JSON)
22
+ # @return [Shield]
23
+ # @raise [ShieldFetchError] If Shields.IO service returns non-200 codes
20
24
  def get_shield(config)
21
25
  href = config[:href]
22
26
  alt = config[:alt]
@@ -40,9 +44,8 @@ module Jekyll
40
44
  log "Cache missed for query: #{query}"
41
45
  # If the cache does not exist, we need to get the file.
42
46
  response = HTTParty.get "https://img.shields.io/static/v1?#{query}"
43
- unless response.code == 200
44
- warn "Shields.io refused our request with Response Code #{response.code}."
45
- return nil
47
+ unless response.code.div(100) == 2
48
+ raise ShieldFetchError.new "Shields.io refused our request with response code #{response.code}"
46
49
  end
47
50
  img = response.body
48
51
  File.write cache_path, img
@@ -55,12 +58,11 @@ module Jekyll
55
58
  end
56
59
 
57
60
  # Queue given Shield for this Jekyll site's static files
58
- #
59
- # shield - Shield to queue for this Jekyll site's Jekyll::StaticFile.
61
+ # @param [Shield] shield Shield to queue for this Jekyll site's Jekyll::StaticFile.
62
+ # @raise [ShieldFileError] when specified cache file does not exist
60
63
  def queue_shield(shield)
61
64
  unless File.exist? shield.path
62
- warn "Cached shield image file was not found, maybe we failed to fetch it?"
63
- return
65
+ raise ShieldFileError.new
64
66
  end
65
67
  if @site.static_files.select { |f|
66
68
  f.is_a? StaticShieldFile
@@ -102,9 +104,13 @@ module Jekyll
102
104
  }.join "&"
103
105
  end
104
106
 
105
- def log(mes)
106
- unless @site.config["verbose"] != true
107
- warn mes
107
+ # Same as warn but will print an identifying tag ([Shields.IO Plugin]) and
108
+ # will not print unless verbose mode is on, or the message is marked important
109
+ # @param [String] mes
110
+ # @param [TrueClass, FalseClass] important
111
+ def log(mes, important = false)
112
+ unless @site.config["verbose"] != true || important
113
+ warn "[Shields.IO Plugin] #{mes}"
108
114
  end
109
115
  end
110
116
  end
@@ -166,10 +172,14 @@ module Jekyll
166
172
  end
167
173
  end
168
174
 
169
- class ShieldError < StandardError
170
- def initialize(msg = "Failed to fetch the shield.")
171
- super
172
- end
175
+ # Thrown when the plugin fails to fetch the shield image.
176
+ class ShieldFetchError < StandardError
177
+ end
178
+
179
+ # Thrown when the plugin fails to access the cached shield file.
180
+ # Realistically, if this happens something must be very wrong with the disk the cache is written to
181
+ # because the plugin would've crashed with IO errors well before this is thrown.
182
+ class ShieldFileError < StandardError
173
183
  end
174
184
 
175
185
  # Jekyll Liquid Tag for Shields.io
@@ -180,14 +190,14 @@ module Jekyll
180
190
  super
181
191
  # @type [Hash]
182
192
  @payload = JSON.parse(input.strip, {symbolize_names: true})
193
+ # This only appears if there is an error trying to fetch the shield.
194
+ # @type [String]
195
+ @last_ditch_alt = "<p>#{@payload[:label]} #{@payload[:message]}</p>"
183
196
  end
184
197
 
185
198
  def render(context)
186
199
  fct = ShieldFactory.new context
187
200
  shield = fct.get_shield @payload
188
- if shield.nil?
189
- raise ShieldError.new
190
- end
191
201
  fct.queue_shield shield
192
202
 
193
203
  shield_tag = <<HTML
@@ -207,6 +217,12 @@ HTML
207
217
  else
208
218
  shield_tag
209
219
  end
220
+ rescue ShieldFetchError
221
+ warn "[Shields.IO Plugin] Failed to fetch shields! (input: #{JSON.dump @payload})"
222
+ @last_ditch_alt
223
+ rescue ShieldFileError
224
+ warn "[Shields.IO Plugin] Failed to access cached shields!"
225
+ @last_ditch_alt
210
226
  end
211
227
  end
212
228
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-shields_io
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - C. Plug
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-17 00:00:00.000000000 Z
11
+ date: 2023-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -79,6 +79,8 @@ extensions: []
79
79
  extra_rdoc_files: []
80
80
  files:
81
81
  - ".editorconfig"
82
+ - ".github/workflows/code_style.yml"
83
+ - ".github/workflows/test.yml"
82
84
  - ".gitignore"
83
85
  - ".idea/.gitignore"
84
86
  - ".idea/codeStyles/codeStyleConfig.xml"
@@ -88,7 +90,6 @@ files:
88
90
  - ".idea/vcs.xml"
89
91
  - ".rspec"
90
92
  - Gemfile
91
- - Gemfile.lock
92
93
  - LICENSE.txt
93
94
  - README.md
94
95
  - Rakefile
data/Gemfile.lock DELETED
@@ -1,132 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- jekyll-shields_io (0.1.0)
5
- httparty (~> 0.17, < 1.0)
6
- jekyll (>= 3.5, < 5.0)
7
- nokogiri (~> 1.4, < 2.0)
8
-
9
- GEM
10
- remote: https://rubygems.org/
11
- specs:
12
- addressable (2.8.1)
13
- public_suffix (>= 2.0.2, < 6.0)
14
- ast (2.4.2)
15
- colorator (1.1.0)
16
- concurrent-ruby (1.2.0)
17
- diff-lcs (1.5.0)
18
- em-websocket (0.5.3)
19
- eventmachine (>= 0.12.9)
20
- http_parser.rb (~> 0)
21
- eventmachine (1.2.7)
22
- ffi (1.15.5)
23
- forwardable-extended (2.6.0)
24
- google-protobuf (3.21.12-x86_64-darwin)
25
- http_parser.rb (0.8.0)
26
- httparty (0.21.0)
27
- mini_mime (>= 1.0.0)
28
- multi_xml (>= 0.5.2)
29
- i18n (1.12.0)
30
- concurrent-ruby (~> 1.0)
31
- jekyll (4.3.2)
32
- addressable (~> 2.4)
33
- colorator (~> 1.0)
34
- em-websocket (~> 0.5)
35
- i18n (~> 1.0)
36
- jekyll-sass-converter (>= 2.0, < 4.0)
37
- jekyll-watch (~> 2.0)
38
- kramdown (~> 2.3, >= 2.3.1)
39
- kramdown-parser-gfm (~> 1.0)
40
- liquid (~> 4.0)
41
- mercenary (>= 0.3.6, < 0.5)
42
- pathutil (~> 0.9)
43
- rouge (>= 3.0, < 5.0)
44
- safe_yaml (~> 1.0)
45
- terminal-table (>= 1.8, < 4.0)
46
- webrick (~> 1.7)
47
- jekyll-sass-converter (3.0.0)
48
- sass-embedded (~> 1.54)
49
- jekyll-watch (2.2.1)
50
- listen (~> 3.0)
51
- json (2.6.3)
52
- kramdown (2.4.0)
53
- rexml
54
- kramdown-parser-gfm (1.1.0)
55
- kramdown (~> 2.0)
56
- language_server-protocol (3.17.0.3)
57
- liquid (4.0.4)
58
- listen (3.8.0)
59
- rb-fsevent (~> 0.10, >= 0.10.3)
60
- rb-inotify (~> 0.9, >= 0.9.10)
61
- mercenary (0.4.0)
62
- mini_mime (1.1.2)
63
- multi_xml (0.6.0)
64
- nokogiri (1.14.2-x86_64-darwin)
65
- racc (~> 1.4)
66
- parallel (1.22.1)
67
- parser (3.2.1.0)
68
- ast (~> 2.4.1)
69
- pathutil (0.16.2)
70
- forwardable-extended (~> 2.6)
71
- public_suffix (5.0.1)
72
- racc (1.6.2)
73
- rainbow (3.1.1)
74
- rake (13.0.1)
75
- rb-fsevent (0.11.2)
76
- rb-inotify (0.10.1)
77
- ffi (~> 1.0)
78
- regexp_parser (2.7.0)
79
- rexml (3.2.5)
80
- rouge (4.1.0)
81
- rspec (3.12.0)
82
- rspec-core (~> 3.12.0)
83
- rspec-expectations (~> 3.12.0)
84
- rspec-mocks (~> 3.12.0)
85
- rspec-core (3.12.0)
86
- rspec-support (~> 3.12.0)
87
- rspec-expectations (3.12.0)
88
- diff-lcs (>= 1.2.0, < 2.0)
89
- rspec-support (~> 3.12.0)
90
- rspec-mocks (3.12.0)
91
- diff-lcs (>= 1.2.0, < 2.0)
92
- rspec-support (~> 3.12.0)
93
- rspec-support (3.12.0)
94
- rubocop (1.44.1)
95
- json (~> 2.3)
96
- parallel (~> 1.10)
97
- parser (>= 3.2.0.0)
98
- rainbow (>= 2.2.2, < 4.0)
99
- regexp_parser (>= 1.8, < 3.0)
100
- rexml (>= 3.2.5, < 4.0)
101
- rubocop-ast (>= 1.24.1, < 2.0)
102
- ruby-progressbar (~> 1.7)
103
- unicode-display_width (>= 2.4.0, < 3.0)
104
- rubocop-ast (1.26.0)
105
- parser (>= 3.2.1.0)
106
- rubocop-performance (1.15.2)
107
- rubocop (>= 1.7.0, < 2.0)
108
- rubocop-ast (>= 0.4.0)
109
- ruby-progressbar (1.11.0)
110
- safe_yaml (1.0.5)
111
- sass-embedded (1.58.0-x86_64-darwin)
112
- google-protobuf (~> 3.21)
113
- standard (1.24.3)
114
- language_server-protocol (~> 3.17.0.2)
115
- rubocop (= 1.44.1)
116
- rubocop-performance (= 1.15.2)
117
- terminal-table (3.0.2)
118
- unicode-display_width (>= 1.1.1, < 3)
119
- unicode-display_width (2.4.2)
120
- webrick (1.8.1)
121
-
122
- PLATFORMS
123
- x86_64-darwin-21
124
-
125
- DEPENDENCIES
126
- jekyll-shields_io!
127
- rake
128
- rspec
129
- standard
130
-
131
- BUNDLED WITH
132
- 2.2.2