ncode-syosetu-epub3 0.2.3 → 0.3.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 +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: a3589e3cc5f710ef1dc18853fb44c25b76bdfc35262989c4c18c8c08252f7498
|
|
4
|
+
data.tar.gz: 2638188ee9309baf1c51f2a86ec025557567f68055b8c80bf4d8410e03c30ef5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8bbfe935a63d0d72eceff350eb4bc61c0674e9ddd5d58a6498f29736cb0a20062f505efdd969283d0d913fe5c88c9514cf4a7fdaae5da0578f782790e85200d6
|
|
7
|
+
data.tar.gz: 629268d83e052821ce3ddf3a03460bb12ba97fbcccee0d479c0bf26ef1b4acd27de977ba17689b13948543fe7b0c03a174cf3f5cb110e64ad749d1dd360304d4
|
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.1
|
|
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-09-04 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.1
|
|
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.1
|
|
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: []
|