nanoc-gzip.rb 0.2.2
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 +7 -0
- data/.github/workflows/specs.yml +23 -0
- data/.gitignore +2 -0
- data/.projectile +0 -0
- data/.rubocop.yml +24 -0
- data/.yardopts +4 -0
- data/Gemfile +4 -0
- data/LICENSE +15 -0
- data/README.md +78 -0
- data/lib/nanoc-gzip/core_ext/nanoc/core/executor.rb +16 -0
- data/lib/nanoc-gzip/core_ext/nanoc/core/filter.rb +9 -0
- data/lib/nanoc-gzip/core_ext/nanoc.rb +3 -0
- data/lib/nanoc-gzip/gzip/filter.rb +18 -0
- data/lib/nanoc-gzip/gzip.rb +29 -0
- data/lib/nanoc-gzip/version.rb +7 -0
- data/lib/nanoc-gzip.rb +4 -0
- data/nanoc-gzip.rb.gemspec +32 -0
- data/test/nanoc_gzip_filter_test.rb +45 -0
- data/test/setup.rb +5 -0
- metadata +216 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 908677c7913fa3a7f9e4ca35816e62a288065d3103b61d9a8a7468722bd23a88
|
4
|
+
data.tar.gz: 47232afc6b2025b46ddc0ba88df5deef8b6de463faf0998c0beca1d9d01e28a0
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 19c4a1e137926b59df1894a2adf424fe48a2c9f56fa4bf5d7b1133702e61b1bb16984aa58b793c63961e0c277e90c266599c0c32cdbd4bb63512e530412a402f
|
7
|
+
data.tar.gz: 743f721d9400f3a503217164c4b83107a0240637daeaeefde850af249ab9b392c23ca97537a895cc975c744c52f519e072be3bf42bdad379533d2c539e7405bb
|
@@ -0,0 +1,23 @@
|
|
1
|
+
name: nanoc-gzip.rb
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ main ]
|
6
|
+
pull_request:
|
7
|
+
branches: [ main ]
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
specs:
|
11
|
+
strategy:
|
12
|
+
fail-fast: false
|
13
|
+
matrix:
|
14
|
+
os: [ubuntu-latest]
|
15
|
+
ruby: [3.1, 3.2]
|
16
|
+
runs-on: ${{ matrix.os }}
|
17
|
+
steps:
|
18
|
+
- uses: actions/checkout@v2
|
19
|
+
- uses: ruby/setup-ruby@v1
|
20
|
+
with:
|
21
|
+
ruby-version: ${{ matrix.ruby }}
|
22
|
+
- run: bundle install
|
23
|
+
- run: ruby test/nanoc_gzip_filter_test.rb
|
data/.gitignore
ADDED
data/.projectile
ADDED
File without changes
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
##
|
2
|
+
# Plugins
|
3
|
+
require:
|
4
|
+
- standard
|
5
|
+
- rubocop-rspec
|
6
|
+
|
7
|
+
##
|
8
|
+
# Defaults: standard-rb
|
9
|
+
inherit_gem:
|
10
|
+
standard: config/base.yml
|
11
|
+
|
12
|
+
##
|
13
|
+
# Enabled
|
14
|
+
Style/FrozenStringLiteralComment:
|
15
|
+
Enabled: true
|
16
|
+
|
17
|
+
##
|
18
|
+
# Disabled
|
19
|
+
Layout/MultilineMethodCallIndentation:
|
20
|
+
Enabled: false
|
21
|
+
Style/TrivialAccessors:
|
22
|
+
Enabled: false
|
23
|
+
Style/CommandLiteral:
|
24
|
+
Enabled: false
|
data/.yardopts
ADDED
data/Gemfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
Copyright (C) 2023 by 0x1eef <0x1eef@protonmail.com>
|
2
|
+
|
3
|
+
Permission to use, copy, modify, and/or distribute this
|
4
|
+
software for any purpose with or without fee is hereby
|
5
|
+
granted.
|
6
|
+
|
7
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS
|
8
|
+
ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
|
9
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO
|
10
|
+
EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
11
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
|
12
|
+
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
13
|
+
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
14
|
+
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
15
|
+
OF THIS SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
## About
|
2
|
+
|
3
|
+
nanoc-gzip.rb is a
|
4
|
+
[nanoc](https://nanoc.app)
|
5
|
+
filter that integrates gzip compression into nanoc-powered
|
6
|
+
websites. The filter can be combined with the nginx module
|
7
|
+
[gzip_static](http://nginx.org/en/docs/http/ngx_http_gzip_static_module.html)
|
8
|
+
or its equivalent in other web servers.
|
9
|
+
|
10
|
+
## Examples
|
11
|
+
|
12
|
+
**Defaults**
|
13
|
+
|
14
|
+
The following example demonstrates the compression of "app.js".
|
15
|
+
The uncompressed version (app.js) and the compressed version
|
16
|
+
(app.js.gz) are both written to disk:
|
17
|
+
|
18
|
+
```ruby
|
19
|
+
# Rules
|
20
|
+
require "nanoc-gzip"
|
21
|
+
compile "/js/app.js" do
|
22
|
+
write("/js/app.js")
|
23
|
+
filter(:gzip)
|
24
|
+
write("/js/app.js.gz")
|
25
|
+
end
|
26
|
+
```
|
27
|
+
|
28
|
+
**Options**
|
29
|
+
|
30
|
+
The filter can be configured with "level", and
|
31
|
+
"strategy" options. Both are integer values. The
|
32
|
+
default level is 9. And the default strategy
|
33
|
+
is 0. The
|
34
|
+
[zlib manual](https://www.zlib.net/manual.html#Constants)
|
35
|
+
documents what integers are accepted and what
|
36
|
+
they represent. Example:
|
37
|
+
|
38
|
+
``` ruby
|
39
|
+
# Rules
|
40
|
+
require "nanoc-gzip"
|
41
|
+
compile "/js/app.js" do
|
42
|
+
write("/js/app.js")
|
43
|
+
filter(:gzip, {level: 1, strategy: 2})
|
44
|
+
write("/js/app.js.gz")
|
45
|
+
end
|
46
|
+
```
|
47
|
+
|
48
|
+
## Sources
|
49
|
+
|
50
|
+
* [Source code (GitHub)](https://github.com/0x1eef/nanoc-gzip.rb)
|
51
|
+
* [Source code (GitLab)](https://gitlab.com/0x1eef/nanoc-gzip.rb)
|
52
|
+
|
53
|
+
## <a id='install'>Install</a>
|
54
|
+
|
55
|
+
**Git**
|
56
|
+
|
57
|
+
nanoc-gzip.rb is distributed as a RubyGem through its git repositories. <br>
|
58
|
+
[GitHub](https://github.com/0x1eef/nanoc-gzip.rb),
|
59
|
+
and
|
60
|
+
[GitLab](https://gitlab.com/0x1eef/nanoc-gzip.rb)
|
61
|
+
are available as sources.
|
62
|
+
|
63
|
+
```ruby
|
64
|
+
# Gemfile
|
65
|
+
gem "nanoc-gzip.rb", github: "0x1eef/nanoc-gzip.rb", tag: "v0.2.2"
|
66
|
+
```
|
67
|
+
|
68
|
+
**Rubygems.org**
|
69
|
+
|
70
|
+
nanoc-gzip.rb can also be installed via rubygems.org.
|
71
|
+
|
72
|
+
gem install nanoc-gzip.rb
|
73
|
+
|
74
|
+
## License
|
75
|
+
|
76
|
+
[BSD Zero Clause](https://choosealicense.com/licenses/0bsd/).
|
77
|
+
<br>
|
78
|
+
See [LICENSE](./LICENSE).
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "nanoc/core/executor"
|
4
|
+
class Nanoc::Core::Executor
|
5
|
+
module Patch
|
6
|
+
def filter_for_filtering(filter_name)
|
7
|
+
klass = Nanoc::Core::Filter.named!(filter_name)
|
8
|
+
if klass.from_binary_or_text?
|
9
|
+
klass.new(assigns)
|
10
|
+
else
|
11
|
+
super
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
prepend(Patch)
|
16
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class Nanoc::Gzip::Filter < Nanoc::Filter
|
4
|
+
identifier :gzip
|
5
|
+
type [:binary, :text] => :binary
|
6
|
+
include Nanoc::Gzip
|
7
|
+
|
8
|
+
##
|
9
|
+
# @param [String] str
|
10
|
+
# @return [String]
|
11
|
+
def run(str, options = {})
|
12
|
+
gzip(
|
13
|
+
item.binary? ? File.binread(str) : str,
|
14
|
+
options[:level],
|
15
|
+
options[:strategy]
|
16
|
+
)
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "nanoc"
|
4
|
+
module Nanoc::Gzip
|
5
|
+
require "zlib"
|
6
|
+
require_relative "gzip/filter"
|
7
|
+
include Zlib
|
8
|
+
|
9
|
+
##
|
10
|
+
# Compresses a string, and writes the string to "Nanoc::Filter#output_filename".
|
11
|
+
#
|
12
|
+
# @param [String] content
|
13
|
+
# The contents of a file.
|
14
|
+
#
|
15
|
+
# @param [Integer] level
|
16
|
+
# The compression level represented by an integer between 0, and 9. <br>
|
17
|
+
# The default is 9 (Zlib::BEST_COMPRESSION).
|
18
|
+
#
|
19
|
+
# @param [Integer] strategy
|
20
|
+
# The compression strategy represented by an integer between 0, and 4. <br>
|
21
|
+
# The default is 0 (Zlib::DEFAULT_STRATEGY).
|
22
|
+
#
|
23
|
+
# @return [void]
|
24
|
+
def gzip(content, level, strategy)
|
25
|
+
level ||= BEST_COMPRESSION
|
26
|
+
strategy ||= DEFAULT_STRATEGY
|
27
|
+
GzipWriter.open(output_filename, level, strategy) { _1.write(content) }
|
28
|
+
end
|
29
|
+
end
|
data/lib/nanoc-gzip.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "./lib/nanoc-gzip/version"
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.name = "nanoc-gzip.rb"
|
6
|
+
gem.authors = ["0x1eef"]
|
7
|
+
gem.email = ["0x1eef@protonmail.com"]
|
8
|
+
gem.homepage = "https://github.com/0x1eef/nanoc-gzip.rb#readme"
|
9
|
+
gem.version = Nanoc::Gzip::VERSION
|
10
|
+
gem.licenses = ["0BSD"]
|
11
|
+
gem.files = `git ls-files`.split($/)
|
12
|
+
gem.require_paths = ["lib"]
|
13
|
+
gem.summary = "A nanoc filter that compresses content in the gzip format"
|
14
|
+
gem.description = gem.summary
|
15
|
+
gem.metadata = { "documentation_uri" => "https://0x1eef.github.io/x/nanoc-gzip.rb" }
|
16
|
+
|
17
|
+
##
|
18
|
+
# Default gems
|
19
|
+
# Pinned to specific versions for OpenBSD support
|
20
|
+
gem.add_runtime_dependency "json", "= 2.6.1"
|
21
|
+
gem.add_runtime_dependency "racc", "= 1.6.0"
|
22
|
+
gem.add_runtime_dependency "stringio", "= 3.0.1"
|
23
|
+
gem.add_runtime_dependency "set", "= 1.0.2"
|
24
|
+
|
25
|
+
gem.add_runtime_dependency "nanoc", "~> 4.12"
|
26
|
+
gem.add_development_dependency "test-unit", "~> 3.5"
|
27
|
+
gem.add_development_dependency "yard", "~> 0.9"
|
28
|
+
gem.add_development_dependency "redcarpet", "~> 3.5"
|
29
|
+
gem.add_development_dependency "rspec", "~> 3.10"
|
30
|
+
gem.add_development_dependency "standard", "~> 1.13"
|
31
|
+
gem.add_development_dependency "rubocop-rspec", "~> 2.11"
|
32
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "setup"
|
4
|
+
|
5
|
+
class FilterTest < Test::Unit::TestCase
|
6
|
+
module BinaryItem
|
7
|
+
def item
|
8
|
+
OpenStruct.new("binary?" => true)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
module TextItem
|
13
|
+
def item
|
14
|
+
OpenStruct.new("binary?" => false)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def teardown
|
19
|
+
FileUtils.rm(filter.output_filename)
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_text_item
|
23
|
+
filter.extend(TextItem).run("hello world")
|
24
|
+
assert_match %r{^application/(x-)?gzip}, file(filter.output_filename)
|
25
|
+
end
|
26
|
+
|
27
|
+
def test_binary_item
|
28
|
+
bin_file = File.join(__dir__, "bin_test_file")
|
29
|
+
File.binwrite(bin_file, "hello world")
|
30
|
+
filter.extend(BinaryItem).run(bin_file)
|
31
|
+
assert_match %r{^application/(x-)?gzip}, file(filter.output_filename)
|
32
|
+
ensure
|
33
|
+
FileUtils.rm(bin_file)
|
34
|
+
end
|
35
|
+
|
36
|
+
private
|
37
|
+
|
38
|
+
def filter
|
39
|
+
@filter ||= Nanoc::Filter.named!(:gzip).new
|
40
|
+
end
|
41
|
+
|
42
|
+
def file(path)
|
43
|
+
%x(file -bi #{path}).chomp
|
44
|
+
end
|
45
|
+
end
|
data/test/setup.rb
ADDED
metadata
ADDED
@@ -0,0 +1,216 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: nanoc-gzip.rb
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.2.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- '0x1eef'
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2024-01-07 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: json
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.6.1
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.6.1
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: racc
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.6.0
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.6.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: stringio
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 3.0.1
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 3.0.1
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: set
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.0.2
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.0.2
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: nanoc
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '4.12'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '4.12'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: test-unit
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '3.5'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '3.5'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: yard
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0.9'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0.9'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: redcarpet
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '3.5'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '3.5'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rspec
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '3.10'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '3.10'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: standard
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '1.13'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '1.13'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: rubocop-rspec
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '2.11'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '2.11'
|
167
|
+
description: A nanoc filter that compresses content in the gzip format
|
168
|
+
email:
|
169
|
+
- 0x1eef@protonmail.com
|
170
|
+
executables: []
|
171
|
+
extensions: []
|
172
|
+
extra_rdoc_files: []
|
173
|
+
files:
|
174
|
+
- ".github/workflows/specs.yml"
|
175
|
+
- ".gitignore"
|
176
|
+
- ".projectile"
|
177
|
+
- ".rubocop.yml"
|
178
|
+
- ".yardopts"
|
179
|
+
- Gemfile
|
180
|
+
- LICENSE
|
181
|
+
- README.md
|
182
|
+
- lib/nanoc-gzip.rb
|
183
|
+
- lib/nanoc-gzip/core_ext/nanoc.rb
|
184
|
+
- lib/nanoc-gzip/core_ext/nanoc/core/executor.rb
|
185
|
+
- lib/nanoc-gzip/core_ext/nanoc/core/filter.rb
|
186
|
+
- lib/nanoc-gzip/gzip.rb
|
187
|
+
- lib/nanoc-gzip/gzip/filter.rb
|
188
|
+
- lib/nanoc-gzip/version.rb
|
189
|
+
- nanoc-gzip.rb.gemspec
|
190
|
+
- test/nanoc_gzip_filter_test.rb
|
191
|
+
- test/setup.rb
|
192
|
+
homepage: https://github.com/0x1eef/nanoc-gzip.rb#readme
|
193
|
+
licenses:
|
194
|
+
- 0BSD
|
195
|
+
metadata:
|
196
|
+
documentation_uri: https://0x1eef.github.io/x/nanoc-gzip.rb
|
197
|
+
post_install_message:
|
198
|
+
rdoc_options: []
|
199
|
+
require_paths:
|
200
|
+
- lib
|
201
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
202
|
+
requirements:
|
203
|
+
- - ">="
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
version: '0'
|
206
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
207
|
+
requirements:
|
208
|
+
- - ">="
|
209
|
+
- !ruby/object:Gem::Version
|
210
|
+
version: '0'
|
211
|
+
requirements: []
|
212
|
+
rubygems_version: 3.5.3
|
213
|
+
signing_key:
|
214
|
+
specification_version: 4
|
215
|
+
summary: A nanoc filter that compresses content in the gzip format
|
216
|
+
test_files: []
|