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 +5 -5
- data/exe/ncode2epub +4 -3
- data/lib/ncode_syosetu/builder/epub3.rb +24 -27
- data/ncode-syosetu-epub3.gemspec +3 -4
- metadata +17 -32
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: d39cb0ca2af1172b94836716f7ce0c2d540100ec617a584f43815f72ed839bd6
|
|
4
|
+
data.tar.gz: de62724420d896b323384a56da07a87e2ccfdc17e69a1a6a4f2ceeeeb8f14b31
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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 |
|
|
12
|
-
|
|
13
|
-
novel.
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
-
|
|
39
|
+
book.generate_epub(path)
|
|
43
40
|
end
|
|
44
41
|
end
|
|
45
42
|
end
|
data/ncode-syosetu-epub3.gemspec
CHANGED
|
@@ -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
|
|
22
|
+
spec.add_dependency "gepub", "~> 2.0"
|
|
23
23
|
|
|
24
|
-
spec.add_development_dependency "
|
|
25
|
-
spec.add_development_dependency "
|
|
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.
|
|
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:
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
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: '
|
|
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: '
|
|
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.
|
|
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.
|
|
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
|
-
|
|
122
|
-
|
|
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: []
|