jekyll-gzip 2.0.0 → 2.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 +4 -4
- data/.travis.yml +7 -2
- data/CHANGELOG.md +7 -1
- data/README.md +11 -0
- data/jekyll-gzip.gemspec +2 -2
- data/lib/jekyll/gzip/compressor.rb +15 -5
- data/lib/jekyll/gzip/config.rb +2 -1
- data/lib/jekyll/gzip/version.rb +1 -1
- metadata +11 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9cd633c28c8cb3598fe2026d582716f6c8dcad49e11886032e1a1860cd540fbd
|
4
|
+
data.tar.gz: 5ca08691643c435a45293869d4964428335de8c3455f8872f96436b93680aabd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c8afea9d74a9c4c419d5b8348d0b383f6dc51ea7dd236f743047376ecd90e57d11f9021cb3c6606f1a5ad0460ca6287454e1d50502f7c6b707f28ec6daba315f
|
7
|
+
data.tar.gz: f4ee3d3febd15c9eea55b34a82ef2d1791baa6a10bf6395867d6543bf63266856d67feff6450c5b3cfa54c43878f3503d5fef0c1bc0b74c102d21d3dc7dee7c5
|
data/.travis.yml
CHANGED
@@ -1,9 +1,14 @@
|
|
1
1
|
sudo: false
|
2
2
|
language: ruby
|
3
3
|
rvm:
|
4
|
+
- 2.6
|
4
5
|
- 2.5
|
5
6
|
- 2.4
|
6
7
|
- 2.3
|
7
|
-
-
|
8
|
-
|
8
|
+
- ruby-head
|
9
|
+
matrix:
|
10
|
+
allow_failures:
|
11
|
+
- rvm: ruby-head
|
12
|
+
|
13
|
+
before_install: gem install bundler
|
9
14
|
script: bundle exec rspec
|
data/CHANGELOG.md
CHANGED
@@ -1,9 +1,15 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
## Ongoing [☰](https://github.com/philnash/jekyll-gzip/compare/
|
3
|
+
## Ongoing [☰](https://github.com/philnash/jekyll-gzip/compare/v2.1.0...master)
|
4
4
|
|
5
5
|
...
|
6
6
|
|
7
|
+
## 2.1.0 (2019-03-30) [☰](https://github.com/philnash/jekyll-gzip/compare/v2.0.0...v2.1.0)
|
8
|
+
|
9
|
+
### Added
|
10
|
+
|
11
|
+
* Adds setting to replace original files with gzipped for serving from AWS S3
|
12
|
+
|
7
13
|
## 2.0.0 (2018-11-24) [☰](https://github.com/philnash/jekyll-gzip/compare/v1.1.0...v2.0.0)
|
8
14
|
|
9
15
|
### Added
|
data/README.md
CHANGED
@@ -63,6 +63,8 @@ In your destination directory (`_site` by default) you will find gzipped version
|
|
63
63
|
|
64
64
|
### Configuration
|
65
65
|
|
66
|
+
#### Extensions
|
67
|
+
|
66
68
|
By default, `Jekyll::Gzip` will compress all files with the following extensions:
|
67
69
|
|
68
70
|
- '.html'
|
@@ -86,6 +88,15 @@ gzip:
|
|
86
88
|
- '.js
|
87
89
|
```
|
88
90
|
|
91
|
+
#### Replacing the original file
|
92
|
+
|
93
|
+
If you host your Jekyll site on AWS S3 you can take advantage of `Jekyll::Gzip` for compressing the whole site. The only difference is that you need to replace the uncompressed file with the gzipped file (that is, without a `.gz` extension). To enable this in `Jekyll::Gzip` turn the `replace_files` setting to `true`.
|
94
|
+
|
95
|
+
```yml
|
96
|
+
gzip:
|
97
|
+
replace_files: true
|
98
|
+
```
|
99
|
+
|
89
100
|
### Serving pre-compiled gzip files
|
90
101
|
|
91
102
|
You will likely need to adjust your web server config to serve these precomputed gzip files. See below for common server configurations:
|
data/jekyll-gzip.gemspec
CHANGED
@@ -20,10 +20,10 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.bindir = "exe"
|
21
21
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
22
|
spec.require_paths = ["lib"]
|
23
|
-
|
23
|
+
|
24
24
|
spec.add_dependency "jekyll", "~> 3.0"
|
25
25
|
|
26
|
-
spec.add_development_dependency "bundler", "
|
26
|
+
spec.add_development_dependency "bundler", ">= 1.16", "< 3.0"
|
27
27
|
spec.add_development_dependency "rake", "~> 10.0"
|
28
28
|
spec.add_development_dependency "rspec", "~> 3.0"
|
29
29
|
spec.add_development_dependency "simplecov", "~> 0.15.1"
|
@@ -25,7 +25,11 @@ module Jekyll
|
|
25
25
|
# @return void
|
26
26
|
def self.compress_site(site)
|
27
27
|
site.each_site_file do |file|
|
28
|
-
compress_file(
|
28
|
+
compress_file(
|
29
|
+
file.destination(site.dest),
|
30
|
+
extensions: zippable_extensions(site),
|
31
|
+
replace_file: replace_files(site)
|
32
|
+
)
|
29
33
|
end
|
30
34
|
end
|
31
35
|
|
@@ -44,8 +48,9 @@ module Jekyll
|
|
44
48
|
# @return void
|
45
49
|
def self.compress_directory(dir, site)
|
46
50
|
extensions = zippable_extensions(site).join(',')
|
51
|
+
replace_file = replace_files(site)
|
47
52
|
files = Dir.glob(dir + "**/*{#{extensions}}")
|
48
|
-
files.each { |file| compress_file(file, extensions) }
|
53
|
+
files.each { |file| compress_file(file, extensions: extensions, replace_file: replace_file) }
|
49
54
|
end
|
50
55
|
|
51
56
|
##
|
@@ -62,9 +67,9 @@ module Jekyll
|
|
62
67
|
# compressed.
|
63
68
|
#
|
64
69
|
# @return void
|
65
|
-
def self.compress_file(file_name, extensions)
|
70
|
+
def self.compress_file(file_name, extensions: [], replace_file: false)
|
66
71
|
return unless extensions.include?(File.extname(file_name))
|
67
|
-
zipped = "#{file_name}.gz"
|
72
|
+
zipped = replace_file ? file_name : "#{file_name}.gz"
|
68
73
|
Zlib::GzipWriter.open(zipped, Zlib::BEST_COMPRESSION) do |gz|
|
69
74
|
gz.mtime = File.mtime(file_name)
|
70
75
|
gz.orig_name = file_name
|
@@ -75,7 +80,12 @@ module Jekyll
|
|
75
80
|
private
|
76
81
|
|
77
82
|
def self.zippable_extensions(site)
|
78
|
-
site.config
|
83
|
+
site.config.dig('gzip', 'extensions') || Jekyll::Gzip::DEFAULT_CONFIG['extensions']
|
84
|
+
end
|
85
|
+
|
86
|
+
def self.replace_files(site)
|
87
|
+
replace_files = site.config.dig('gzip', 'replace_files')
|
88
|
+
replace_files.nil? ? Jekyll::Gzip::DEFAULT_CONFIG['replace_files'] : replace_files
|
79
89
|
end
|
80
90
|
end
|
81
91
|
end
|
data/lib/jekyll/gzip/config.rb
CHANGED
data/lib/jekyll/gzip/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jekyll-gzip
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Phil Nash
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|
@@ -28,16 +28,22 @@ dependencies:
|
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.16'
|
34
|
+
- - "<"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '3.0'
|
34
37
|
type: :development
|
35
38
|
prerelease: false
|
36
39
|
version_requirements: !ruby/object:Gem::Requirement
|
37
40
|
requirements:
|
38
|
-
- - "
|
41
|
+
- - ">="
|
39
42
|
- !ruby/object:Gem::Version
|
40
43
|
version: '1.16'
|
44
|
+
- - "<"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '3.0'
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: rake
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -123,8 +129,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
123
129
|
- !ruby/object:Gem::Version
|
124
130
|
version: '0'
|
125
131
|
requirements: []
|
126
|
-
|
127
|
-
rubygems_version: 2.7.7
|
132
|
+
rubygems_version: 3.0.3
|
128
133
|
signing_key:
|
129
134
|
specification_version: 4
|
130
135
|
summary: Generate gzipped assets and files for your Jekyll site at build time
|