ncode-syosetu-epub3 0.2.3 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 59e25a82996af0e7b25190a992f1f58374ce17c4
4
- data.tar.gz: fdacf569984bdafed94be9084b88857437d15955
2
+ SHA256:
3
+ metadata.gz: d39cb0ca2af1172b94836716f7ce0c2d540100ec617a584f43815f72ed839bd6
4
+ data.tar.gz: de62724420d896b323384a56da07a87e2ccfdc17e69a1a6a4f2ceeeeb8f14b31
5
5
  SHA512:
6
- metadata.gz: d92a4502064c030cdf19fefac425424e048138b3ec911e4c58ef5d884aab33abece4c8078569a528384ac4f8303ef9a835facd44e072a996e6b3406414777679
7
- data.tar.gz: b2a07c9d147dc4a85769139cc046d790a7edc6b43910066ca80af0f0741dec06397f10222703e0e058f4da7ac35ce10ad25bbfd38a1355f579c907965ce36476
6
+ metadata.gz: 17495b7e9ab2926bca5475af8727390fb4b238e82aab0c0abc8b3d2473d38936c03037c304533ecdc7833128cd666b6bd9c7ab7835c7a93310b4c18d90b8802a
7
+ data.tar.gz: c2dab3d382ba89476d3ed0a99329c5b87adb8f9239a29f6736dff2739fc5e6df8ae80153cfaee83e93dd0bf258e20c13a7a4d6e10bcd2ed2772e3fb5de462e75
data/exe/ncode2epub CHANGED
@@ -8,7 +8,8 @@ if ARGV.size == 0
8
8
  exit
9
9
  end
10
10
 
11
- ARGV.each do |ncode|
12
- novel = NcodeSyosetu.client.get(ncode)
13
- novel.write_epub3("#{ncode}.epub")
11
+ ARGV.each do |arg|
12
+ parsed = NcodeSyosetu.parse_url(arg)
13
+ novel = NcodeSyosetu.client(host: parsed[:host]).get(parsed[:ncode])
14
+ novel.write_epub3("#{parsed[:ncode]}.epub")
14
15
  end
@@ -6,40 +6,37 @@ module NcodeSyosetu
6
6
  class Epub3
7
7
  def self.write(novel, path)
8
8
  Dir.mktmpdir do |tmpdir|
9
- builder = GEPUB::Builder.new do
10
- language "ja"
11
- unique_identifier novel.url
12
- title novel.title
13
- creator novel.author
9
+ book = GEPUB::Book.new
10
+ book.language = "ja"
11
+ book.add_identifier(novel.url, 'BookId')
12
+ book.add_title(novel.title)
13
+ book.add_creator(novel.author)
14
+ book.add_date(Time.now.strftime('%Y-%m-%dT%H:%M:%SZ'))
14
15
 
15
- date Time.now.to_s
16
+ toc_html = novel.toc.html.gsub(%r[<a href="/[^/]+/(\d+)/?">], '<a href="\1.html">').gsub(/<br>/, '<br />')
17
+ toc_path = File.join(tmpdir, "toc.html")
18
+ File.write(toc_path, toc_html)
19
+ item = book.add_item('toc.html', content: File.open(toc_path))
20
+ item.add_property('nav')
16
21
 
17
- resources(workdir: tmpdir) do
18
- toc_html = novel.toc.html.gsub(%r[<a href="/[^/]+/(\d+)/?">], '<a href="\1.html">').gsub(/<br>/, '<br />')
19
- File.write("toc.html", toc_html)
20
- nav "toc.html"
21
-
22
- ordered do
22
+ book.ordered do
23
+ next_heading = nil
24
+ novel.episodes.each do |episode|
25
+ if episode.is_a?(NcodeSyosetu::Model::Heading)
26
+ next_heading = episode.title
27
+ else
28
+ episode_html = episode.html.gsub(/<br>/, '<br />')
29
+ html_path = "#{episode.number}.html"
30
+ full_path = File.join(tmpdir, html_path)
31
+ File.write(full_path, episode_html)
32
+ item = book.add_item(html_path, content: File.open(full_path))
33
+ item.toc_text(next_heading || episode.title)
23
34
  next_heading = nil
24
- novel.episodes.each do |episode|
25
- if episode.is_a?(NcodeSyosetu::Model::Heading)
26
- next_heading = episode.title
27
- else
28
- episode_html = episode.html.gsub(/<br>/, '<br />')
29
- html_path = "#{episode.number}.html"
30
- File.write(html_path, episode_html)
31
- file html_path
32
- if next_heading
33
- heading next_heading
34
- next_heading = nil
35
- end
36
- end
37
- end
38
35
  end
39
36
  end
40
37
  end
41
38
 
42
- builder.generate_epub(path)
39
+ book.generate_epub(path)
43
40
  end
44
41
  end
45
42
  end
@@ -19,9 +19,8 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_dependency "ncode-syosetu-core", GEM_VERSION
22
- spec.add_dependency "gepub", "~> 0.6.9"
22
+ spec.add_dependency "gepub", "~> 2.0"
23
23
 
24
- spec.add_development_dependency "bundler", "~> 1.13"
25
- spec.add_development_dependency "rake", "~> 10.0"
26
- spec.add_development_dependency "rspec", "~> 3.0"
24
+ spec.add_development_dependency "rake"
25
+ spec.add_development_dependency "rspec", "~> 3.13"
27
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ncode-syosetu-epub3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - hogelog
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-01-14 00:00:00.000000000 Z
11
+ date: 2026-03-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ncode-syosetu-core
@@ -16,71 +16,57 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.2.3
19
+ version: 0.3.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.2.3
26
+ version: 0.3.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: gepub
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.6.9
33
+ version: '2.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.6.9
41
- - !ruby/object:Gem::Dependency
42
- name: bundler
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '1.13'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '1.13'
40
+ version: '2.0'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: rake
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
- - - "~>"
45
+ - - ">="
60
46
  - !ruby/object:Gem::Version
61
- version: '10.0'
47
+ version: '0'
62
48
  type: :development
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
- - - "~>"
52
+ - - ">="
67
53
  - !ruby/object:Gem::Version
68
- version: '10.0'
54
+ version: '0'
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: rspec
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
59
  - - "~>"
74
60
  - !ruby/object:Gem::Version
75
- version: '3.0'
61
+ version: '3.13'
76
62
  type: :development
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
66
  - - "~>"
81
67
  - !ruby/object:Gem::Version
82
- version: '3.0'
83
- description:
68
+ version: '3.13'
69
+ description:
84
70
  email:
85
71
  - konbu.komuro@gmail.com
86
72
  executables:
@@ -103,7 +89,7 @@ homepage: https://github.com/hogelog/ncode-syosetu
103
89
  licenses:
104
90
  - MIT
105
91
  metadata: {}
106
- post_install_message:
92
+ post_install_message:
107
93
  rdoc_options: []
108
94
  require_paths:
109
95
  - lib
@@ -118,9 +104,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
118
104
  - !ruby/object:Gem::Version
119
105
  version: '0'
120
106
  requirements: []
121
- rubyforge_project:
122
- rubygems_version: 2.6.8
123
- signing_key:
107
+ rubygems_version: 3.5.22
108
+ signing_key:
124
109
  specification_version: 4
125
110
  summary: Ncode syosetu to epub3 converter
126
111
  test_files: []