epub-maker 0.1.9 → 0.2.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 +4 -4
- data/.gitlab-ci.yml +13 -31
- data/CHANGELOG.markdown +10 -0
- data/README.markdown +4 -0
- data/Rakefile +2 -4
- data/epub-maker.gemspec +2 -1
- data/lib/epub/maker/ocf/physical_container/archive_zip.rb +20 -24
- data/lib/epub/maker/publication.rb +7 -0
- data/lib/epub/maker/version.rb +1 -1
- metadata +19 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ac55c3efea9258647b54d5ffb1c605ec47049e12109273edd4957e65da653e93
|
|
4
|
+
data.tar.gz: 9ded641258ad972db31156ead2dc80dbef26d78d3792d37d30f94114977424ad
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0fa89977951ececd825e5ce136694053ebd5b62dcf79948cc6bcef51888181aaaae9aea4771d747fc7fb09308695a97a1b95e86f9905e7aee7519b7f5d9ef4da
|
|
7
|
+
data.tar.gz: 8c6290d49321120c2518f9794dfb78938fd49bf1655e4f7290813badbc289e915f9e3623d8864bf1c7af8a8be6f53a1c3a938dfe4ff32eca93ca72de039b20c6
|
data/.gitlab-ci.yml
CHANGED
|
@@ -3,39 +3,11 @@ before_script:
|
|
|
3
3
|
- which ruby
|
|
4
4
|
- apt -qq update -y
|
|
5
5
|
- apt -qq install -y default-jre
|
|
6
|
-
- bundle
|
|
6
|
+
- bundle config set path deps
|
|
7
|
+
- bundle config --local build.zipruby "--with-zlib-include=/usr/include --with-cflags='-Wno-error=implicit-function-declaration -Wno-error=implicit-int -Wno-error=incompatible-pointer-types'"
|
|
8
|
+
- bundle install --jobs=$(nproc) --quiet
|
|
7
9
|
- bundle clean
|
|
8
10
|
|
|
9
|
-
test:2.6:
|
|
10
|
-
image: ruby:2.6
|
|
11
|
-
script: bundle exec rake test
|
|
12
|
-
except:
|
|
13
|
-
- tags
|
|
14
|
-
cache:
|
|
15
|
-
key: ruby:2.6
|
|
16
|
-
paths:
|
|
17
|
-
- deps
|
|
18
|
-
|
|
19
|
-
test:2.7:
|
|
20
|
-
image: ruby:2.7
|
|
21
|
-
script: bundle exec rake test
|
|
22
|
-
except:
|
|
23
|
-
- tags
|
|
24
|
-
cache:
|
|
25
|
-
key: ruby:2.7
|
|
26
|
-
paths:
|
|
27
|
-
- deps
|
|
28
|
-
|
|
29
|
-
test:3.0:
|
|
30
|
-
image: ruby:3.0
|
|
31
|
-
script: bundle exec rake test
|
|
32
|
-
except:
|
|
33
|
-
- tags
|
|
34
|
-
cache:
|
|
35
|
-
key: ruby:3.0
|
|
36
|
-
paths:
|
|
37
|
-
- deps
|
|
38
|
-
|
|
39
11
|
test:3.1:
|
|
40
12
|
image: ruby:3.1
|
|
41
13
|
script: bundle exec rake test
|
|
@@ -75,3 +47,13 @@ test:3.4:
|
|
|
75
47
|
key: ruby:3.4
|
|
76
48
|
paths:
|
|
77
49
|
- deps
|
|
50
|
+
|
|
51
|
+
test:4.0:
|
|
52
|
+
image: ruby:4.0
|
|
53
|
+
script: bundle exec rake test
|
|
54
|
+
except:
|
|
55
|
+
- tags
|
|
56
|
+
cache:
|
|
57
|
+
key: ruby:4.0
|
|
58
|
+
paths:
|
|
59
|
+
- deps
|
data/CHANGELOG.markdown
CHANGED
data/README.markdown
CHANGED
data/Rakefile
CHANGED
|
@@ -2,16 +2,14 @@ require 'rake/testtask'
|
|
|
2
2
|
require 'rake/clean'
|
|
3
3
|
require 'yard'
|
|
4
4
|
require "rubygems/tasks"
|
|
5
|
-
|
|
5
|
+
require "kar/dsl"
|
|
6
6
|
|
|
7
7
|
task :default => :test
|
|
8
8
|
|
|
9
9
|
CLEAN.include 'README.html'
|
|
10
10
|
|
|
11
11
|
VALID_EPUB = "test/fixtures/accessible_epub_3.epub"
|
|
12
|
-
|
|
13
|
-
File.write t.name, URI("https://github.com/IDPF/epub3-samples/releases/download/20170606/accessible_epub_3.epub").read
|
|
14
|
-
end
|
|
12
|
+
download VALID_EPUB => "https://github.com/IDPF/epub3-samples/releases/download/20170606/accessible_epub_3.epub"
|
|
15
13
|
Rake::TestTask.new
|
|
16
14
|
task test: VALID_EPUB
|
|
17
15
|
YARD::Rake::YardocTask.new
|
data/epub-maker.gemspec
CHANGED
|
@@ -22,7 +22,7 @@ Gem::Specification.new do |gem|
|
|
|
22
22
|
|
|
23
23
|
gem.add_runtime_dependency 'epub-parser', '>= 0.4.8'
|
|
24
24
|
gem.add_runtime_dependency 'mimemagic'
|
|
25
|
-
gem.add_runtime_dependency 'archive-zip'
|
|
25
|
+
gem.add_runtime_dependency 'archive-zip', ">= 0.13.0"
|
|
26
26
|
gem.add_runtime_dependency 'rake'
|
|
27
27
|
gem.add_runtime_dependency 'addressable', '>= 2.3.5'
|
|
28
28
|
gem.add_runtime_dependency 'rexml'
|
|
@@ -38,4 +38,5 @@ Gem::Specification.new do |gem|
|
|
|
38
38
|
gem.add_development_dependency 'pry-doc'
|
|
39
39
|
gem.add_development_dependency 'yard'
|
|
40
40
|
gem.add_development_dependency 'rubygems-tasks'
|
|
41
|
+
gem.add_development_dependency "kar"
|
|
41
42
|
end
|
|
@@ -8,31 +8,27 @@ module EPUB
|
|
|
8
8
|
def write(path_name, content, mtime: nil)
|
|
9
9
|
::Dir.mktmpdir do |dir|
|
|
10
10
|
tmp_archive_path = ::File.join(dir, ::File.basename(@container_path) + '.tmp')
|
|
11
|
-
::
|
|
12
|
-
::
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
entry.file_data = StringIO.new(content)
|
|
20
|
-
updated = true
|
|
21
|
-
end
|
|
22
|
-
if mtime
|
|
23
|
-
entry.mtime = mtime
|
|
24
|
-
end
|
|
25
|
-
z_out << entry
|
|
26
|
-
end
|
|
27
|
-
unless updated
|
|
28
|
-
entry = Archive::Zip::Entry::File.new(path_name)
|
|
29
|
-
entry.file_data = StringIO.new(content)
|
|
30
|
-
if mtime
|
|
31
|
-
entry.mtime = mtime
|
|
32
|
-
end
|
|
33
|
-
z_out << entry
|
|
34
|
-
end
|
|
11
|
+
Archive::Zip.open @container_path, :r do |z_in|
|
|
12
|
+
Archive::Zip.open tmp_archive_path, :w do |z_out|
|
|
13
|
+
updated = false
|
|
14
|
+
z_in.each do |entry|
|
|
15
|
+
if entry.zip_path == path_name.force_encoding('ASCII-8BIT')
|
|
16
|
+
entry = entry.dup
|
|
17
|
+
entry.file_data = IO::LikeHelpers::IOWrapper.new(StringIO.new(content))
|
|
18
|
+
updated = true
|
|
35
19
|
end
|
|
20
|
+
if mtime
|
|
21
|
+
entry.mtime = mtime
|
|
22
|
+
end
|
|
23
|
+
z_out << entry
|
|
24
|
+
end
|
|
25
|
+
unless updated
|
|
26
|
+
entry = Archive::Zip::Entry::File.new(path_name)
|
|
27
|
+
entry.file_data = IO::LikeHelpers::IOWrapper.new(StringIO.new(content))
|
|
28
|
+
if mtime
|
|
29
|
+
entry.mtime = mtime
|
|
30
|
+
end
|
|
31
|
+
z_out << entry
|
|
36
32
|
end
|
|
37
33
|
end
|
|
38
34
|
end
|
|
@@ -264,6 +264,13 @@ module EPUB
|
|
|
264
264
|
item
|
|
265
265
|
end
|
|
266
266
|
|
|
267
|
+
def make_cover_image(options={})
|
|
268
|
+
make_item options do |item|
|
|
269
|
+
item.properties << 'cover-image'
|
|
270
|
+
yield item if block_given?
|
|
271
|
+
end
|
|
272
|
+
end
|
|
273
|
+
|
|
267
274
|
def to_xml_fragment(xml)
|
|
268
275
|
node = xml.manifest_ {
|
|
269
276
|
items.each do |item|
|
data/lib/epub/maker/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: epub-maker
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1
|
|
4
|
+
version: 0.2.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- KITAITI Makoto
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: epub-parser
|
|
@@ -43,14 +43,14 @@ dependencies:
|
|
|
43
43
|
requirements:
|
|
44
44
|
- - ">="
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
|
-
version:
|
|
46
|
+
version: 0.13.0
|
|
47
47
|
type: :runtime
|
|
48
48
|
prerelease: false
|
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
50
50
|
requirements:
|
|
51
51
|
- - ">="
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
|
-
version:
|
|
53
|
+
version: 0.13.0
|
|
54
54
|
- !ruby/object:Gem::Dependency
|
|
55
55
|
name: rake
|
|
56
56
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -247,6 +247,20 @@ dependencies:
|
|
|
247
247
|
- - ">="
|
|
248
248
|
- !ruby/object:Gem::Version
|
|
249
249
|
version: '0'
|
|
250
|
+
- !ruby/object:Gem::Dependency
|
|
251
|
+
name: kar
|
|
252
|
+
requirement: !ruby/object:Gem::Requirement
|
|
253
|
+
requirements:
|
|
254
|
+
- - ">="
|
|
255
|
+
- !ruby/object:Gem::Version
|
|
256
|
+
version: '0'
|
|
257
|
+
type: :development
|
|
258
|
+
prerelease: false
|
|
259
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
260
|
+
requirements:
|
|
261
|
+
- - ">="
|
|
262
|
+
- !ruby/object:Gem::Version
|
|
263
|
+
version: '0'
|
|
250
264
|
description: This library supports making and editing EPUB books
|
|
251
265
|
email:
|
|
252
266
|
- KitaitiMakoto@gmail.com
|
|
@@ -310,7 +324,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
310
324
|
- !ruby/object:Gem::Version
|
|
311
325
|
version: '0'
|
|
312
326
|
requirements: []
|
|
313
|
-
rubygems_version:
|
|
327
|
+
rubygems_version: 4.0.3
|
|
314
328
|
specification_version: 4
|
|
315
329
|
summary: EPUB Maker
|
|
316
330
|
test_files:
|