epub-maker 0.2.3 → 0.2.4
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/.gitignore +1 -1
- data/CHANGELOG.markdown +5 -0
- data/README.markdown +6 -13
- data/epub-maker.gemspec +1 -0
- data/lib/epub/maker/ocf/physical_container/ruzip.rb +36 -0
- data/lib/epub/maker/ocf/physical_container.rb +2 -1
- data/lib/epub/maker/version.rb +1 -1
- metadata +17 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 676e99ddae356b3bd340b3bada88f7fbcfb5c11538329f3e61f3abd22b3ea364
|
|
4
|
+
data.tar.gz: 6372359df23562b459374282c905820a4ad60588b4ee8b9414a34336c8bde7c4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c4a96d23b7eeabbd4c9d6d8ed01bdbef83da78343ecff34ff9e4131fe8a6a8c017302beed00d69826f8149ccc9f91aa267784220f2f9760eb4d7d9fdb2c35833
|
|
7
|
+
data.tar.gz: 868e36a9b4403854b91076aa055cae054e2f949ae508bd38efd36619c2286507d1e71524e33bd523254aaef5cae3936e59559019067f590d656bef313e5a961e
|
data/.gitignore
CHANGED
data/CHANGELOG.markdown
CHANGED
data/README.markdown
CHANGED
|
@@ -177,25 +177,18 @@ Todo
|
|
|
177
177
|
|
|
178
178
|
Recent Changes
|
|
179
179
|
--------------
|
|
180
|
-
### 0.2.0
|
|
181
180
|
|
|
182
|
-
|
|
181
|
+
### 0.2.4 ###
|
|
183
182
|
|
|
184
|
-
|
|
183
|
+
* Add adapter for RuZip
|
|
185
184
|
|
|
186
|
-
|
|
185
|
+
### 0.2.3 ###
|
|
187
186
|
|
|
188
|
-
|
|
187
|
+
* [BUG FIX]Fix links in nav
|
|
189
188
|
|
|
190
|
-
|
|
189
|
+
### 0.2.2 ###
|
|
191
190
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
* Remove version specification from Nokogiri to migrate to Ruby 3.1
|
|
195
|
-
|
|
196
|
-
### 0.1.6
|
|
197
|
-
|
|
198
|
-
* [BUG FIX]Add `mtime` keyword argument to `OCF::PhysicalContainer::Zipruby#write`
|
|
191
|
+
* Add `Publication::Package::Manifest#make_nav` method
|
|
199
192
|
|
|
200
193
|
Contributing
|
|
201
194
|
------------
|
data/epub-maker.gemspec
CHANGED
|
@@ -30,6 +30,7 @@ Gem::Specification.new do |gem|
|
|
|
30
30
|
|
|
31
31
|
gem.add_development_dependency 'zipruby'
|
|
32
32
|
gem.add_development_dependency 'rubyzip'
|
|
33
|
+
gem.add_development_dependency 'ruzip', '>= 0.3.0' unless ENV["CI"]
|
|
33
34
|
gem.add_development_dependency 'test-unit'
|
|
34
35
|
gem.add_development_dependency 'test-unit-notify'
|
|
35
36
|
gem.add_development_dependency 'epubcheck-ruby'
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
require "epub/ocf/physical_container/ruzip"
|
|
2
|
+
|
|
3
|
+
module EPUB
|
|
4
|
+
class OCF
|
|
5
|
+
class PhysicalContainer
|
|
6
|
+
class RuZip < self
|
|
7
|
+
def write(path_name, content, mtime: nil)
|
|
8
|
+
::Dir.mktmpdir do |dir|
|
|
9
|
+
tmp_archive_file = ::File.join(dir, ::File.basename(@container_path) + '.tmp')
|
|
10
|
+
archive = ::RuZip::Archive.new(@container_path)
|
|
11
|
+
writer = ::RuZip::Writer.new(tmp_archive_file)
|
|
12
|
+
|
|
13
|
+
encoding = path_name.encoding
|
|
14
|
+
updated = false
|
|
15
|
+
archive.length.times do |i|
|
|
16
|
+
entry = archive.by_index(i)
|
|
17
|
+
name = entry.name.encode(encoding)
|
|
18
|
+
if name == path_name
|
|
19
|
+
writer.append_file path_name, content, last_modified_time: mtime
|
|
20
|
+
updated = true
|
|
21
|
+
else
|
|
22
|
+
writer.raw_copy_file entry
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
unless updated
|
|
26
|
+
writer.append_file path_name, content, last_modified_time: mtime
|
|
27
|
+
end
|
|
28
|
+
writer.finish
|
|
29
|
+
|
|
30
|
+
::File.rename tmp_archive_file, @container_path
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -3,7 +3,8 @@ require 'epub/ocf/physical_container'
|
|
|
3
3
|
[
|
|
4
4
|
[:ArchiveZip, 'archive_zip'],
|
|
5
5
|
[:Zipruby, 'zipruby'],
|
|
6
|
-
[:Rubyzip, 'rubyzip']
|
|
6
|
+
[:Rubyzip, 'rubyzip'],
|
|
7
|
+
[:RuZip, 'ruzip']
|
|
7
8
|
].each do |(class_name, feature_name)|
|
|
8
9
|
if EPUB::OCF::PhysicalContainer.const_defined? class_name
|
|
9
10
|
require "epub/maker/ocf/physical_container/#{feature_name}"
|
data/lib/epub/maker/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: epub-maker
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- KITAITI Makoto
|
|
@@ -135,6 +135,20 @@ dependencies:
|
|
|
135
135
|
- - ">="
|
|
136
136
|
- !ruby/object:Gem::Version
|
|
137
137
|
version: '0'
|
|
138
|
+
- !ruby/object:Gem::Dependency
|
|
139
|
+
name: ruzip
|
|
140
|
+
requirement: !ruby/object:Gem::Requirement
|
|
141
|
+
requirements:
|
|
142
|
+
- - ">="
|
|
143
|
+
- !ruby/object:Gem::Version
|
|
144
|
+
version: 0.3.0
|
|
145
|
+
type: :development
|
|
146
|
+
prerelease: false
|
|
147
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
148
|
+
requirements:
|
|
149
|
+
- - ">="
|
|
150
|
+
- !ruby/object:Gem::Version
|
|
151
|
+
version: 0.3.0
|
|
138
152
|
- !ruby/object:Gem::Dependency
|
|
139
153
|
name: test-unit
|
|
140
154
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -285,6 +299,7 @@ files:
|
|
|
285
299
|
- lib/epub/maker/ocf/physical_container.rb
|
|
286
300
|
- lib/epub/maker/ocf/physical_container/archive_zip.rb
|
|
287
301
|
- lib/epub/maker/ocf/physical_container/rubyzip.rb
|
|
302
|
+
- lib/epub/maker/ocf/physical_container/ruzip.rb
|
|
288
303
|
- lib/epub/maker/ocf/physical_container/zipruby.rb
|
|
289
304
|
- lib/epub/maker/publication.rb
|
|
290
305
|
- lib/epub/maker/task.rb
|
|
@@ -324,7 +339,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
324
339
|
- !ruby/object:Gem::Version
|
|
325
340
|
version: '0'
|
|
326
341
|
requirements: []
|
|
327
|
-
rubygems_version: 4.0.
|
|
342
|
+
rubygems_version: 4.0.20
|
|
328
343
|
specification_version: 4
|
|
329
344
|
summary: EPUB Maker
|
|
330
345
|
test_files:
|