jekyll-favicon 0.2.9 → 1.0.0.pre.1

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 (66) hide show
  1. checksums.yaml +4 -4
  2. data/.devcontainer/Dockerfile +20 -0
  3. data/.devcontainer/devcontainer.json +35 -0
  4. data/.github/PULL_REQUEST_TEMPLATE.md +4 -4
  5. data/.github/workflows/gem-push.yml +3 -3
  6. data/.github/workflows/test.yml +38 -0
  7. data/.gitignore +5 -0
  8. data/CHANGELOG.md +21 -0
  9. data/Gemfile +2 -0
  10. data/README.md +74 -24
  11. data/Rakefile +9 -7
  12. data/bin/console +1 -0
  13. data/config/jekyll/favicon.yml +115 -0
  14. data/config/jekyll/favicon/static_file.yml +3 -0
  15. data/config/jekyll/favicon/static_file/convertible.yml +42 -0
  16. data/config/jekyll/favicon/static_file/mutable.yml +22 -0
  17. data/config/jekyll/favicon/static_file/referenceable.yml +15 -0
  18. data/config/jekyll/favicon/static_file/sourceable.yml +3 -0
  19. data/config/jekyll/favicon/static_file/taggable.yml +22 -0
  20. data/gemfiles/jekyll36.gemfile +6 -0
  21. data/gemfiles/jekyll37.gemfile +6 -0
  22. data/gemfiles/jekyll38.gemfile +6 -0
  23. data/gemfiles/jekyll39.gemfile +6 -0
  24. data/gemfiles/jekyll40.gemfile +6 -0
  25. data/gemfiles/jekyll41.gemfile +6 -0
  26. data/gemfiles/jekyll42.gemfile +6 -0
  27. data/jekyll-favicon.gemspec +8 -8
  28. data/lib/jekyll-favicon.rb +7 -14
  29. data/lib/jekyll/favicon.rb +19 -13
  30. data/lib/jekyll/favicon/configuration.rb +73 -0
  31. data/lib/jekyll/favicon/configuration/defaults.rb +49 -0
  32. data/lib/jekyll/favicon/generator.rb +11 -84
  33. data/lib/jekyll/favicon/hooks.rb +12 -10
  34. data/lib/jekyll/favicon/static_data_file.rb +17 -0
  35. data/lib/jekyll/favicon/static_file.rb +97 -0
  36. data/lib/jekyll/favicon/static_file/convertible.rb +118 -0
  37. data/lib/jekyll/favicon/static_file/mutable.rb +81 -0
  38. data/lib/jekyll/favicon/static_file/referenceable.rb +22 -0
  39. data/lib/jekyll/favicon/static_file/sourceable.rb +73 -0
  40. data/lib/jekyll/favicon/static_file/taggable.rb +59 -0
  41. data/lib/jekyll/favicon/static_graphic_file.rb +21 -0
  42. data/lib/jekyll/favicon/tag.rb +14 -16
  43. data/lib/jekyll/favicon/utils.rb +24 -0
  44. data/lib/jekyll/favicon/utils/configuration/compact.rb +61 -0
  45. data/lib/jekyll/favicon/utils/configuration/merge.rb +63 -0
  46. data/lib/jekyll/favicon/utils/configuration/patch.rb +48 -0
  47. data/lib/jekyll/favicon/utils/convert.rb +42 -0
  48. data/lib/jekyll/favicon/utils/tag.rb +54 -0
  49. data/lib/jekyll/favicon/version.rb +3 -1
  50. metadata +71 -73
  51. data/.rubocop.yml +0 -5
  52. data/.ruby-version +0 -1
  53. data/.travis.yml +0 -21
  54. data/Gemfile.lock +0 -97
  55. data/lib/browserconfig.rb +0 -54
  56. data/lib/hash.rb +0 -12
  57. data/lib/image.rb +0 -33
  58. data/lib/jekyll/favicon/config/defaults.yml +0 -55
  59. data/lib/jekyll/favicon/icon.rb +0 -73
  60. data/lib/jekyll/favicon/metadata.rb +0 -12
  61. data/lib/jekyll/favicon/templates/chrome.html.erb +0 -6
  62. data/lib/jekyll/favicon/templates/classic.html.erb +0 -8
  63. data/lib/jekyll/favicon/templates/ie.html.erb +0 -4
  64. data/lib/jekyll/favicon/templates/safari.html.erb +0 -8
  65. data/lib/string.rb +0 -14
  66. data/lib/webmanifest.rb +0 -30
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f9a26244efba01eb17a573ec4a428b4e1bed2973e669badf94564859ef697d37
4
- data.tar.gz: ed93b2721f0e43049e0278c5aead9341f7b70dfaf4a9ec7d808d3e05147b2504
3
+ metadata.gz: bce096e0104da6d1dbb0dd00c66798a3f7dbc74ec88e5c1bcc5a84f5fa207341
4
+ data.tar.gz: eb546cd9559ec82693208ec03e41fd160ed84699c8c1f9794fd0f2a4484233dc
5
5
  SHA512:
6
- metadata.gz: 7d3a3aa37c9cebdf52c449086327975cc174cafa992e4d2ccd8d92a26deb7e1d788719745100117583773e41de68de724813ad9548d053884eeb6c606478183f
7
- data.tar.gz: 93deb56d63effb0547b32f534d65a6e2fd385eb602ed626dbd52ec2faaefacd211dccd2decde87bf92478ff10c88a03176007edd4bb35d859ebadf676e7d178c
6
+ metadata.gz: b0581ae84881ec5129f0e0a702a6adcfe5f7b44f3f55679e67fe3530054c018d22d2e1e280a61d190062258279950b8e2306214402bd565c0ec4c0e8cac3e723
7
+ data.tar.gz: 709e7773c529ea70e875387d0fa5af63f7feba4bba562c8f577f9642b9a1c9eae870834aa2d352efefccbef7e86ab7d7ff25226677261284931eb3f27a24dd9b
@@ -0,0 +1,20 @@
1
+ # See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.162.0/containers/ruby/.devcontainer/base.Dockerfile
2
+
3
+ # [Choice] Ruby version: 3, 3.0, 2, 2.7, 2.6, 2.5
4
+ ARG VARIANT="3"
5
+ FROM mcr.microsoft.com/vscode/devcontainers/ruby:0-${VARIANT}
6
+
7
+ # [Option] Install Node.js
8
+ ARG INSTALL_NODE="true"
9
+ ARG NODE_VERSION="lts/*"
10
+ RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi
11
+
12
+ # [Optional] Uncomment this section to install additional OS packages.
13
+ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
14
+ && apt-get -y install --no-install-recommends imagemagick librsvg2-bin
15
+
16
+ # [Optional] Uncomment this line to install additional gems.
17
+ RUN gem install rubocop reek
18
+
19
+ # [Optional] Uncomment this line to install global node packages.
20
+ # RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1
@@ -0,0 +1,35 @@
1
+ // For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
2
+ // https://github.com/microsoft/vscode-dev-containers/tree/v0.162.0/containers/ruby
3
+ {
4
+ "name": "Ruby",
5
+ "build": {
6
+ "dockerfile": "Dockerfile",
7
+ "args": {
8
+ // Update 'VARIANT' to pick a Ruby version: 3, 3.0, 2, 2.7, 2.6, 2.5
9
+ "VARIANT": "3",
10
+ // Options
11
+ "INSTALL_NODE": "false",
12
+ "NODE_VERSION": "lts/*"
13
+ }
14
+ },
15
+
16
+ // Set *default* container specific settings.json values on container create.
17
+ "settings": {
18
+ "terminal.integrated.shell.linux": "/bin/bash"
19
+ },
20
+
21
+ // Add the IDs of extensions you want installed when the container is created.
22
+ "extensions": [
23
+ "rebornix.Ruby"
24
+ ],
25
+
26
+ // Use 'forwardPorts' to make a list of ports inside the container available locally.
27
+ // "forwardPorts": [],
28
+
29
+ // Use 'postCreateCommand' to run commands after the container is created.
30
+ // "postCreateCommand": "ruby --version",
31
+
32
+ // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
33
+ "remoteUser": "vscode"
34
+
35
+ }
@@ -5,12 +5,12 @@
5
5
  - how you did it (use Markdown and screenshots if needed)
6
6
 
7
7
  - Did you...
8
- - [ ] update the Readme? (if needed)
9
- - [ ] update the Changelog? (if needed)
8
+ - [ ] update the README? (if needed)
9
+ - [ ] update the CHANGELOG? (if needed)
10
10
  - [ ] update the tests?
11
11
  - [ ] run the tests?
12
- - [ ] check rubocop?
12
+ - [ ] check with Rubocop?
13
13
 
14
- Don't forget to visit [travis-ci](https://travis-ci.org/afaundez/jekyll-favicon/pull_requests) after creating the PR.
14
+ Don't forget to visit the [GitHub Action workflows](https://github.com/afaundez/jekyll-favicon/actions) after creating the PR.
15
15
 
16
16
  Thanks for contributing!
@@ -1,4 +1,4 @@
1
- name: Ruby Gem
1
+ name: Gem Push
2
2
 
3
3
  on:
4
4
  release:
@@ -11,10 +11,10 @@ jobs:
11
11
 
12
12
  steps:
13
13
  - uses: actions/checkout@v2
14
- - name: Set up Ruby 2.6
14
+ - name: Set up Ruby 2.5
15
15
  uses: actions/setup-ruby@v1
16
16
  with:
17
- ruby-version: 2.6.x
17
+ ruby-version: 2.5.x
18
18
 
19
19
  - name: Publish to GPR
20
20
  run: |
@@ -0,0 +1,38 @@
1
+ name: Test
2
+
3
+ on:
4
+ push:
5
+ branches: [ $default-branch, next, update-ci ]
6
+ pull_request:
7
+ branches: [ $default-branch ]
8
+
9
+ jobs:
10
+ test:
11
+ env:
12
+ BUNDLE_GEMFILE: gemfiles/${{ matrix.gemfile }}.gemfile
13
+
14
+ runs-on: ${{ matrix.os }}
15
+
16
+ steps:
17
+ - uses: actions/checkout@v2
18
+
19
+ - name: Set up Ruby ${{ matrix.ruby-version }}
20
+ uses: ruby/setup-ruby@v1
21
+ with:
22
+ bundler-cache: true
23
+ ruby-version: ${{ matrix.ruby-version }}
24
+
25
+ - name: Run tests with ${{ matrix.gemfile }}
26
+ run: bundle exec rake
27
+
28
+ strategy:
29
+ matrix:
30
+ exclude:
31
+ - ruby-version: '3.0'
32
+ gemfile: jekyll36
33
+ - ruby-version: '3.0'
34
+ gemfile: jekyll37
35
+
36
+ gemfile: [ jekyll36, jekyll37, jekyll38, jekyll39, jekyll40, jekyll41 ]
37
+ os: [ ubuntu-latest ]
38
+ ruby-version: [ 2.5, 2.6, 2.7, '3.0' ]
data/.gitignore CHANGED
@@ -6,4 +6,9 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ .jekyll-cache
10
+ .ruby-version
9
11
  *.gem
12
+ Gemfile.lock
13
+ gemfiles/*.gemfile.lock
14
+ .vscode
data/CHANGELOG.md CHANGED
@@ -6,6 +6,27 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.0.0.pre.1] - 2021-05-26
10
+ ### Removed
11
+ - Delete Gemfile.lock
12
+ - Delete .ruby-version
13
+ - Remove unsupported versions from travis config
14
+ - Remove bundler and rubocop gemspec's development dependencies
15
+ - Remove graphicmagick from travis config
16
+ - Remove travis-ci config
17
+ - Remove nokogiri gemspec development dependency
18
+ ### Changed
19
+ - Move supported ruby versions to 2.5
20
+ - Update nokogiri, minitest, and minitest-hooks gemspec's development dependencies
21
+ - Update mini_magick gemspec's runtime dependencies
22
+ - Update travis rvm versions
23
+ - Rename Gem Push github action workflow
24
+ ### Added
25
+ - gitignore Gemfile.lock
26
+ - gitignore .jekyll-cache
27
+ - Add Test github action workflow
28
+ - Regenration
29
+
9
30
  ## [0.2.9] - 2021-02-10
10
31
  ### Added
11
32
  - Optional `crossorigin` attribute for Chrome manifest
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
data/README.md CHANGED
@@ -3,25 +3,22 @@
3
3
  This [Jekyll](https://jekyllrb.com) plugin adds:
4
4
 
5
5
  - a generator for
6
- - a `favicon.ico`
7
- - multiple `favicon-[width]x[height].png`
6
+ - an ICO favicon
7
+ - PNG favicons
8
+ - SVG favicons
8
9
  - a [webmanifest](https://developer.mozilla.org/en-US/docs/Web/Manifest)
9
10
  - a [browser configuration schema](https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/dn320426%28v=vs.85%29)
10
11
  - a tag to generate all the corresponding links and metadata needed in the head tag
11
12
 
12
13
  ## Prerequisites
13
14
 
14
- Before using this plugin your system must have installed [ImageMagick](http://www.imagemagick.org) ~~(or [GraphicsMagick](http://www.graphicsmagick.org/))~~.
15
+ This plugin assumes you have [ImageMagick](http://www.imagemagick.org) installed.
15
16
 
16
17
  Check if it is already installed by running:
17
18
 
18
19
  ```sh
19
- $ convert --version
20
+ $ convert --version | grep Version
20
21
  Version: ImageMagick 7.0.8-46 Q16 x86_64 2019-05-19 https://imagemagick.org
21
- Copyright: © 1999-2019 ImageMagick Studio LLC
22
- License: https://imagemagick.org/script/license.php
23
- Features: Cipher DPC HDRI Modules OpenMP(3.1)
24
- Delegates (built-in): bzlib freetype heic jng jp2 jpeg lcms ltdl lzma openexr png tiff webp xml zlib
25
22
  ```
26
23
 
27
24
  If you have a [problem converting SVG files](https://github.com/afaundez/jekyll-favicon/issues/9#issuecomment-473862194), you may need to install the package `librsvg2-bin`. For example, in Ubuntu/Debian systems:
@@ -30,12 +27,14 @@ If you have a [problem converting SVG files](https://github.com/afaundez/jekyll-
30
27
  sudo apt install librsvg2-bin
31
28
  ```
32
29
 
30
+ Check the devcontainer's [Dockerfile](.devcontainer/Dockerfile) for more practical details.
31
+
33
32
  ## Installation
34
33
 
35
34
  Add this line to your application's Gemfile:
36
35
 
37
36
  ```ruby
38
- gem 'jekyll-favicon', '~> 0.2.9', group: :jekyll_plugins
37
+ gem 'jekyll-favicon', '~> 1.0.0.pre.1', group: :jekyll_plugins
39
38
  ```
40
39
 
41
40
  ## Usage
@@ -44,19 +43,23 @@ If you are going to use this plugin in a hosted build/service, be sure that they
44
43
 
45
44
  As [Github Pages](https://pages.github.com) build doesn't load custom plugins, this plugin won't work. As an alternative, you can build your site and push all files (for example, build to `docs`, version it and push it, although this works only for project pages).
46
45
 
46
+ Tested with:
47
+
48
+ - Jekyll 3.6 to 3.7, ruby 2.5 to 2.7
49
+ - Jekyll 3.8 to 4.2, ruby 2.5 to 3.0
50
+
47
51
  ### Generator
48
52
 
49
- By installing the plugin, it will be automatically activated. It will search for the file `/favicon.svg` and generate a set of files in `/assets/images` and few more items at the site's root. It also will exclude the original sources from being copied as a regular static file.
53
+ By installing the plugin, it will be automatically activated without further configurations.
50
54
 
51
- You can override these settings in your sites's `_config.yml`:
55
+ You can override these settings in your sites's `_config.yml`. The simplest configuration would be this:
52
56
 
53
57
  ```yaml
54
58
  favicon:
55
59
  source: custom-favicon-png-or.svg
56
- path: /assets/img
57
60
  ```
58
61
 
59
- This plugin works best if you use an SVG with a square viewbox as the source, but you can also use a PNG instead (at least 558x588). Check [favicon.svg](/test/fixtures/sites/minimal/favicon.svg) as an example.
62
+ This plugin works best if you use an SVG with a square viewbox as the source, but you can also use a PNG instead (at least 558x588). Check the fixtures [favicon.svg](test/fixtures/favicon.svg) or [favicon.png](test/fixtures/favicon.png) as examples.
60
63
 
61
64
  ### Favicon tag
62
65
 
@@ -71,27 +74,74 @@ To get the links and meta, just add the favicon tag `{% favicon %}`. For example
71
74
  {% favicon %}
72
75
  </head>
73
76
  <body>
74
- <h1>Jekyll Favicon</h1>
75
77
  </body>
76
78
  </html>
77
79
  ```
78
80
 
79
- #### Unusual situations
81
+ ## Configuration
80
82
 
81
- If your site is deployed in an unusual way, such as behind HTTP Basic Auth, it might be necessary to specify a `crossorigin` attribute for the webmanifest `<link>` tag:
83
+ The plugin customization goes in the `favicon` key in the `_config.yml` file. There are four key parameters:
82
84
 
83
- ```yaml
84
- favicon:
85
- chrome:
86
- crossorigin: "use-credentials"
87
- ```
85
+ | attribute name | type | default | description |
86
+ |----------------|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------|
87
+ | source | hash/string | <div class="highlight highlight-source-yaml position-relative"><pre><span class="pl-ent">name</span>: <span class="pl-s">favicon.svg</span><br><span class="pl-ent">dir</span>: <span class="pl-s">.</span></pre></div> | SVG or PNG file relative to site's source. Any favicon without explicit source will use this attribute as default. |
88
+ | background | string | `transparent` | Color keyword or Hex representation. Any favicon without explicit convert background will use this attribute as default. |
89
+ | dir | string | `.` | Path relative to site's source. Any favicon without explicit source dir will use this attribute as default. |
90
+ | assets | array | see [defaults](config/jekyll/favicon.yml) | Array of asset configuration. Any asset define here will be controlled with this plugin. |
91
+
92
+ ### Assets
93
+
94
+ The assets is an array of file spec:
95
+
96
+ | attribute name | type | default | description |
97
+ |----------------|---------------|-------------|--------------------------------------------|
98
+ | name | string | | file's basename. Required. |
99
+ | dir | string/symbol | `:site_dir` | file's dir, relative to site's destination |
100
+ | source | hash | | file's source. Required. |
101
+ | convert | hash | `{}` | see [convert defaults](#convert) |
102
+ | tags | array | `[]` | see [tags defaults](#tags) |
103
+ | refer | hash | `[]` | see [refer defaults](#refer) |
104
+
105
+ Symbol values:
106
+
107
+ - `:background`: favicon's global background
108
+ - `:site_dir`: favicon's global dir
109
+ - `:href`: favicons absolute URL path
110
+
111
+ #### Convert
112
+
113
+ The convert configuration is specific for each type of convertion: SVG to ICO/PNG/SVG and PNG to ICO/PNG.
114
+
115
+ | attribute name | type | default | description |
116
+ |----------------|---------------|-------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------|
117
+ | alpha | string | see [convert config](config/jekyll/favicon/static_file/convertible.yml) | see [imagemagick alpha docs](https://imagemagick.org/script/command-line-options.php#alpha) |
118
+ | background | string/symbol | see [convert config](config/jekyll/favicon/static_file/convertible.yml) | see [imagemagick background docs](https://imagemagick.org/script/command-line-options.php#background) |
119
+ | define | string/symbol | see [convert config](config/jekyll/favicon/static_file/convertible.yml) | see [imagemagick define docs](https://imagemagick.org/script/command-line-options.php#define) |
120
+ | density | string/symbol | see [convert config](config/jekyll/favicon/static_file/convertible.yml) | see [imagemagick density docs](https://imagemagick.org/script/command-line-options.php#density) |
121
+ | extent | string/symbol | see [convert config](config/jekyll/favicon/static_file/convertible.yml) | see [imagemagick extent docs](https://imagemagick.org/script/command-line-options.php#extent) |
122
+ | gravity | string | see [convert config](config/jekyll/favicon/static_file/convertible.yml) | see [imagemagick gravity docs](https://imagemagick.org/script/command-line-options.php#gravity) |
123
+ | resize | string | see [convert config](config/jekyll/favicon/static_file/convertible.yml) | see [imagemagick resize docs](https://imagemagick.org/script/command-line-options.php#resize) |
124
+ | scale | string | see [convert config](config/jekyll/favicon/static_file/convertible.yml) | see [imagemagick scale docs](https://imagemagick.org/script/command-line-options.php#scale) |
125
+
126
+ Symbol values:
127
+
128
+ - `:auto`: if sizes is not a square, then sizes
129
+ - `:max`: 3 times the largest dimension
130
+
131
+ #### Tags
132
+
133
+ The tags configuration is a list of hashes with only one key, `link` or `meta`, and only one value, a hash with the HTML attributes associated to the key. See [tags defaults](config/jekyll/favicon/static_file/taggable.yml) for more details.
134
+
135
+ #### Refer
136
+
137
+ The refer configuration is a list of hashes with only one key, `webmanifest` or `browserconfig`, and only one value, a hash that will override the associated file. See [refer defaults](config/jekyll/favicon/static_file/referenceable.yml) for more details.
88
138
 
89
139
  ## Development
90
140
 
91
141
  If you want to add something, just make a PR. There is a lot to do:
92
142
 
93
143
  - Define and check SVG/PNG attributes before execute
94
- - Review SVG to PNG conversion, it working as it is, but some parameters are hard coded and may only work with the samples
144
+ - Review SVG to PNG conversion, it working as it is, but some parameters are hardcoded and may only work with the samples
95
145
  - Encapsulate image conversion
96
146
  - Tests everywhere
97
147
 
@@ -101,11 +151,11 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/afaund
101
151
 
102
152
  ## License
103
153
 
104
- The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
154
+ The gem is available as open-source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
105
155
 
106
156
  ## Code of Conduct
107
157
 
108
- Everyone interacting in the Jekyll Favicon project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/afaundez/jekyll-favicon/blob/master/CODE_OF_CONDUCT.md).
158
+ Everyone interacting in the Jekyll Favicon project’s codebases, issue trackers, chat rooms, and mailing lists is expected to follow the [code of conduct](https://github.com/afaundez/jekyll-favicon/blob/master/CODE_OF_CONDUCT.md).
109
159
 
110
160
  ## Acknowledgments
111
161
 
data/Rakefile CHANGED
@@ -1,10 +1,12 @@
1
- require 'bundler/gem_tasks'
2
- require 'rake/testtask'
1
+ # frozen_string_literal: true
3
2
 
4
- Rake::TestTask.new(:test) do |t|
5
- t.libs << 'test'
6
- t.libs << 'lib'
7
- t.test_files = FileList['test/**/*_test.rb']
8
- end
3
+ require 'rake/testtask'
9
4
 
5
+ desc 'run tests'
10
6
  task default: :test
7
+
8
+ Rake::TestTask.new do |t|
9
+ t.libs << ['test', 'test/spec', 'test/unit']
10
+ t.test_files = FileList['test/**/*_spec.rb', 'test/**/test_*.rb']
11
+ t.warning = false
12
+ end
data/bin/console CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require 'bundler/setup'
4
5
  require 'jekyll-favicon'
@@ -0,0 +1,115 @@
1
+ ---
2
+ source:
3
+ name: favicon.svg
4
+ dir: .
5
+ background: transparent
6
+ dir: .
7
+ assets:
8
+ - name: favicon.ico
9
+ convert:
10
+ define: 'icon:auto-resize=36,24,16'
11
+ scale: 36x36
12
+ tag:
13
+ - link:
14
+ href: :href
15
+ rel: shortcut icon
16
+ type: :mime
17
+ sizes: :sizes
18
+ - name: favicon.png
19
+ convert:
20
+ scale: 196x196
21
+ tag:
22
+ - link:
23
+ href: :href
24
+ rel: icon
25
+ type: :mime
26
+ sizes: :sizes
27
+ - name: apple-touch-icon.png
28
+ convert:
29
+ scale: 180x180
30
+ - name: safari-pinned-tab.svg
31
+ tag:
32
+ - link:
33
+ color: :background
34
+ href: :href
35
+ rel: mask-icon
36
+ - name: android-chrome-192x192.png
37
+ convert:
38
+ scale: 192x192
39
+ refer:
40
+ - webmanifest:
41
+ icons:
42
+ - src: :href
43
+ - name: android-chrome-512x512.png
44
+ convert:
45
+ scale: 512x512
46
+ refer:
47
+ - webmanifest:
48
+ icons:
49
+ - src: :href
50
+ - name: mstile-icon-128x128.png
51
+ convert:
52
+ scale: 128x128
53
+ refer:
54
+ - browserconfig:
55
+ msapplication:
56
+ tile:
57
+ TileColor:
58
+ __text: :background
59
+ square70x70logo:
60
+ _src: :href
61
+ tag:
62
+ - meta:
63
+ content: :href
64
+ name: msapplication-TileImage
65
+ - meta:
66
+ content: :background
67
+ name: msapplication-TileColor
68
+
69
+ - name: mstile-icon-270x270.png
70
+ convert:
71
+ scale: 270x270
72
+ refer:
73
+ - browserconfig:
74
+ msapplication:
75
+ tile:
76
+ TileColor:
77
+ __text: :background
78
+ square150x150logo:
79
+ _src: :href
80
+ - name: mstile-icon-558x270.png
81
+ convert:
82
+ scale: 558x270
83
+ refer:
84
+ - browserconfig:
85
+ msapplication:
86
+ tile:
87
+ TileColor:
88
+ __text: :background
89
+ wide310x150logo:
90
+ _src: :href
91
+ - name: mstile-icon-558x558.png
92
+ convert:
93
+ scale: 558x558
94
+ refer:
95
+ - browserconfig:
96
+ msapplication:
97
+ tile:
98
+ TileColor:
99
+ __text: :background
100
+ square310x310logo:
101
+ _src: :href
102
+ - name: manifest.webmanifest
103
+ source:
104
+ name: manifest.webmanifest
105
+ tag:
106
+ - link:
107
+ href: :href
108
+ rel: manifest
109
+ - name: browserconfig.xml
110
+ source:
111
+ name: browserconfig.xml
112
+ tag:
113
+ - meta:
114
+ content: :href
115
+ name: msapplication-config