puppet-sec-lint 0.1.2 → 0.5.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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/main.yml +4 -2
  3. data/.idea/puppet-sec-lint.iml +7 -4
  4. data/Gemfile +3 -1
  5. data/Gemfile.lock +7 -1
  6. data/README.md +35 -18
  7. data/_config.yml +1 -0
  8. data/docs/404.html +24 -0
  9. data/docs/Gemfile +30 -0
  10. data/docs/Gemfile.lock +275 -0
  11. data/docs/_config.yml +41 -0
  12. data/docs/_posts/2021-05-03-welcome-to-jekyll.markdown +25 -0
  13. data/docs/_site/404.html +71 -0
  14. data/docs/_site/feed.xml +13 -0
  15. data/docs/_site/index.html +1 -0
  16. data/docs/_site/jekyll/update/2021/05/03/welcome-to-jekyll.html +77 -0
  17. data/docs/hard-coded-credentials.md +17 -0
  18. data/docs/index.md +6 -0
  19. data/exe/puppet-sec-lint +69 -15
  20. data/lib/configurations/configuration.rb +2 -1
  21. data/lib/configurations/regex_configuration.rb +9 -0
  22. data/lib/facades/configuration_file_facade.rb +3 -1
  23. data/lib/facades/configuration_page_facade.rb +6 -0
  24. data/lib/lol.pp +6 -6
  25. data/lib/puppet-sec-lint/version.rb +3 -1
  26. data/lib/rule_engine.rb +15 -3
  27. data/lib/rules/admin_by_default_rule.rb +33 -0
  28. data/lib/rules/cyrillic_homograph_attack.rb +27 -0
  29. data/lib/rules/empty_password_rule.rb +35 -0
  30. data/lib/rules/hard_coded_credentials_rule.rb +22 -31
  31. data/lib/rules/invalid_ip_addr_binding_rule.rb +37 -0
  32. data/lib/rules/no_http_rule.rb +26 -9
  33. data/lib/rules/rule.rb +72 -0
  34. data/lib/rules/suspicious_comment_rule.rb +28 -0
  35. data/lib/rules/use_weak_crypto_algorithms_rule.rb +28 -0
  36. data/lib/servers/language_server.rb +100 -0
  37. data/lib/servers/linter_server.rb +50 -0
  38. data/lib/{sin.rb → sin/sin.rb} +6 -1
  39. data/lib/sin/sin_type.rb +44 -0
  40. data/lib/test.txt +15 -0
  41. data/lib/test2.rb +16 -0
  42. data/lib/test3.rb +32 -0
  43. data/lib/test_new.rb +19 -0
  44. data/lol2.pp +83 -0
  45. metadata +30 -5
  46. data/lib/language_server.rb +0 -78
  47. data/lib/sin_type.rb +0 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ea42e7ec33e53c24fc84699d82e00b832113a5d238bef9c7c3158bcdc5e44bd0
4
- data.tar.gz: a1234f997eac72b6e0975f5cc9e239ec1884a82e1583ffb5ce61a71cc510cb0c
3
+ metadata.gz: 809fba20ed858642afb88163e0d10a7cbb16bdba42034cc7ee64c6759e972818
4
+ data.tar.gz: aa3f199ba26370c45544219bd7ac6da577bda1bc1de505f3402078335005c8e2
5
5
  SHA512:
6
- metadata.gz: a0554a588075849c0d281abf9667903478c9d22cba79d643a094fcb8f5984d085e5e83d59fa729d226eebd931f6579996145785ca722cbfa7c0ea82633d5a90b
7
- data.tar.gz: a5905f05eeae1b8d2b21a8cb55eaffb653666be9eee74cc679a22214e9b62b2ebaa679f50c381a6b7420804c4e30dd70920717b9131c97b4791c488287ff6cc6
6
+ metadata.gz: 6927190fd45bac7c13952d2ce47a182655edc2d82cbd072dc662bf33e370dfc6f964e35b0f82a05ed194cf87eb4e76121453f5f7381afac7bb702679e198ead6
7
+ data.tar.gz: 3f69d79d76380a44c118e5dadeed7efdd32308453fe65815258a9539a1dc642f8daa24907fb131b2293fed5adc3617f0eb9a8f6776b0ee5dce4e8e76b5595fdf
@@ -11,8 +11,10 @@ jobs:
11
11
  uses: ruby/setup-ruby@v1
12
12
  with:
13
13
  ruby-version: 3.0.0
14
- - name: Run the default task
14
+ - name: Install bundle
15
15
  run: |
16
16
  gem install bundler -v 2.2.3
17
17
  bundle install
18
- bundle exec rake
18
+ - name: Run Tests
19
+ run: |
20
+ rake
@@ -11,11 +11,14 @@
11
11
  </content>
12
12
  <orderEntry type="inheritedJdk" />
13
13
  <orderEntry type="sourceFolder" forTests="false" />
14
+ <orderEntry type="library" scope="PROVIDED" name="addressable (v2.7.0, RVM: ruby-3.0.0 [global]) [gem]" level="application" />
14
15
  <orderEntry type="library" scope="PROVIDED" name="bundler (v2.2.3, RVM: ruby-3.0.0 [global]) [gem]" level="application" />
15
16
  <orderEntry type="library" scope="PROVIDED" name="daemons (v1.3.1, RVM: ruby-3.0.0 [global]) [gem]" level="application" />
16
17
  <orderEntry type="library" scope="PROVIDED" name="eventmachine (v1.2.7, RVM: ruby-3.0.0 [global]) [gem]" level="application" />
17
18
  <orderEntry type="library" scope="PROVIDED" name="inifile (v3.0.0, RVM: ruby-3.0.0 [global]) [gem]" level="application" />
19
+ <orderEntry type="library" scope="PROVIDED" name="launchy (v2.5.0, RVM: ruby-3.0.0 [global]) [gem]" level="application" />
18
20
  <orderEntry type="library" scope="PROVIDED" name="minitest (v5.14.4, RVM: ruby-3.0.0 [global]) [gem]" level="application" />
21
+ <orderEntry type="library" scope="PROVIDED" name="public_suffix (v4.0.6, RVM: ruby-3.0.0 [global]) [gem]" level="application" />
19
22
  <orderEntry type="library" scope="PROVIDED" name="puppet-lint (v2.4.2, RVM: ruby-3.0.0 [global]) [gem]" level="application" />
20
23
  <orderEntry type="library" scope="PROVIDED" name="rack (v2.2.3, RVM: ruby-3.0.0 [global]) [gem]" level="application" />
21
24
  <orderEntry type="library" scope="PROVIDED" name="rake (v13.0.3, RVM: ruby-3.0.0 [global]) [gem]" level="application" />
@@ -25,16 +28,16 @@
25
28
  <option name="myRootTask">
26
29
  <RakeTaskImpl id="rake">
27
30
  <subtasks>
28
- <RakeTaskImpl description="Build puppet-sec-lint-0.1.0.gem into the pkg directory" fullCommand="build" id="build" />
31
+ <RakeTaskImpl description="Build puppet-sec-lint-0.1.2.gem into the pkg directory" fullCommand="build" id="build" />
29
32
  <RakeTaskImpl description="Remove any temporary products" fullCommand="clean" id="clean" />
30
33
  <RakeTaskImpl description="Remove any generated files" fullCommand="clobber" id="clobber" />
31
- <RakeTaskImpl description="Build and install puppet-sec-lint-0.1.0.gem into system gems" fullCommand="install" id="install" />
34
+ <RakeTaskImpl description="Build and install puppet-sec-lint-0.1.2.gem into system gems" fullCommand="install" id="install" />
32
35
  <RakeTaskImpl id="install">
33
36
  <subtasks>
34
- <RakeTaskImpl description="Build and install puppet-sec-lint-0.1.0.gem into system gems without network access" fullCommand="install:local" id="local" />
37
+ <RakeTaskImpl description="Build and install puppet-sec-lint-0.1.2.gem into system gems without network access" fullCommand="install:local" id="local" />
35
38
  </subtasks>
36
39
  </RakeTaskImpl>
37
- <RakeTaskImpl description="Create tag v0.1.0 and build and push puppet-sec-lint-0.1.0.gem to TODO: Set to 'http://mygemserver.com'" fullCommand="release[remote]" id="release[remote]" />
40
+ <RakeTaskImpl description="Create tag v0.1.2 and build and push puppet-sec-lint-0.1.2.gem to https://rubygems.org" fullCommand="release[remote]" id="release[remote]" />
38
41
  <RakeTaskImpl description="Run tests" fullCommand="test" id="test" />
39
42
  <RakeTaskImpl description="" fullCommand="default" id="default" />
40
43
  <RakeTaskImpl description="" fullCommand="release" id="release" />
data/Gemfile CHANGED
@@ -15,4 +15,6 @@ gem "rack"
15
15
 
16
16
  gem 'thin'
17
17
 
18
- gem 'inifile'
18
+ gem 'inifile'
19
+
20
+ gem 'launchy'
data/Gemfile.lock CHANGED
@@ -1,15 +1,20 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- puppet-sec-lint (0.1.1)
4
+ puppet-sec-lint (0.1.2)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
+ addressable (2.7.0)
10
+ public_suffix (>= 2.0.2, < 5.0)
9
11
  daemons (1.3.1)
10
12
  eventmachine (1.2.7)
11
13
  inifile (3.0.0)
14
+ launchy (2.5.0)
15
+ addressable (~> 2.7)
12
16
  minitest (5.14.4)
17
+ public_suffix (4.0.6)
13
18
  puppet-lint (2.4.2)
14
19
  rack (2.2.3)
15
20
  rake (13.0.3)
@@ -23,6 +28,7 @@ PLATFORMS
23
28
 
24
29
  DEPENDENCIES
25
30
  inifile
31
+ launchy
26
32
  minitest (~> 5.0)
27
33
  puppet-lint
28
34
  puppet-sec-lint!
data/README.md CHANGED
@@ -1,43 +1,60 @@
1
- # Puppet::Sec::Lint
1
+ # Puppet Security Linter
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/puppet/sec/lint`. To experiment with that code, run `bin/console` for an interactive prompt.
4
-
5
- TODO: Delete this and the text above, and describe your gem
3
+ Puppet linter focused on finding security vulnerabilities in code.
6
4
 
7
5
  ## Installation
8
6
 
9
- Add this line to your application's Gemfile:
7
+ Install the Ruby gem:
10
8
 
11
- ```ruby
12
- gem 'puppet-sec-lint'
9
+ ```bash
10
+ gem install puppet-sec-lint
13
11
  ```
12
+ ## Usage
14
13
 
15
- And then execute:
14
+ To analyze a puppet file, simply call the newly installed linter:
16
15
 
17
- $ bundle install
16
+ ```bash
17
+ puppet-sec-lint /folder/script.pp
18
+ ```
18
19
 
19
- Or install it yourself as:
20
+ If the linter is called with a folder, all puppet files inside are recursively analyzed:
20
21
 
21
- $ gem install puppet-sec-lint
22
+ ```bash
23
+ puppet-sec-lint /folder
24
+ ```
25
+
26
+ To open the configurations page to better tune the different rules applied, use the appropriate flag:
27
+
28
+ ```bash
29
+ puppet-sec-lint -c
30
+ ```
31
+ (this will open the configurations page on the computer default web browser)
32
+
33
+
34
+ ### Integration with Visual Studio Code
35
+
36
+ The linter can also work inside Visual Studio code. For it, please ensure that the 'puppet-sec-lint' gem was installed on your system.
37
+
38
+ Then, install the [puppet-sec-lint VSCode extension](https://marketplace.visualstudio.com/items?itemName=tiago1998.puppet-sec-lint-vscode).
39
+
40
+ Now, after that the extension is activate, it should be activated automatically when a Puppet file is opened, analyzing and displaying warnings in real time.
22
41
 
23
- ## Usage
24
42
 
25
- TODO: Write usage instructions here
26
43
 
27
44
  ## Development
28
45
 
29
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
46
+ <!--After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
47
 
31
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
48
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).-->
32
49
 
33
50
  ## Contributing
34
51
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/puppet-sec-lint. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/[USERNAME]/puppet-sec-lint/blob/master/CODE_OF_CONDUCT.md).
52
+ <!-- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/puppet-sec-lint. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/[USERNAME]/puppet-sec-lint/blob/master/CODE_OF_CONDUCT.md). -->
36
53
 
37
54
  ## License
38
55
 
39
- The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
56
+ <!-- The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).-->
40
57
 
41
58
  ## Code of Conduct
42
59
 
43
- Everyone interacting in the Puppet::Sec::Lint project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/puppet-sec-lint/blob/master/CODE_OF_CONDUCT.md).
60
+ <!-- Everyone interacting in the Puppet::Sec::Lint project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/puppet-sec-lint/blob/master/CODE_OF_CONDUCT.md).-->
data/_config.yml ADDED
@@ -0,0 +1 @@
1
+ theme: jekyll-theme-cayman
data/docs/404.html ADDED
@@ -0,0 +1,24 @@
1
+ ---
2
+ layout: default
3
+ ---
4
+
5
+ <style type="text/css" media="screen">
6
+ .container {
7
+ margin: 10px auto;
8
+ max-width: 600px;
9
+ text-align: center;
10
+ }
11
+ h1 {
12
+ margin: 30px 0;
13
+ font-size: 4em;
14
+ line-height: 1;
15
+ letter-spacing: -1px;
16
+ }
17
+ </style>
18
+
19
+ <div class="container">
20
+ <h1>404</h1>
21
+
22
+ <p><strong>Page not found :(</strong></p>
23
+ <p>The requested page could not be found.</p>
24
+ </div>
data/docs/Gemfile ADDED
@@ -0,0 +1,30 @@
1
+ source "https://rubygems.org"
2
+
3
+ # Hello! This is where you manage which Jekyll version is used to run.
4
+ # When you want to use a different version, change it below, save the
5
+ # file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
6
+ #
7
+ # bundle exec jekyll serve
8
+ #
9
+ # This will help ensure the proper Jekyll version is running.
10
+ # Happy Jekylling!
11
+ #gem "jekyll", "~> 3.8.3"
12
+
13
+ # This is the default theme for new Jekyll sites. You may change this to anything you like.
14
+ gem "jekyll-theme-hacker"
15
+
16
+ # If you want to use GitHub Pages, remove the "gem "jekyll"" above and
17
+ # uncomment the line below. To upgrade, run `bundle update github-pages`.
18
+ gem "github-pages", "~> 214", group: :jekyll_plugins
19
+
20
+ # If you have any plugins, put them here!
21
+ group :jekyll_plugins do
22
+ gem "jekyll-feed", "~> 0.6"
23
+ end
24
+
25
+ # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
26
+ gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
27
+
28
+ # Performance-booster for watching directories on Windows
29
+ gem "wdm", "~> 0.1.0" if Gem.win_platform?
30
+
data/docs/Gemfile.lock ADDED
@@ -0,0 +1,275 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ activesupport (6.0.3.6)
5
+ concurrent-ruby (~> 1.0, >= 1.0.2)
6
+ i18n (>= 0.7, < 2)
7
+ minitest (~> 5.1)
8
+ tzinfo (~> 1.1)
9
+ zeitwerk (~> 2.2, >= 2.2.2)
10
+ addressable (2.7.0)
11
+ public_suffix (>= 2.0.2, < 5.0)
12
+ coffee-script (2.4.1)
13
+ coffee-script-source
14
+ execjs
15
+ coffee-script-source (1.11.1)
16
+ colorator (1.1.0)
17
+ commonmarker (0.17.13)
18
+ ruby-enum (~> 0.5)
19
+ concurrent-ruby (1.1.8)
20
+ dnsruby (1.61.5)
21
+ simpleidn (~> 0.1)
22
+ em-websocket (0.5.2)
23
+ eventmachine (>= 0.12.9)
24
+ http_parser.rb (~> 0.6.0)
25
+ ethon (0.14.0)
26
+ ffi (>= 1.15.0)
27
+ eventmachine (1.2.7)
28
+ execjs (2.7.0)
29
+ faraday (1.4.1)
30
+ faraday-excon (~> 1.1)
31
+ faraday-net_http (~> 1.0)
32
+ faraday-net_http_persistent (~> 1.1)
33
+ multipart-post (>= 1.2, < 3)
34
+ ruby2_keywords (>= 0.0.4)
35
+ faraday-excon (1.1.0)
36
+ faraday-net_http (1.0.1)
37
+ faraday-net_http_persistent (1.1.0)
38
+ ffi (1.15.0)
39
+ forwardable-extended (2.6.0)
40
+ gemoji (3.0.1)
41
+ github-pages (214)
42
+ github-pages-health-check (= 1.17.0)
43
+ jekyll (= 3.9.0)
44
+ jekyll-avatar (= 0.7.0)
45
+ jekyll-coffeescript (= 1.1.1)
46
+ jekyll-commonmark-ghpages (= 0.1.6)
47
+ jekyll-default-layout (= 0.1.4)
48
+ jekyll-feed (= 0.15.1)
49
+ jekyll-gist (= 1.5.0)
50
+ jekyll-github-metadata (= 2.13.0)
51
+ jekyll-mentions (= 1.6.0)
52
+ jekyll-optional-front-matter (= 0.3.2)
53
+ jekyll-paginate (= 1.1.0)
54
+ jekyll-readme-index (= 0.3.0)
55
+ jekyll-redirect-from (= 0.16.0)
56
+ jekyll-relative-links (= 0.6.1)
57
+ jekyll-remote-theme (= 0.4.3)
58
+ jekyll-sass-converter (= 1.5.2)
59
+ jekyll-seo-tag (= 2.7.1)
60
+ jekyll-sitemap (= 1.4.0)
61
+ jekyll-swiss (= 1.0.0)
62
+ jekyll-theme-architect (= 0.1.1)
63
+ jekyll-theme-cayman (= 0.1.1)
64
+ jekyll-theme-dinky (= 0.1.1)
65
+ jekyll-theme-hacker (= 0.1.2)
66
+ jekyll-theme-leap-day (= 0.1.1)
67
+ jekyll-theme-merlot (= 0.1.1)
68
+ jekyll-theme-midnight (= 0.1.1)
69
+ jekyll-theme-minimal (= 0.1.1)
70
+ jekyll-theme-modernist (= 0.1.1)
71
+ jekyll-theme-primer (= 0.5.4)
72
+ jekyll-theme-slate (= 0.1.1)
73
+ jekyll-theme-tactile (= 0.1.1)
74
+ jekyll-theme-time-machine (= 0.1.1)
75
+ jekyll-titles-from-headings (= 0.5.3)
76
+ jemoji (= 0.12.0)
77
+ kramdown (= 2.3.1)
78
+ kramdown-parser-gfm (= 1.1.0)
79
+ liquid (= 4.0.3)
80
+ mercenary (~> 0.3)
81
+ minima (= 2.5.1)
82
+ nokogiri (>= 1.10.4, < 2.0)
83
+ rouge (= 3.26.0)
84
+ terminal-table (~> 1.4)
85
+ github-pages-health-check (1.17.0)
86
+ addressable (~> 2.3)
87
+ dnsruby (~> 1.60)
88
+ octokit (~> 4.0)
89
+ public_suffix (>= 2.0.2, < 5.0)
90
+ typhoeus (~> 1.3)
91
+ html-pipeline (2.14.0)
92
+ activesupport (>= 2)
93
+ nokogiri (>= 1.4)
94
+ http_parser.rb (0.6.0)
95
+ i18n (0.9.5)
96
+ concurrent-ruby (~> 1.0)
97
+ jekyll (3.9.0)
98
+ addressable (~> 2.4)
99
+ colorator (~> 1.0)
100
+ em-websocket (~> 0.5)
101
+ i18n (~> 0.7)
102
+ jekyll-sass-converter (~> 1.0)
103
+ jekyll-watch (~> 2.0)
104
+ kramdown (>= 1.17, < 3)
105
+ liquid (~> 4.0)
106
+ mercenary (~> 0.3.3)
107
+ pathutil (~> 0.9)
108
+ rouge (>= 1.7, < 4)
109
+ safe_yaml (~> 1.0)
110
+ jekyll-avatar (0.7.0)
111
+ jekyll (>= 3.0, < 5.0)
112
+ jekyll-coffeescript (1.1.1)
113
+ coffee-script (~> 2.2)
114
+ coffee-script-source (~> 1.11.1)
115
+ jekyll-commonmark (1.3.1)
116
+ commonmarker (~> 0.14)
117
+ jekyll (>= 3.7, < 5.0)
118
+ jekyll-commonmark-ghpages (0.1.6)
119
+ commonmarker (~> 0.17.6)
120
+ jekyll-commonmark (~> 1.2)
121
+ rouge (>= 2.0, < 4.0)
122
+ jekyll-default-layout (0.1.4)
123
+ jekyll (~> 3.0)
124
+ jekyll-feed (0.15.1)
125
+ jekyll (>= 3.7, < 5.0)
126
+ jekyll-gist (1.5.0)
127
+ octokit (~> 4.2)
128
+ jekyll-github-metadata (2.13.0)
129
+ jekyll (>= 3.4, < 5.0)
130
+ octokit (~> 4.0, != 4.4.0)
131
+ jekyll-mentions (1.6.0)
132
+ html-pipeline (~> 2.3)
133
+ jekyll (>= 3.7, < 5.0)
134
+ jekyll-optional-front-matter (0.3.2)
135
+ jekyll (>= 3.0, < 5.0)
136
+ jekyll-paginate (1.1.0)
137
+ jekyll-readme-index (0.3.0)
138
+ jekyll (>= 3.0, < 5.0)
139
+ jekyll-redirect-from (0.16.0)
140
+ jekyll (>= 3.3, < 5.0)
141
+ jekyll-relative-links (0.6.1)
142
+ jekyll (>= 3.3, < 5.0)
143
+ jekyll-remote-theme (0.4.3)
144
+ addressable (~> 2.0)
145
+ jekyll (>= 3.5, < 5.0)
146
+ jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0)
147
+ rubyzip (>= 1.3.0, < 3.0)
148
+ jekyll-sass-converter (1.5.2)
149
+ sass (~> 3.4)
150
+ jekyll-seo-tag (2.7.1)
151
+ jekyll (>= 3.8, < 5.0)
152
+ jekyll-sitemap (1.4.0)
153
+ jekyll (>= 3.7, < 5.0)
154
+ jekyll-swiss (1.0.0)
155
+ jekyll-theme-architect (0.1.1)
156
+ jekyll (~> 3.5)
157
+ jekyll-seo-tag (~> 2.0)
158
+ jekyll-theme-cayman (0.1.1)
159
+ jekyll (~> 3.5)
160
+ jekyll-seo-tag (~> 2.0)
161
+ jekyll-theme-dinky (0.1.1)
162
+ jekyll (~> 3.5)
163
+ jekyll-seo-tag (~> 2.0)
164
+ jekyll-theme-hacker (0.1.2)
165
+ jekyll (> 3.5, < 5.0)
166
+ jekyll-seo-tag (~> 2.0)
167
+ jekyll-theme-leap-day (0.1.1)
168
+ jekyll (~> 3.5)
169
+ jekyll-seo-tag (~> 2.0)
170
+ jekyll-theme-merlot (0.1.1)
171
+ jekyll (~> 3.5)
172
+ jekyll-seo-tag (~> 2.0)
173
+ jekyll-theme-midnight (0.1.1)
174
+ jekyll (~> 3.5)
175
+ jekyll-seo-tag (~> 2.0)
176
+ jekyll-theme-minimal (0.1.1)
177
+ jekyll (~> 3.5)
178
+ jekyll-seo-tag (~> 2.0)
179
+ jekyll-theme-modernist (0.1.1)
180
+ jekyll (~> 3.5)
181
+ jekyll-seo-tag (~> 2.0)
182
+ jekyll-theme-primer (0.5.4)
183
+ jekyll (> 3.5, < 5.0)
184
+ jekyll-github-metadata (~> 2.9)
185
+ jekyll-seo-tag (~> 2.0)
186
+ jekyll-theme-slate (0.1.1)
187
+ jekyll (~> 3.5)
188
+ jekyll-seo-tag (~> 2.0)
189
+ jekyll-theme-tactile (0.1.1)
190
+ jekyll (~> 3.5)
191
+ jekyll-seo-tag (~> 2.0)
192
+ jekyll-theme-time-machine (0.1.1)
193
+ jekyll (~> 3.5)
194
+ jekyll-seo-tag (~> 2.0)
195
+ jekyll-titles-from-headings (0.5.3)
196
+ jekyll (>= 3.3, < 5.0)
197
+ jekyll-watch (2.2.1)
198
+ listen (~> 3.0)
199
+ jemoji (0.12.0)
200
+ gemoji (~> 3.0)
201
+ html-pipeline (~> 2.2)
202
+ jekyll (>= 3.0, < 5.0)
203
+ kramdown (2.3.1)
204
+ rexml
205
+ kramdown-parser-gfm (1.1.0)
206
+ kramdown (~> 2.0)
207
+ liquid (4.0.3)
208
+ listen (3.5.1)
209
+ rb-fsevent (~> 0.10, >= 0.10.3)
210
+ rb-inotify (~> 0.9, >= 0.9.10)
211
+ mercenary (0.3.6)
212
+ mini_portile2 (2.5.1)
213
+ minima (2.5.1)
214
+ jekyll (>= 3.5, < 5.0)
215
+ jekyll-feed (~> 0.9)
216
+ jekyll-seo-tag (~> 2.1)
217
+ minitest (5.14.4)
218
+ multipart-post (2.1.1)
219
+ nokogiri (1.11.3)
220
+ mini_portile2 (~> 2.5.0)
221
+ racc (~> 1.4)
222
+ nokogiri (1.11.3-x86_64-linux)
223
+ racc (~> 1.4)
224
+ octokit (4.21.0)
225
+ faraday (>= 0.9)
226
+ sawyer (~> 0.8.0, >= 0.5.3)
227
+ pathutil (0.16.2)
228
+ forwardable-extended (~> 2.6)
229
+ public_suffix (4.0.6)
230
+ racc (1.5.2)
231
+ rb-fsevent (0.10.4)
232
+ rb-inotify (0.10.1)
233
+ ffi (~> 1.0)
234
+ rexml (3.2.5)
235
+ rouge (3.26.0)
236
+ ruby-enum (0.9.0)
237
+ i18n
238
+ ruby2_keywords (0.0.4)
239
+ rubyzip (2.3.0)
240
+ safe_yaml (1.0.5)
241
+ sass (3.7.4)
242
+ sass-listen (~> 4.0.0)
243
+ sass-listen (4.0.0)
244
+ rb-fsevent (~> 0.9, >= 0.9.4)
245
+ rb-inotify (~> 0.9, >= 0.9.7)
246
+ sawyer (0.8.2)
247
+ addressable (>= 2.3.5)
248
+ faraday (> 0.8, < 2.0)
249
+ simpleidn (0.2.1)
250
+ unf (~> 0.1.4)
251
+ terminal-table (1.8.0)
252
+ unicode-display_width (~> 1.1, >= 1.1.1)
253
+ thread_safe (0.3.6)
254
+ typhoeus (1.4.0)
255
+ ethon (>= 0.9.0)
256
+ tzinfo (1.2.9)
257
+ thread_safe (~> 0.1)
258
+ unf (0.1.4)
259
+ unf_ext
260
+ unf_ext (0.0.7.7)
261
+ unicode-display_width (1.7.0)
262
+ zeitwerk (2.4.2)
263
+
264
+ PLATFORMS
265
+ ruby
266
+ x86_64-linux
267
+
268
+ DEPENDENCIES
269
+ github-pages (~> 214)
270
+ jekyll-feed (~> 0.6)
271
+ jekyll-theme-hacker
272
+ tzinfo-data
273
+
274
+ BUNDLED WITH
275
+ 2.2.3