jekyll-favicon 0.2.9 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/.devcontainer/Dockerfile +22 -0
  3. data/.devcontainer/devcontainer.json +42 -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/.reek.yml +25 -0
  9. data/.vscode/launch.json +16 -0
  10. data/.vscode/settings.json +7 -0
  11. data/.vscode/tasks.json +15 -0
  12. data/CHANGELOG.md +23 -1
  13. data/Gemfile +3 -1
  14. data/README.md +81 -34
  15. data/Rakefile +9 -7
  16. data/bin/console +1 -0
  17. data/bin/debug +22 -0
  18. data/config/jekyll/favicon.yml +115 -0
  19. data/config/jekyll/favicon/static_file.yml +3 -0
  20. data/config/jekyll/favicon/static_file/convertible.yml +41 -0
  21. data/config/jekyll/favicon/static_file/mutable.yml +22 -0
  22. data/config/jekyll/favicon/static_file/referenceable.yml +15 -0
  23. data/config/jekyll/favicon/static_file/sourceable.yml +3 -0
  24. data/config/jekyll/favicon/static_file/taggable.yml +22 -0
  25. data/jekyll-favicon.gemspec +24 -24
  26. data/lib/jekyll-favicon.rb +7 -16
  27. data/lib/jekyll/favicon.rb +19 -16
  28. data/lib/jekyll/favicon/configuration.rb +73 -0
  29. data/lib/jekyll/favicon/configuration/defaults.rb +49 -0
  30. data/lib/jekyll/favicon/generator.rb +10 -84
  31. data/lib/jekyll/favicon/hooks.rb +12 -10
  32. data/lib/jekyll/favicon/static_data_file.rb +17 -0
  33. data/lib/jekyll/favicon/static_file.rb +97 -0
  34. data/lib/jekyll/favicon/static_file/convertible.rb +129 -0
  35. data/lib/jekyll/favicon/static_file/mutable.rb +81 -0
  36. data/lib/jekyll/favicon/static_file/referenceable.rb +22 -0
  37. data/lib/jekyll/favicon/static_file/sourceable.rb +73 -0
  38. data/lib/jekyll/favicon/static_file/taggable.rb +53 -0
  39. data/lib/jekyll/favicon/static_graphic_file.rb +21 -0
  40. data/lib/jekyll/favicon/tag.rb +14 -17
  41. data/lib/jekyll/favicon/utils.rb +48 -0
  42. data/lib/jekyll/favicon/utils/configuration/compact.rb +58 -0
  43. data/lib/jekyll/favicon/utils/configuration/merge.rb +70 -0
  44. data/lib/jekyll/favicon/utils/configuration/patch.rb +49 -0
  45. data/lib/jekyll/favicon/utils/convert.rb +39 -0
  46. data/lib/jekyll/favicon/utils/tag.rb +70 -0
  47. data/lib/jekyll/favicon/version.rb +3 -1
  48. metadata +67 -71
  49. data/.rubocop.yml +0 -5
  50. data/.ruby-version +0 -1
  51. data/.travis.yml +0 -21
  52. data/Gemfile.lock +0 -97
  53. data/lib/browserconfig.rb +0 -54
  54. data/lib/hash.rb +0 -12
  55. data/lib/image.rb +0 -33
  56. data/lib/jekyll/favicon/config/defaults.yml +0 -55
  57. data/lib/jekyll/favicon/icon.rb +0 -73
  58. data/lib/jekyll/favicon/metadata.rb +0 -12
  59. data/lib/jekyll/favicon/templates/chrome.html.erb +0 -6
  60. data/lib/jekyll/favicon/templates/classic.html.erb +0 -8
  61. data/lib/jekyll/favicon/templates/ie.html.erb +0 -4
  62. data/lib/jekyll/favicon/templates/safari.html.erb +0 -8
  63. data/lib/string.rb +0 -14
  64. 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: 24f6bd5b0b3ce385c2ba309344e5852a5e0766121fd7b8e5b5692b2fbf57a719
4
+ data.tar.gz: fb9071c07d3a9319454ff68f1bf4203971ac56e0abfc51890269647e1f6b6500
5
5
  SHA512:
6
- metadata.gz: 7d3a3aa37c9cebdf52c449086327975cc174cafa992e4d2ccd8d92a26deb7e1d788719745100117583773e41de68de724813ad9548d053884eeb6c606478183f
7
- data.tar.gz: 93deb56d63effb0547b32f534d65a6e2fd385eb602ed626dbd52ec2faaefacd211dccd2decde87bf92478ff10c88a03176007edd4bb35d859ebadf676e7d178c
6
+ metadata.gz: 8959b2b93e8d89f97ea4b62a307e700d74fa60e75f8a807886cb0b3d9f607aed3d8a876181039bec09e30ad78dda561a715d4c7c1ce3222141d145b28d51cdbe
7
+ data.tar.gz: 8c45c622de3aa0b7beb0d2d2680e9c2539028901a5e73d1ca9d42c09b509132679cf1af9576a83e0ba1db9fc16918de0c44f0c375b7f8ec59ea876f051dba07a
@@ -0,0 +1,22 @@
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 librsvg2-bin
15
+ RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
16
+ && apt-get -y install imagemagick
17
+
18
+ # [Optional] Uncomment this line to install additional gems.
19
+ RUN gem install reek standard webrick
20
+
21
+ # [Optional] Uncomment this line to install global node packages.
22
+ # RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1
@@ -0,0 +1,42 @@
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.profiles.linux": {
19
+ "zsh (login)": {
20
+ "path": "zsh",
21
+ "args": [
22
+ "-l"
23
+ ]
24
+ }
25
+ }
26
+ },
27
+
28
+ // Add the IDs of extensions you want installed when the container is created.
29
+ "extensions": [
30
+ "rebornix.Ruby"
31
+ ],
32
+
33
+ // Use 'forwardPorts' to make a list of ports inside the container available locally.
34
+ // "forwardPorts": [],
35
+
36
+ // Use 'postCreateCommand' to run commands after the container is created.
37
+ "postCreateCommand": "bundle install",
38
+
39
+ // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
40
+ "remoteUser": "vscode"
41
+
42
+ }
@@ -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: [ main, next, update-ci ]
6
+ pull_request:
7
+ branches: [ main ]
8
+
9
+ jobs:
10
+ test:
11
+ env:
12
+ BUNDLE_GEMFILE: test/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, jekyll42 ]
37
+ os: [ ubuntu-latest ]
38
+ ruby-version: [ 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
+ *.gemfile.lock
14
+ .DS_Store
data/.reek.yml ADDED
@@ -0,0 +1,25 @@
1
+ ---
2
+ detectors:
3
+ ControlParameter:
4
+ exclude:
5
+ - "Jekyll::Favicon::StaticFile::Convertible#write" # overrides Jekyll::StaticFile method
6
+ UtilityFunction:
7
+ exclude:
8
+ - "Jekyll::Favicon::Generator#generate" # overrides Jekyll::Generator method
9
+ - "Jekyll::Favicon::Tag#render" # overrides Liquid::Tag method
10
+ - "Jekyll::Favicon::Utils::Configuration::Compact::ClassMethods#compact" # TODO: refactor
11
+ - "Jekyll::Favicon::Utils::Configuration::Merge::ClassMethods#merge" # TODO: refactor
12
+ - "Jekyll::Favicon::Utils::Configuration::Patch::ClassMethods#patch" # TODO: refactor
13
+ - "Jekyll::Favicon::Utils::Convert::ClassMethods#convert" # TODO: refactor
14
+ - "Jekyll::Favicon::Utils::Tag::ClassMethods#build_element" # TODO: refactor
15
+ - "Jekyll::Favicon::Utils::Tag::ClassMethods#build_tag" # TODO: refactor
16
+ - "Jekyll::Favicon::Utils::Tag::ClassMethods#mutate_element" # TODO: refactor
17
+ NestedIterators:
18
+ exclude:
19
+ - "fixture"
20
+ directories:
21
+ "test/unit":
22
+ InstanceVariableAssumption:
23
+ enabled: false
24
+ TooManyMethods:
25
+ enabled: false
@@ -0,0 +1,16 @@
1
+ {
2
+ // Use IntelliSense to learn about possible attributes.
3
+ // Hover to view descriptions of existing attributes.
4
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5
+ "version": "0.2.0",
6
+ "configurations": [
7
+
8
+ {
9
+ "name": "jekyll serve",
10
+ "type": "Ruby",
11
+ "cwd": "${workspaceRoot}",
12
+ "request": "launch",
13
+ "program": "bin/debug"
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "ruby.lint": {
3
+ "reek": true,
4
+ "standard": true
5
+ },
6
+ "ruby.useLanguageServer": true
7
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "version": "2.0.0",
3
+ "tasks": [
4
+ {
5
+ "type": "rake",
6
+ "task": "test",
7
+ "group": {
8
+ "kind": "build",
9
+ "isDefault": true
10
+ },
11
+ "problemMatcher": [],
12
+ "label": "rake: test"
13
+ }
14
+ ]
15
+ }
data/CHANGELOG.md CHANGED
@@ -4,7 +4,29 @@ All notable changes to Jekyll-Favicon will be documented in this file.
4
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
5
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
6
 
7
- ## [Unreleased]
7
+ ## [1.0.0] - 2021-08-13
8
+ ### Added
9
+ - gitignore Gemfile.lock
10
+ - gitignore .jekyll-cache
11
+ - Add Test github action workflow
12
+ - Regenration
13
+ ### Changed
14
+ - Move supported ruby versions to 2.5
15
+ - Update nokogiri, minitest, and minitest-hooks gemspec's development dependencies
16
+ - Update mini_magick gemspec's runtime dependencies
17
+ - Update travis rvm versions
18
+ - Rename Gem Push github action workflow
19
+ ### Fixed
20
+ - mime time error when starting new project
21
+ - fix SVG to PNG quality
22
+ ### Removed
23
+ - Delete Gemfile.lock
24
+ - Delete .ruby-version
25
+ - Remove unsupported versions from travis config
26
+ - Remove bundler and rubocop gemspec's development dependencies
27
+ - Remove graphicmagick from travis config
28
+ - Remove travis-ci config
29
+ - Remove nokogiri gemspec development dependency
8
30
 
9
31
  ## [0.2.9] - 2021-02-10
10
32
  ### Added
data/Gemfile CHANGED
@@ -1,4 +1,6 @@
1
- source 'https://rubygems.org'
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
2
4
 
3
5
  git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
6
 
data/README.md CHANGED
@@ -2,61 +2,64 @@
2
2
 
3
3
  This [Jekyll](https://jekyllrb.com) plugin adds:
4
4
 
5
- - a generator for
6
- - a `favicon.ico`
7
- - multiple `favicon-[width]x[height].png`
8
- - a [webmanifest](https://developer.mozilla.org/en-US/docs/Web/Manifest)
9
- - 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
- - a tag to generate all the corresponding links and metadata needed in the head tag
5
+ - a generator for favicons (ICO, PNG, SVG), [webmanifests]((https://developer.mozilla.org/en-US/docs/Web/Manifest)), and [browserconfig]((https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/dn320426%28v=vs.85%29)) files
6
+ - a tag for the rendinering of all the corresponding links and metadata needed
7
+
8
+ Tested with:
9
+
10
+ - Jekyll 3.6 to 3.7, ruby 2.6 to 2.7
11
+ - Jekyll 3.8 to 4.2, ruby 2.6 to 3.0
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
+ ### [ImageMagick](http://www.imagemagick.org)
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
- 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:
24
+ ### [librsvg](https://gitlab.gnome.org/GNOME/librsvg) (optional)
25
+
26
+ If you are having pixeled icons or 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:
28
27
 
29
28
  ```sh
30
29
  sudo apt install librsvg2-bin
31
30
  ```
32
31
 
32
+ You may need to install `librsvg` before installing the RSVG renderer.
33
+
34
+ Check the devcontainer's [Dockerfile](.devcontainer/Dockerfile) for more practical details.
35
+
33
36
  ## Installation
34
37
 
35
38
  Add this line to your application's Gemfile:
36
39
 
37
40
  ```ruby
38
- gem 'jekyll-favicon', '~> 0.2.9', group: :jekyll_plugins
41
+ gem 'jekyll-favicon', '~> 1.0.0', group: :jekyll_plugins
39
42
  ```
40
43
 
41
44
  ## Usage
42
45
 
43
- If you are going to use this plugin in a hosted build/service, be sure that they include your plugins as part of the process. You can check [this running example](https://afaundez.gitlab.io/jekyll-favicon-example/) hosted by [GitLab](https://about.gitlab.com/features/pages/).
46
+ If you are going to use this plugin in a hosted build/service, be sure that they include your plugins as part of the process. You can check [gh-pages](/afaundez/jekyll-favicon/tree/gh-pages) branch for a working example.
47
+
48
+ As [Github Pages](https://pages.github.com) doesn't load custom plugins, this plugin won't be included on the build process. As a workaround, 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).
44
49
 
45
- 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
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,29 +74,73 @@ 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
+ | 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) |
121
+ | 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) |
122
+ | 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) |
123
+ | size | string | see [convert config](config/jekyll/favicon/static_file/convertible.yml) | see [imagemagick size docs](https://imagemagick.org/script/command-line-options.php#size) |
124
+
125
+ Symbol values:
126
+
127
+ - `:auto`: if sizes is not a square, then sizes
128
+ - `:max`: 3 times the largest dimension
129
+
130
+ #### Tags
131
+
132
+ 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.
133
+
134
+ #### Refer
135
+
136
+ 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
137
 
89
138
  ## Development
90
139
 
91
140
  If you want to add something, just make a PR. There is a lot to do:
92
141
 
93
- - 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
95
- - Encapsulate image conversion
96
- - Tests everywhere
142
+ - Tests more cases
143
+ - Keep updated the favicons and files needed with modern browsers
97
144
 
98
145
  ## Contributing
99
146
 
@@ -101,11 +148,11 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/afaund
101
148
 
102
149
  ## License
103
150
 
104
- The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
151
+ The gem is available as open-source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
105
152
 
106
153
  ## Code of Conduct
107
154
 
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).
155
+ 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
156
 
110
157
  ## Acknowledgments
111
158