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 +4 -4
- data/.github/workflows/code_style.yml +22 -0
- data/.github/workflows/test.yml +23 -0
- data/.gitignore +6 -0
- data/.idea/jekyll-shields-io.iml +6 -6
- data/README.md +57 -20
- data/lib/jekyll-shields_io/version.rb +1 -1
- data/lib/jekyll-shields_io.rb +34 -18
- metadata +4 -3
- data/Gemfile.lock +0 -132
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0cdfb519e88b7ea828926072a6dc4cca8e4597de5c7a5beda7be9def4e950f96
|
4
|
+
data.tar.gz: dba38e0c77372579fffcb82489f6fbb5f77d8dc0ca6a7cb4237e0fbbca4128a8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
|
data/.idea/jekyll-shields-io.iml
CHANGED
@@ -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.
|
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.
|
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.
|
57
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.12.
|
58
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.12.
|
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.
|
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
|
-
<!--
|
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
|
-
|
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
|
-
##
|
41
|
-
|
42
|
-
```
|
43
|
-
gem "jekyll-shields_io", git: "https://github.com/clpsplug/jekyll-shields_io", branch: "base"
|
44
|
-
```
|
85
|
+
## Supported parameters
|
45
86
|
|
46
|
-
|
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;
|
data/lib/jekyll-shields_io.rb
CHANGED
@@ -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
|
-
#
|
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 ==
|
44
|
-
|
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
|
-
#
|
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
|
-
|
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
|
-
|
106
|
-
|
107
|
-
|
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
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
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.
|
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-
|
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
|