jekyll-brotli 2.3.0 → 2.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 33b59dc1c8f31a07b8775952290fb96e5685595adf2cd66fd49ace40ef8651f6
4
- data.tar.gz: 3de63515bffa570a09dc045c9395309f6b38dab6021694aafbdc007599a883a2
3
+ metadata.gz: 68ac1e9cbfa46ae1adc09c7f7541aaa13d942e46a2b2ee755ec92e096856f072
4
+ data.tar.gz: 2d21479f8870fc17f555425c9e53d3c98c0582f1771d1b85acea7e0f45517a67
5
5
  SHA512:
6
- metadata.gz: 61fcaa61cc32ed1fa008ea36752ddb3a0d86be1353e60c79c4812fad81d06d33bda20f57aa4052d37cfcd901ec866af36367ed38fec1af06a284e6bd1e2a87ea
7
- data.tar.gz: 4c2b873ed1072ab6d2aa693fc1ec7ef77860acc68ca2a985e17407b0e2b72c82b71494b6e0f1702c4d62930b6278e6be29a5196e6522c8c14b8cf3123829b638
6
+ metadata.gz: e5ea27fb59e154c8e1463204745354ae3b066ced4a6a056e35bbcf859b81edd82126daac4f8711f08c797fc0ece6d50ef8d0c9411f4533cbbe848fd1157abe26
7
+ data.tar.gz: 85e0c28c0306d532aa8287dad58d8c6af357c416b66dfe3bfc870f2834a8a567fb5dbd3049846e5fb192e293b5d710368f4b5ff506e36f4bcc0a58665511a6b1
@@ -8,7 +8,7 @@ jobs:
8
8
  strategy:
9
9
  fail-fast: false
10
10
  matrix:
11
- ruby: [2.5, 2.6, 2.7, 3.0, head]
11
+ ruby: [2.5, 2.6, 2.7, "3.0", 3.1, 3.2, head]
12
12
  jekyll: ["3.0", "4.0"]
13
13
  continue-on-error: ${{ endsWith(matrix.ruby, 'head') }}
14
14
  env:
data/.gitignore CHANGED
@@ -13,3 +13,5 @@ Gemfile.lock
13
13
 
14
14
  .sass-cache/
15
15
  .jekyll-cache/
16
+
17
+ .ruby-version
data/CHANGELOG.md CHANGED
@@ -1,9 +1,21 @@
1
1
  # Changelog
2
2
 
3
- ## Ongoing [☰](https://github.com/philnash/jekyll-brotli/compare/v2.3.0...main)
3
+ ## Ongoing [☰](https://github.com/philnash/jekyll-brotli/compare/v2.4.1...main)
4
4
 
5
5
  ...
6
6
 
7
+ ## 2.4.1 (2026-07-15) [☰](https://github.com/philnash/jekyll-brotli/compare/v2.4.0...v2.4.1)
8
+
9
+ ### Changed
10
+
11
+ - Loosened version requirements on brotli gem
12
+
13
+ ## 2.4.0 (2023-08-29) [☰](https://github.com/philnash/jekyll-brotli/compare/v2.3.0...v2.4.0)
14
+
15
+ ### Changed
16
+
17
+ - Added config to set the Brotli compression level (thanks [@fauno](https://github.com/fauno))
18
+
7
19
  ## 2.3.0 (2021-02-13) [☰](https://github.com/philnash/jekyll-brotli/compare/v2.2.1...v2.3.0)
8
20
 
9
21
  ### Fixed
data/README.md CHANGED
@@ -66,6 +66,17 @@ brotli:
66
66
  - '.js
67
67
  ```
68
68
 
69
+ #### Compression quality
70
+
71
+ By default, `Jekyll::Brotli` uses the maximum compression quality
72
+ supported by Brotli, which is 11. You can supply your own compression
73
+ quality by setting a number between 0 and 11 on `_config.yml`.
74
+
75
+ ```yml
76
+ brotli:
77
+ quality: 9
78
+ ```
79
+
69
80
  ### Serving pre-compiled gzip files
70
81
 
71
82
  You will likely need to adjust your web server config to serve these precomputed gzip files. See below for common server configurations:
@@ -22,9 +22,9 @@ Gem::Specification.new do |spec|
22
22
  spec.require_paths = ["lib"]
23
23
 
24
24
  spec.add_dependency "jekyll", ">= 3.0", "< 5.0"
25
- spec.add_dependency "brotli", "~> 0.2.0"
25
+ spec.add_dependency "brotli", "~> 0.2"
26
26
 
27
- spec.add_development_dependency "bundler", ">= 1.16", "< 3.0"
27
+ spec.add_development_dependency "bundler", ">= 1.16", "< 5.0"
28
28
  spec.add_development_dependency "rake", "~> 13.0"
29
29
  spec.add_development_dependency "rspec", "~> 3.0"
30
30
  spec.add_development_dependency "simplecov", "~> 0.15.1"
@@ -24,12 +24,15 @@ module Jekyll
24
24
  #
25
25
  # @return void
26
26
  def self.compress_site(site)
27
+ quality = compression_quality(site)
28
+
27
29
  site.each_site_file do |file|
28
30
  next unless regenerate? file.destination(site.dest), site
29
31
 
30
32
  compress_file(
31
33
  file.destination(site.dest),
32
- compressable_extensions(site)
34
+ compressable_extensions(site),
35
+ quality
33
36
  )
34
37
  end
35
38
  end
@@ -50,10 +53,11 @@ module Jekyll
50
53
  def self.compress_directory(dir, site)
51
54
  extensions = compressable_extensions(site).join(',')
52
55
  files = Dir.glob(File.join(dir, "**", "*{#{extensions}}"))
56
+ quality = compression_quality(site)
53
57
  files.each do |file|
54
58
  next unless regenerate? file, site
55
59
 
56
- compress_file(file, compressable_extensions(site))
60
+ compress_file(file, compressable_extensions(site), quality)
57
61
  end
58
62
  end
59
63
 
@@ -71,10 +75,10 @@ module Jekyll
71
75
  # compressed.
72
76
  #
73
77
  # @return void
74
- def self.compress_file(file_name, extensions)
78
+ def self.compress_file(file_name, extensions, quality = 11)
75
79
  return unless extensions.include?(File.extname(file_name))
76
80
  compressed = compressed(file_name)
77
- contents = ::Brotli.deflate(File.read(file_name), quality: 11)
81
+ contents = ::Brotli.deflate(File.read(file_name), quality: quality)
78
82
 
79
83
  Jekyll.logger.debug "Brotli: #{compressed}"
80
84
 
@@ -94,6 +98,10 @@ module Jekyll
94
98
  site.config.dig("brotli", "extensions") || Jekyll::Brotli::DEFAULT_CONFIG.fetch("extensions")
95
99
  end
96
100
 
101
+ def self.compression_quality(site)
102
+ site.config.dig("brotli", "quality") || Jekyll::Brotli::DEFAULT_CONFIG.fetch("quality")
103
+ end
104
+
97
105
  # Compresses the file if the site is built incrementally and the
98
106
  # source was modified or the compressed file doesn't exist
99
107
  def self.regenerate?(file, site)
@@ -3,6 +3,7 @@
3
3
  module Jekyll
4
4
  module Brotli
5
5
  DEFAULT_CONFIG = {
6
+ 'quality' => 11,
6
7
  'extensions' => [
7
8
  '.html',
8
9
  '.css',
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Jekyll
4
4
  module Brotli
5
- VERSION = "2.3.0"
5
+ VERSION = "2.4.1"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-brotli
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0
4
+ version: 2.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Phil Nash
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2021-02-13 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: jekyll
@@ -36,14 +35,14 @@ dependencies:
36
35
  requirements:
37
36
  - - "~>"
38
37
  - !ruby/object:Gem::Version
39
- version: 0.2.0
38
+ version: '0.2'
40
39
  type: :runtime
41
40
  prerelease: false
42
41
  version_requirements: !ruby/object:Gem::Requirement
43
42
  requirements:
44
43
  - - "~>"
45
44
  - !ruby/object:Gem::Version
46
- version: 0.2.0
45
+ version: '0.2'
47
46
  - !ruby/object:Gem::Dependency
48
47
  name: bundler
49
48
  requirement: !ruby/object:Gem::Requirement
@@ -53,7 +52,7 @@ dependencies:
53
52
  version: '1.16'
54
53
  - - "<"
55
54
  - !ruby/object:Gem::Version
56
- version: '3.0'
55
+ version: '5.0'
57
56
  type: :development
58
57
  prerelease: false
59
58
  version_requirements: !ruby/object:Gem::Requirement
@@ -63,7 +62,7 @@ dependencies:
63
62
  version: '1.16'
64
63
  - - "<"
65
64
  - !ruby/object:Gem::Version
66
- version: '3.0'
65
+ version: '5.0'
67
66
  - !ruby/object:Gem::Dependency
68
67
  name: rake
69
68
  requirement: !ruby/object:Gem::Requirement
@@ -136,7 +135,6 @@ homepage: https://github.com/philnash/jekyll-brotli
136
135
  licenses:
137
136
  - MIT
138
137
  metadata: {}
139
- post_install_message:
140
138
  rdoc_options: []
141
139
  require_paths:
142
140
  - lib
@@ -151,8 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
151
149
  - !ruby/object:Gem::Version
152
150
  version: '0'
153
151
  requirements: []
154
- rubygems_version: 3.1.4
155
- signing_key:
152
+ rubygems_version: 4.0.6
156
153
  specification_version: 4
157
154
  summary: Generate brotli compressed assets and files for your Jekyll site at build
158
155
  time.