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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fcad7a4dc57d3cc9b39f9f591d602b9c4fa8e6f381d4e862b90ebe677f10b66e
4
- data.tar.gz: da11245d3ced514dc3bb70db1a6735ecf7fcf061a94ff23bafdb095bc92baee6
3
+ metadata.gz: ac55c3efea9258647b54d5ffb1c605ec47049e12109273edd4957e65da653e93
4
+ data.tar.gz: 9ded641258ad972db31156ead2dc80dbef26d78d3792d37d30f94114977424ad
5
5
  SHA512:
6
- metadata.gz: 714e40d064f8207b25f26bc822c856746890f61022622837052008d370cab5d60134af41f9eac8deea1365906994b8089df31e491f1502a3ac2c6eb72b657cf5
7
- data.tar.gz: 9807fbf0009d259e909dd967651921626a888b8f04fa0df22db07efa85eee436e60a6a571443245c216df35ffe49631de09f9373c514e0090db2fa9a81ea754f
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 install --jobs=$(nproc) --path=deps --quiet
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
@@ -1,3 +1,13 @@
1
+ 0.2.1
2
+ -----
3
+
4
+ * Add `Publication::Package::Manifest#make_cover_image` method
5
+
6
+ 0.2.0
7
+ -----
8
+
9
+ * Update dependent Archive::Zip version to 0.13.0
10
+
1
11
  0.1.9
2
12
  -----
3
13
 
data/README.markdown CHANGED
@@ -177,6 +177,10 @@ Todo
177
177
 
178
178
  Recent Changes
179
179
  --------------
180
+ ### 0.2.0
181
+
182
+ * Update dependent Archive::Zip version to 0.13.0
183
+
180
184
  ### 0.1.9
181
185
 
182
186
  * Fix output of package@prefix
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
- require "open-uri"
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
- file VALID_EPUB do |t|
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
- ::File.open @container_path do |archive_in|
12
- ::File.open tmp_archive_path, 'w' do |archive_out|
13
- archive_out.binmode
14
- Archive::Zip.open archive_in, :r do |z_in|
15
- Archive::Zip.open archive_out, :w do |z_out|
16
- updated = false
17
- z_in.each do |entry|
18
- if entry.zip_path == path_name.force_encoding('ASCII-8BIT')
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|
@@ -1,5 +1,5 @@
1
1
  module EPUB
2
2
  module Maker
3
- VERSION = "0.1.9"
3
+ VERSION = "0.2.1"
4
4
  end
5
5
  end
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.9
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: 2025-03-02 00:00:00.000000000 Z
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: '0'
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: '0'
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: 3.6.5
327
+ rubygems_version: 4.0.3
314
328
  specification_version: 4
315
329
  summary: EPUB Maker
316
330
  test_files: