jekyll-shields_io 0.1.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: f1cbdcd86f96276054df32441aa54069c49f7cb4a3a6726bc9590054cdec87dd
4
+ data.tar.gz: 04002f19e6937e6db93ec182e1103b277b37c1648ae752ca254dbd568117b7b2
5
+ SHA512:
6
+ metadata.gz: 97fbf33a96dc445cd1e27f69008db09e05685ef31212aabb65d8b21fb2f73ae89474a3cd8e2cf033ed086aed3a2c2510d7ca41e5b93d109b82026e1893f42a6d
7
+ data.tar.gz: 4268bd92876e71d790e8966d7fd287af6a2ed4b364b693cc00534c4fcf9a203b5c740110d574b7198570810f39b8bc248538b41d3c3cc47036168e0909716312
data/.editorconfig ADDED
@@ -0,0 +1,11 @@
1
+ [*]
2
+ insert_final_newline = true
3
+ indent_size = 4
4
+ indent_style = space
5
+ trim_trailing_whitespace = true
6
+
7
+ [{*.rb, *.gemspec, Gemfile*}]
8
+ indent_size = 2
9
+
10
+ [*.md]
11
+ trim_trailing_whitespace = false
data/.gitignore ADDED
@@ -0,0 +1,213 @@
1
+ # Exclude RSpec failure tracker
2
+ .rspec_status
3
+
4
+ # Tests will mess with this directory
5
+ _cache/
6
+
7
+ # Created by https://www.toptal.com/developers/gitignore/api/ruby,rubymine,macos
8
+ # Edit at https://www.toptal.com/developers/gitignore?templates=ruby,rubymine,macos
9
+
10
+ ### macOS ###
11
+ # General
12
+ .DS_Store
13
+ .AppleDouble
14
+ .LSOverride
15
+
16
+ # Icon must end with two \r
17
+ Icon
18
+
19
+
20
+ # Thumbnails
21
+ ._*
22
+
23
+ # Files that might appear in the root of a volume
24
+ .DocumentRevisions-V100
25
+ .fseventsd
26
+ .Spotlight-V100
27
+ .TemporaryItems
28
+ .Trashes
29
+ .VolumeIcon.icns
30
+ .com.apple.timemachine.donotpresent
31
+
32
+ # Directories potentially created on remote AFP share
33
+ .AppleDB
34
+ .AppleDesktop
35
+ Network Trash Folder
36
+ Temporary Items
37
+ .apdisk
38
+
39
+ ### macOS Patch ###
40
+ # iCloud generated files
41
+ *.icloud
42
+
43
+ ### Ruby ###
44
+ *.gem
45
+ *.rbc
46
+ /.config
47
+ /coverage/
48
+ /InstalledFiles
49
+ /pkg/
50
+ /spec/reports/
51
+ /spec/examples.txt
52
+ /test/tmp/
53
+ /test/version_tmp/
54
+ /tmp/
55
+
56
+ # Used by dotenv library to load environment variables.
57
+ # .env
58
+
59
+ # Ignore Byebug command history file.
60
+ .byebug_history
61
+
62
+ ## Specific to RubyMotion:
63
+ .dat*
64
+ .repl_history
65
+ build/
66
+ *.bridgesupport
67
+ build-iPhoneOS/
68
+ build-iPhoneSimulator/
69
+
70
+ ## Specific to RubyMotion (use of CocoaPods):
71
+ #
72
+ # We recommend against adding the Pods directory to your .gitignore. However
73
+ # you should judge for yourself, the pros and cons are mentioned at:
74
+ # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
75
+ # vendor/Pods/
76
+
77
+ ## Documentation cache and generated files:
78
+ /.yardoc/
79
+ /_yardoc/
80
+ /doc/
81
+ /rdoc/
82
+
83
+ ## Environment normalization:
84
+ /.bundle/
85
+ /vendor/bundle
86
+ /lib/bundler/man/
87
+
88
+ # for a library or gem, you might want to ignore these files since the code is
89
+ # intended to run in multiple environments; otherwise, check them in:
90
+ # Gemfile.lock
91
+ # .ruby-version
92
+ # .ruby-gemset
93
+
94
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
95
+ .rvmrc
96
+
97
+ # Used by RuboCop. Remote config files pulled in from inherit_from directive.
98
+ # .rubocop-https?--*
99
+
100
+ ### RubyMine ###
101
+ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
102
+ # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
103
+
104
+ # User-specific stuff
105
+ .idea/**/workspace.xml
106
+ .idea/**/tasks.xml
107
+ .idea/**/usage.statistics.xml
108
+ .idea/**/dictionaries
109
+ .idea/**/shelf
110
+
111
+ # AWS User-specific
112
+ .idea/**/aws.xml
113
+
114
+ # Generated files
115
+ .idea/**/contentModel.xml
116
+
117
+ # Sensitive or high-churn files
118
+ .idea/**/dataSources/
119
+ .idea/**/dataSources.ids
120
+ .idea/**/dataSources.local.xml
121
+ .idea/**/sqlDataSources.xml
122
+ .idea/**/dynamic.xml
123
+ .idea/**/uiDesigner.xml
124
+ .idea/**/dbnavigator.xml
125
+
126
+ # Gradle
127
+ .idea/**/gradle.xml
128
+ .idea/**/libraries
129
+
130
+ # Gradle and Maven with auto-import
131
+ # When using Gradle or Maven with auto-import, you should exclude module files,
132
+ # since they will be recreated, and may cause churn. Uncomment if using
133
+ # auto-import.
134
+ # .idea/artifacts
135
+ # .idea/compiler.xml
136
+ # .idea/jarRepositories.xml
137
+ # .idea/modules.xml
138
+ # .idea/*.iml
139
+ # .idea/modules
140
+ # *.iml
141
+ # *.ipr
142
+
143
+ # CMake
144
+ cmake-build-*/
145
+
146
+ # Mongo Explorer plugin
147
+ .idea/**/mongoSettings.xml
148
+
149
+ # File-based project format
150
+ *.iws
151
+
152
+ # IntelliJ
153
+ out/
154
+
155
+ # mpeltonen/sbt-idea plugin
156
+ .idea_modules/
157
+
158
+ # JIRA plugin
159
+ atlassian-ide-plugin.xml
160
+
161
+ # Cursive Clojure plugin
162
+ .idea/replstate.xml
163
+
164
+ # SonarLint plugin
165
+ .idea/sonarlint/
166
+
167
+ # Crashlytics plugin (for Android Studio and IntelliJ)
168
+ com_crashlytics_export_strings.xml
169
+ crashlytics.properties
170
+ crashlytics-build.properties
171
+ fabric.properties
172
+
173
+ # Editor-based Rest Client
174
+ .idea/httpRequests
175
+
176
+ # Android studio 3.1+ serialized cache file
177
+ .idea/caches/build_file_checksums.ser
178
+
179
+ ### RubyMine Patch ###
180
+ # Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
181
+
182
+ # *.iml
183
+ # modules.xml
184
+ # .idea/misc.xml
185
+ # *.ipr
186
+
187
+ # Sonarlint plugin
188
+ # https://plugins.jetbrains.com/plugin/7973-sonarlint
189
+ .idea/**/sonarlint/
190
+
191
+ # SonarQube Plugin
192
+ # https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
193
+ .idea/**/sonarIssues.xml
194
+
195
+ # Markdown Navigator plugin
196
+ # https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
197
+ .idea/**/markdown-navigator.xml
198
+ .idea/**/markdown-navigator-enh.xml
199
+ .idea/**/markdown-navigator/
200
+
201
+ # Cache file creation bug
202
+ # See https://youtrack.jetbrains.com/issue/JBR-2257
203
+ .idea/$CACHE_FILE$
204
+
205
+ # CodeStream plugin
206
+ # https://plugins.jetbrains.com/plugin/12206-codestream
207
+ .idea/codestream.xml
208
+
209
+ # Azure Toolkit for IntelliJ plugin
210
+ # https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij
211
+ .idea/**/azureSettings.xml
212
+
213
+ # End of https://www.toptal.com/developers/gitignore/api/ruby,rubymine,macos
data/.idea/.gitignore ADDED
@@ -0,0 +1,8 @@
1
+ # Default ignored files
2
+ /shelf/
3
+ /workspace.xml
4
+ # Editor-based HTTP Client requests
5
+ /httpRequests/
6
+ # Datasource local storage ignored files
7
+ /dataSources/
8
+ /dataSources.local.xml
@@ -0,0 +1,5 @@
1
+ <component name="ProjectCodeStyleConfiguration">
2
+ <state>
3
+ <option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
4
+ </state>
5
+ </component>
@@ -0,0 +1,8 @@
1
+ <component name="InspectionProjectProfileManager">
2
+ <profile version="1.0">
3
+ <option name="myName" value="Project Default" />
4
+ <inspection_tool class="Rubocop" enabled="true" level="WARNING" enabled_by_default="true">
5
+ <option name="myUseStandardGemIfPossible" value="true" />
6
+ </inspection_tool>
7
+ </profile>
8
+ </component>
@@ -0,0 +1,106 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="RUBY_MODULE" version="4">
3
+ <component name="ModuleRunConfigurationManager">
4
+ <shared />
5
+ </component>
6
+ <component name="NewModuleRootManager">
7
+ <content url="file://$MODULE_DIR$">
8
+ <sourceFolder url="file://$MODULE_DIR$/features" isTestSource="true" />
9
+ <sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
10
+ <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
11
+ <excludeFolder url="file://$MODULE_DIR$/.jekyll-cache/Jekyll" />
12
+ <excludeFolder url="file://$MODULE_DIR$/.bundle" />
13
+ </content>
14
+ <orderEntry type="jdk" jdkName="RVM: ruby-2.7.6" jdkType="RUBY_SDK" />
15
+ <orderEntry type="sourceFolder" forTests="false" />
16
+ <orderEntry type="library" scope="PROVIDED" name="addressable (v2.8.1, RVM: ruby-2.7.6) [gem]" level="application" />
17
+ <orderEntry type="library" scope="PROVIDED" name="ast (v2.4.2, RVM: ruby-2.7.6) [gem]" level="application" />
18
+ <orderEntry type="library" scope="PROVIDED" name="bundler (v2.2.2, RVM: ruby-2.7.6) [gem]" level="application" />
19
+ <orderEntry type="library" scope="PROVIDED" name="colorator (v1.1.0, RVM: ruby-2.7.6) [gem]" level="application" />
20
+ <orderEntry type="library" scope="PROVIDED" name="concurrent-ruby (v1.2.0, RVM: ruby-2.7.6) [gem]" level="application" />
21
+ <orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.5.0, RVM: ruby-2.7.6) [gem]" level="application" />
22
+ <orderEntry type="library" scope="PROVIDED" name="em-websocket (v0.5.3, RVM: ruby-2.7.6) [gem]" level="application" />
23
+ <orderEntry type="library" scope="PROVIDED" name="eventmachine (v1.2.7, RVM: ruby-2.7.6) [gem]" level="application" />
24
+ <orderEntry type="library" scope="PROVIDED" name="ffi (v1.15.5, RVM: ruby-2.7.6) [gem]" level="application" />
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" />
27
+ <orderEntry type="library" scope="PROVIDED" name="http_parser.rb (v0.8.0, RVM: ruby-2.7.6) [gem]" level="application" />
28
+ <orderEntry type="library" scope="PROVIDED" name="httparty (v0.21.0, RVM: ruby-2.7.6) [gem]" level="application" />
29
+ <orderEntry type="library" scope="PROVIDED" name="i18n (v1.12.0, RVM: ruby-2.7.6) [gem]" level="application" />
30
+ <orderEntry type="library" scope="PROVIDED" name="jekyll (v4.3.2, RVM: ruby-2.7.6) [gem]" level="application" />
31
+ <orderEntry type="library" scope="PROVIDED" name="jekyll-sass-converter (v3.0.0, RVM: ruby-2.7.6) [gem]" level="application" />
32
+ <orderEntry type="library" scope="PROVIDED" name="jekyll-watch (v2.2.1, RVM: ruby-2.7.6) [gem]" level="application" />
33
+ <orderEntry type="library" scope="PROVIDED" name="json (v2.6.3, RVM: ruby-2.7.6) [gem]" level="application" />
34
+ <orderEntry type="library" scope="PROVIDED" name="kramdown (v2.4.0, RVM: ruby-2.7.6) [gem]" level="application" />
35
+ <orderEntry type="library" scope="PROVIDED" name="kramdown-parser-gfm (v1.1.0, RVM: ruby-2.7.6) [gem]" level="application" />
36
+ <orderEntry type="library" scope="PROVIDED" name="language_server-protocol (v3.17.0.3, RVM: ruby-2.7.6) [gem]" level="application" />
37
+ <orderEntry type="library" scope="PROVIDED" name="liquid (v4.0.4, RVM: ruby-2.7.6) [gem]" level="application" />
38
+ <orderEntry type="library" scope="PROVIDED" name="listen (v3.8.0, RVM: ruby-2.7.6) [gem]" level="application" />
39
+ <orderEntry type="library" scope="PROVIDED" name="mercenary (v0.4.0, RVM: ruby-2.7.6) [gem]" level="application" />
40
+ <orderEntry type="library" scope="PROVIDED" name="mini_mime (v1.1.2, RVM: ruby-2.7.6) [gem]" level="application" />
41
+ <orderEntry type="library" scope="PROVIDED" name="multi_xml (v0.6.0, RVM: ruby-2.7.6) [gem]" level="application" />
42
+ <orderEntry type="library" scope="PROVIDED" name="nokogiri (v1.14.2, RVM: ruby-2.7.6) [gem]" level="application" />
43
+ <orderEntry type="library" scope="PROVIDED" name="parallel (v1.22.1, RVM: ruby-2.7.6) [gem]" level="application" />
44
+ <orderEntry type="library" scope="PROVIDED" name="parser (v3.2.1.0, RVM: ruby-2.7.6) [gem]" level="application" />
45
+ <orderEntry type="library" scope="PROVIDED" name="pathutil (v0.16.2, RVM: ruby-2.7.6) [gem]" level="application" />
46
+ <orderEntry type="library" scope="PROVIDED" name="public_suffix (v5.0.1, RVM: ruby-2.7.6) [gem]" level="application" />
47
+ <orderEntry type="library" scope="PROVIDED" name="racc (v1.6.2, RVM: ruby-2.7.6) [gem]" level="application" />
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" />
50
+ <orderEntry type="library" scope="PROVIDED" name="rb-fsevent (v0.11.2, RVM: ruby-2.7.6) [gem]" level="application" />
51
+ <orderEntry type="library" scope="PROVIDED" name="rb-inotify (v0.10.1, RVM: ruby-2.7.6) [gem]" level="application" />
52
+ <orderEntry type="library" scope="PROVIDED" name="regexp_parser (v2.7.0, RVM: ruby-2.7.6) [gem]" level="application" />
53
+ <orderEntry type="library" scope="PROVIDED" name="rexml (v3.2.5, RVM: ruby-2.7.6) [gem]" level="application" />
54
+ <orderEntry type="library" scope="PROVIDED" name="rouge (v4.1.0, RVM: ruby-2.7.6) [gem]" level="application" />
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" />
59
+ <orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.12.0, RVM: ruby-2.7.6) [gem]" level="application" />
60
+ <orderEntry type="library" scope="PROVIDED" name="rubocop (v1.44.1, RVM: ruby-2.7.6) [gem]" level="application" />
61
+ <orderEntry type="library" scope="PROVIDED" name="rubocop-ast (v1.26.0, RVM: ruby-2.7.6) [gem]" level="application" />
62
+ <orderEntry type="library" scope="PROVIDED" name="rubocop-performance (v1.15.2, RVM: ruby-2.7.6) [gem]" level="application" />
63
+ <orderEntry type="library" scope="PROVIDED" name="ruby-progressbar (v1.11.0, RVM: ruby-2.7.6) [gem]" level="application" />
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" />
66
+ <orderEntry type="library" scope="PROVIDED" name="standard (v1.24.3, RVM: ruby-2.7.6) [gem]" level="application" />
67
+ <orderEntry type="library" scope="PROVIDED" name="terminal-table (v3.0.2, RVM: ruby-2.7.6) [gem]" level="application" />
68
+ <orderEntry type="library" scope="PROVIDED" name="unicode-display_width (v2.4.2, RVM: ruby-2.7.6) [gem]" level="application" />
69
+ <orderEntry type="library" scope="PROVIDED" name="webrick (v1.8.1, RVM: ruby-2.7.6) [gem]" level="application" />
70
+ </component>
71
+ <component name="RakeTasksCache">
72
+ <option name="myRootTask">
73
+ <RakeTaskImpl id="rake">
74
+ <subtasks>
75
+ <RakeTaskImpl description="Build jekyll-shields_io-0.1.0.gem into the pkg directory" fullCommand="build" id="build" />
76
+ <RakeTaskImpl description="Remove any temporary products" fullCommand="clean" id="clean" />
77
+ <RakeTaskImpl description="Remove any generated files" fullCommand="clobber" id="clobber" />
78
+ <RakeTaskImpl description="Build and install jekyll-shields_io-0.1.0.gem into system gems" fullCommand="install" id="install" />
79
+ <RakeTaskImpl id="install">
80
+ <subtasks>
81
+ <RakeTaskImpl description="Build and install jekyll-shields_io-0.1.0.gem into system gems without network access" fullCommand="install:local" id="local" />
82
+ </subtasks>
83
+ </RakeTaskImpl>
84
+ <RakeTaskImpl description="Create tag v0.1.0 and build and push jekyll-shields_io-0.1.0.gem to rubygems.org" fullCommand="release[remote]" id="release[remote]" />
85
+ <RakeTaskImpl description="Run RSpec code examples" fullCommand="spec" id="spec" />
86
+ <RakeTaskImpl description="Lint with the Standard Ruby style guide" fullCommand="standard" id="standard" />
87
+ <RakeTaskImpl id="standard">
88
+ <subtasks>
89
+ <RakeTaskImpl description="Lint and automatically fix with the Standard Ruby style guide" fullCommand="standard:fix" id="fix" />
90
+ </subtasks>
91
+ </RakeTaskImpl>
92
+ <RakeTaskImpl description="" fullCommand="default" id="default" />
93
+ <RakeTaskImpl description="" fullCommand="release" id="release" />
94
+ <RakeTaskImpl id="release">
95
+ <subtasks>
96
+ <RakeTaskImpl description="" fullCommand="release:guard_clean" id="guard_clean" />
97
+ <RakeTaskImpl description="" fullCommand="release:rubygem_push" id="rubygem_push" />
98
+ <RakeTaskImpl description="" fullCommand="release:source_control_push" id="source_control_push" />
99
+ </subtasks>
100
+ </RakeTaskImpl>
101
+ <RakeTaskImpl description="" fullCommand="test" id="test" />
102
+ </subtasks>
103
+ </RakeTaskImpl>
104
+ </option>
105
+ </component>
106
+ </module>
data/.idea/modules.xml ADDED
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/jekyll-shields-io.iml" filepath="$PROJECT_DIR$/.idea/jekyll-shields-io.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
data/.idea/vcs.xml ADDED
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
+ </component>
6
+ </project>
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
data/Gemfile ADDED
@@ -0,0 +1,7 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec
4
+
5
+ gem "standard", group: [:development, :test]
6
+ gem "rake", group: [:development, :test]
7
+ gem "rspec", group: [:development, :test]
data/Gemfile.lock ADDED
@@ -0,0 +1,132 @@
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
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright 2023 C. Plug
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,131 @@
1
+ # jekyll-shields_io
2
+
3
+ > **Adding shields (badges) to your Jekyll blog, made more readable**
4
+
5
+ This is a Jekyll plugin to generate a [Shields.io](https://shields.io) badge in your Jekyll blog
6
+ with a more readable way.
7
+
8
+ Shields.io takes the properties of the badges you want to make in forms of GET parameters like so:
9
+
10
+ https://img.shields.io/static/v1?label=Find%20me%20on&message=GitHub&color=181717&style=flat&logo=github
11
+
12
+ This URL would become this:
13
+ ![A badge that says Find me on GitHub](https://img.shields.io/static/v1?label=Find%20me%20on&message=GitHub&color=181717&style=flat&logo=github)
14
+
15
+ This plugin exists because this URL was too long for me to debug.
16
+
17
+ Instead, this plugin accepts parameters structured as a JSON:
18
+
19
+ ```liquid
20
+ <!-- If used in Liquid / HTML file, this will do -->
21
+ {% shields_io {
22
+ "label": "Find me on",
23
+ "message": "GitHub",
24
+ "color": "181717",
25
+ "style": "flat",
26
+ "logo": "github",
27
+ }
28
+ %}
29
+ <!-- When using in Markdown, you need to use `{%- tag -%}` syntax otherwise the tag will be escaped -->
30
+ {%- shields_io {
31
+ "label": "Find me on",
32
+ "message": "GitHub",
33
+ "color": "181717",
34
+ "style": "flat",
35
+ "logo": "github",
36
+ }
37
+ -%}
38
+ ```
39
+
40
+ ## Installation
41
+
42
+ ```
43
+ gem "jekyll-shields_io", git: "https://github.com/clpsplug/jekyll-shields_io", branch: "base"
44
+ ```
45
+
46
+ RubyGems TBA
47
+
48
+ ## Features
49
+
50
+ ### Easy to debug shield parameters
51
+
52
+ You can specify the parameters passed to Shields.io using JSON,
53
+ which prevents accidental and hard-to-spot mistakes.
54
+
55
+ ### Automatic caching
56
+
57
+ The shields are only fetched at the first time it is rendered during site builds.
58
+
59
+ This plugin creates a `_cache` directory in the blog's source directory
60
+ (which is the project root by default, can be configured with `source` config value)
61
+ and stores fetched shields, and then deploys them into the blog's `asset/img/shields` folder
62
+ to prevent unnecessary external HTML requests.
63
+
64
+ Deployment is done build-time, so it does not mess with your blog source
65
+ (other than creating `_cache` dir).
66
+
67
+ ### Extra parameters for your convenience
68
+
69
+ #### Make it a link
70
+
71
+ With the extended parameter `href`, you can instantly turn the shield
72
+ into a clickable link.
73
+
74
+ ```liquid
75
+ {% shields_io {
76
+ "label": "Find me on",
77
+ "message": "GitHub",
78
+ "color": "181717",
79
+ "style": "flat",
80
+ "logo": "github",
81
+ "href": "https://github.com/clpsplug/jekyll-shields_io"
82
+ }
83
+ %}
84
+ ```
85
+
86
+ #### Alternative Texts
87
+
88
+ Supplying the image with an alternative text is almost mandatory these days;
89
+ this plugin has an extended parameter `alt` for that purpose.
90
+
91
+ ```liquid
92
+ {% shields_io {
93
+ "label": "Find me on",
94
+ "message": "GitHub",
95
+ "color": "181717",
96
+ "style": "flat",
97
+ "logo": "github",
98
+ "alt": "Write your alternative text here"
99
+ }
100
+ %}
101
+ ```
102
+
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
+ ## NOTE: i18n plugin compatibility
116
+
117
+ This plugin tries to detect i18n plugin [Polyglot](https://github.com/untra/polyglot) when deploying shields to the assets folder;
118
+ this is done so that we don't accidentally deploy the shields for each language version of your site
119
+ (because usually you would have one `asset` folder that all the language versions would access.)
120
+
121
+ If you use other i18n plugins, the plugin may fail to spot that such i18n plugin is generating non-main language version of the site
122
+ and incorrectly deploy cached shields to those versions.
123
+ If you happen to see this behavior, please report it or send me a PR so that we can make this plugin compatible with that one!
124
+
125
+ ## Contributing
126
+
127
+ Bug reports & pull requests are welcome on [GitHub repo](https://github.com/clpsplug/jekyll-shields_io).
128
+
129
+ ## License
130
+
131
+ [MIT License](https://opensource.org/licenses/MIT)
data/Rakefile ADDED
@@ -0,0 +1,9 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+ require "standard/rake"
4
+
5
+ task default: [:test, "standard"]
6
+
7
+ RSpec::Core::RakeTask.new(:spec)
8
+
9
+ task test: [:spec]
@@ -0,0 +1,26 @@
1
+ lib = File.expand_path("../lib", __FILE__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+
4
+ require "jekyll-shields_io/version"
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "jekyll-shields_io"
8
+ s.version = Jekyll::ShieldsIO::VERSION
9
+ s.summary = "Adds ability to put shields.io badges in your Jekyll blog"
10
+ s.description = <<~EOD
11
+ This Jekyll plugin allows you to add a shields.io badge in your blog
12
+ without forming very long URLs - instead, the properties are set via JSON.
13
+ EOD
14
+ s.authors = ["C. Plug"]
15
+ s.email = "hsp.tosh.5200113@gmail.com"
16
+ s.homepage = "https://github.com/clpsplug/jekyll-shields_io"
17
+ s.license = "MIT"
18
+
19
+ s.files = Dir.chdir(File.expand_path("..", __FILE__)) do
20
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
21
+ end
22
+ s.require_paths = ["lib"]
23
+ s.add_dependency "jekyll", ">= 3.5", "< 5.0"
24
+ s.add_dependency "nokogiri", "~> 1.4", "< 2.0"
25
+ s.add_dependency "httparty", "~> 0.17", "< 1.0"
26
+ end
@@ -0,0 +1,5 @@
1
+ module Jekyll
2
+ module ShieldsIO
3
+ VERSION = "0.1.0"
4
+ end
5
+ end
@@ -0,0 +1,215 @@
1
+ require "digest"
2
+ require "fileutils"
3
+ require "json"
4
+ require "nokogiri"
5
+ require "httparty"
6
+
7
+ module Jekyll
8
+ module ShieldsIO
9
+ # Factory for generating Shields.IO's shield
10
+ class ShieldFactory
11
+ # @param [Liquid::Context] context
12
+ def initialize(context)
13
+ # @type [Jekyll::Site]
14
+ @site = context.registers[:site]
15
+ # @type [String]
16
+ @source_dir = File.absolute_path context.registers[:site].config["source"], Dir.pwd
17
+ end
18
+
19
+ # @param [Hash] config
20
+ def get_shield(config)
21
+ href = config[:href]
22
+ alt = config[:alt]
23
+ cls = config[:class]
24
+ query = hash_to_query(config, [:href, :alt, :class])
25
+
26
+ unless File.exist? cache_dir
27
+ FileUtils.mkdir_p cache_dir
28
+ log "Cache directory #{cache_dir} was made for Shields.IO tags."
29
+ end
30
+
31
+ cache_file = "#{Digest::MD5.hexdigest query}.svg"
32
+ cache_path = File.join cache_dir, cache_file
33
+
34
+ # Consult the cache first
35
+ if File.exist? cache_path
36
+ log "Cache hit for query: #{query} => #{cache_path}"
37
+ # Good news: Shields.IO outputs SVG, which is just XML, and it makes our job very easy!
38
+ image_xml = Nokogiri::XML(File.read(cache_path))
39
+ else
40
+ log "Cache missed for query: #{query}"
41
+ # If the cache does not exist, we need to get the file.
42
+ 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
46
+ end
47
+ img = response.body
48
+ File.write cache_path, img
49
+ image_xml = Nokogiri::XML(img)
50
+ log "Cached shield for #{query} => #{cache_path}"
51
+ end
52
+ width = image_xml.root["width"].to_i
53
+ height = image_xml.root["height"].to_i
54
+ Shield.new(width, height, cache_path, href, alt, cls)
55
+ end
56
+
57
+ # Queue given Shield for this Jekyll site's static files
58
+ #
59
+ # shield - Shield to queue for this Jekyll site's Jekyll::StaticFile.
60
+ def queue_shield(shield)
61
+ unless File.exist? shield.path
62
+ warn "Cached shield image file was not found, maybe we failed to fetch it?"
63
+ return
64
+ end
65
+ if @site.static_files.select { |f|
66
+ f.is_a? StaticShieldFile
67
+ }.select { |s| s.name == shield.basename }.any?
68
+ log "#{shield.basename} already queued for static files"
69
+ return
70
+ end
71
+ # Polyglot compatibility
72
+ if @site.respond_to?(:active_lang)
73
+ log "Detected Polyglot"
74
+ unless @site.active_lang == @site.default_lang
75
+ log "Skipping copy because of non-default lang site is being built (active lang = #{@site.active_lang})"
76
+ return
77
+ end
78
+ end
79
+ @site.static_files << StaticShieldFile.new(@site, @site.source, File.join("_cache", "shields_io"), shield.basename, target_dir(true))
80
+ log "Cached shield queued for copying"
81
+ end
82
+
83
+ def target_dir(for_local = false)
84
+ if for_local
85
+ File.join "assets", "img", "shields"
86
+ end
87
+ "assets/img/shields"
88
+ end
89
+
90
+ private
91
+
92
+ def cache_dir
93
+ File.join(@source_dir, "_cache", "shields_io")
94
+ end
95
+
96
+ def hash_to_query(config, ignored_symbols)
97
+ c = config.clone
98
+ # Keys must be taken out from the clone because Jekyll seems to cache exact same calls to tags?
99
+ ignored_symbols.each { |s| c.delete(s) }
100
+ c.to_a.map { |k, v|
101
+ "#{k}=#{v}"
102
+ }.join "&"
103
+ end
104
+
105
+ def log(mes)
106
+ unless @site.config["verbose"] != true
107
+ warn mes
108
+ end
109
+ end
110
+ end
111
+
112
+ # Object to represent the Shields.IO shield (plus some extra stuff)
113
+ class Shield
114
+ # To be used for img tag.
115
+ # @return [Integer]
116
+ attr_reader :width
117
+ # To be used for img tag.
118
+ # @return [Integer]
119
+ attr_reader :height
120
+ # If not nil, make the shield image a link.
121
+ # @return [String]
122
+ attr_reader :href
123
+ # Alternative string for this shield, should the browser fails to load the image
124
+ # @return [String]
125
+ attr_reader :alt
126
+ # HTML class for this shield image.
127
+ # @return [String]
128
+ attr_reader :cls
129
+ # Path to the cache file. *Not* to be used for HTML - use :basename instead.
130
+ # @return [String]
131
+ attr_reader :path
132
+ # Basename of the shield.
133
+ # Specifying "assets/img/shields/" + :basename to src attribute should display this shield.
134
+ # @return [String]
135
+ attr_reader :basename
136
+
137
+ def initialize(width, height, path, href, alt, cls)
138
+ @width = width
139
+ @height = height
140
+ @path = path
141
+ @basename = File.basename path
142
+ @href = href
143
+ @alt = alt
144
+ @cls = cls
145
+ end
146
+ end
147
+
148
+ # Jekyll representation for the cached shield SVG files.
149
+ class StaticShieldFile < Jekyll::StaticFile
150
+ attr_reader :name
151
+
152
+ # Initialize a new CachedShield.
153
+ # site - The Site.
154
+ # base - The String path to the <source>.
155
+ # dir - The String path between <source> and the file.
156
+ # name - The String filename of the file.
157
+ # dest - The String destination path override.
158
+ def initialize(site, base, dir, name, dest)
159
+ super site, base, dir, name
160
+ @name = name
161
+ @dest = dest
162
+ end
163
+
164
+ def destination(dest)
165
+ File.join dest, @dest, @name
166
+ end
167
+ end
168
+
169
+ class ShieldError < StandardError
170
+ def initialize(msg = "Failed to fetch the shield.")
171
+ super
172
+ end
173
+ end
174
+
175
+ # Jekyll Liquid Tag for Shields.io
176
+ #
177
+ # Usage: {% shields_io <query param + special param as json> %}
178
+ class ShieldsIOTag < Liquid::Tag
179
+ def initialize(tag_name, input, parse_context)
180
+ super
181
+ # @type [Hash]
182
+ @payload = JSON.parse(input.strip, {symbolize_names: true})
183
+ end
184
+
185
+ def render(context)
186
+ fct = ShieldFactory.new context
187
+ shield = fct.get_shield @payload
188
+ if shield.nil?
189
+ raise ShieldError.new
190
+ end
191
+ fct.queue_shield shield
192
+
193
+ shield_tag = <<HTML
194
+ <img src="/#{fct.target_dir}/#{shield.basename}" width="#{shield.width}" height="#{shield.height}"
195
+ HTML
196
+ shield_tag += if !shield.alt.nil?
197
+ " alt=\"#{shield.alt}\" class=\"#{shield.cls}\"/>"
198
+ else
199
+ " class=\"#{shield.cls}\"/>"
200
+ end
201
+ if !shield.href.nil?
202
+ <<~HTML
203
+ <a href="#{shield.href}" class="#{shield.cls}">
204
+ #{shield_tag}
205
+ </a>
206
+ HTML
207
+ else
208
+ shield_tag
209
+ end
210
+ end
211
+ end
212
+ end
213
+ end
214
+
215
+ Liquid::Template.register_tag("shields_io", Jekyll::ShieldsIO::ShieldsIOTag)
metadata ADDED
@@ -0,0 +1,121 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jekyll-shields_io
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - C. Plug
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-02-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: jekyll
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '3.5'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '5.0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '3.5'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '5.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: nokogiri
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.4'
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: '2.0'
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '1.4'
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: '2.0'
53
+ - !ruby/object:Gem::Dependency
54
+ name: httparty
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '0.17'
60
+ - - "<"
61
+ - !ruby/object:Gem::Version
62
+ version: '1.0'
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '0.17'
70
+ - - "<"
71
+ - !ruby/object:Gem::Version
72
+ version: '1.0'
73
+ description: |
74
+ This Jekyll plugin allows you to add a shields.io badge in your blog
75
+ without forming very long URLs - instead, the properties are set via JSON.
76
+ email: hsp.tosh.5200113@gmail.com
77
+ executables: []
78
+ extensions: []
79
+ extra_rdoc_files: []
80
+ files:
81
+ - ".editorconfig"
82
+ - ".gitignore"
83
+ - ".idea/.gitignore"
84
+ - ".idea/codeStyles/codeStyleConfig.xml"
85
+ - ".idea/inspectionProfiles/Project_Default.xml"
86
+ - ".idea/jekyll-shields-io.iml"
87
+ - ".idea/modules.xml"
88
+ - ".idea/vcs.xml"
89
+ - ".rspec"
90
+ - Gemfile
91
+ - Gemfile.lock
92
+ - LICENSE.txt
93
+ - README.md
94
+ - Rakefile
95
+ - jekyll-shields_io.gemspec
96
+ - lib/jekyll-shields_io.rb
97
+ - lib/jekyll-shields_io/version.rb
98
+ homepage: https://github.com/clpsplug/jekyll-shields_io
99
+ licenses:
100
+ - MIT
101
+ metadata: {}
102
+ post_install_message:
103
+ rdoc_options: []
104
+ require_paths:
105
+ - lib
106
+ required_ruby_version: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ required_rubygems_version: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ version: '0'
116
+ requirements: []
117
+ rubygems_version: 3.1.6
118
+ signing_key:
119
+ specification_version: 4
120
+ summary: Adds ability to put shields.io badges in your Jekyll blog
121
+ test_files: []