narou 3.4.7.1 → 3.6.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of narou might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.circleci/config.yml +2 -2
- data/.rubocop.yml +14 -14
- data/ChangeLog.md +29 -0
- data/Gemfile +0 -14
- data/Gemfile.lock +87 -101
- data/README.md +2 -8
- data/lib/command/backup.rb +3 -1
- data/lib/command/setting.rb +1 -1
- data/lib/commandbase.rb +1 -1
- data/lib/commandline.rb +1 -1
- data/lib/converterbase.rb +1 -1
- data/lib/downloader.rb +4 -4
- data/lib/helper.rb +2 -2
- data/lib/html.rb +2 -2
- data/lib/illustration.rb +11 -2
- data/lib/loadconverter.rb +5 -3
- data/lib/narou.rb +1 -1
- data/lib/narou/api.rb +1 -1
- data/lib/novelconverter.rb +5 -4
- data/lib/novelinfo.rb +1 -1
- data/lib/sitesetting.rb +1 -1
- data/lib/version.rb +1 -1
- data/lib/web/appserver.rb +3 -1
- data/lib/web/progressbar4web.rb +2 -2
- data/narou.gemspec +18 -14
- data/preset/ncode.syosetu.com/n9902bn/converter.rb +1 -1
- metadata +166 -46
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b9fcbe89c262fd6d8234351075c7bb9228498751df529c4f6def90d45cb6bca6
|
4
|
+
data.tar.gz: 1d3033f43c00d3dcfe3fcace49bc8e24915b91965716214ffe3e19a7b0a0f392
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 11d21bbf7d64ce68a99e61988ca1c79f74b61832af90a52aea62d9a1e5e270164c7d364eca64188af5c390bdcb4beeefc633089f5fc6b27a084aa7d6d1848b5f
|
7
|
+
data.tar.gz: 39222977f49fc571f61d617503a4d14af9b8072f7f83265330b3244682e3fc38644ee644388a85ab65a6d4e5da9fee2b22e85134df502afc2deb1e48677fd59b
|
data/.circleci/config.yml
CHANGED
data/.rubocop.yml
CHANGED
@@ -8,7 +8,7 @@ AllCops:
|
|
8
8
|
- "narou.gemspec"
|
9
9
|
- "spec/**/*"
|
10
10
|
DisplayCopNames: true
|
11
|
-
TargetRubyVersion: 2.
|
11
|
+
TargetRubyVersion: 2.5
|
12
12
|
|
13
13
|
Metrics/ClassLength:
|
14
14
|
CountComments: false
|
@@ -30,7 +30,7 @@ Metrics/BlockNesting:
|
|
30
30
|
Metrics/CyclomaticComplexity:
|
31
31
|
Max: 8
|
32
32
|
|
33
|
-
|
33
|
+
Layout/LineLength:
|
34
34
|
Max: 140
|
35
35
|
AllowURI: true
|
36
36
|
URISchemes:
|
@@ -56,9 +56,6 @@ Style/AndOr:
|
|
56
56
|
Style/BlockDelimiters:
|
57
57
|
Enabled: false
|
58
58
|
|
59
|
-
Style/BracesAroundHashParameters:
|
60
|
-
Enabled: false
|
61
|
-
|
62
59
|
Style/CollectionMethods:
|
63
60
|
PreferredMethods:
|
64
61
|
detect: "detect"
|
@@ -106,7 +103,7 @@ Style/NumericLiterals:
|
|
106
103
|
|
107
104
|
# has_ から始まるメソッドは許可する
|
108
105
|
Naming/PredicateName:
|
109
|
-
|
106
|
+
ForbiddenPrefixes:
|
110
107
|
- "is_"
|
111
108
|
- "have_"
|
112
109
|
NamePrefix:
|
@@ -116,7 +113,7 @@ Naming/PredicateName:
|
|
116
113
|
Style/GlobalVars:
|
117
114
|
Enabled: false
|
118
115
|
|
119
|
-
Layout/
|
116
|
+
Layout/FirstHashElementIndentation:
|
120
117
|
Enabled: false
|
121
118
|
|
122
119
|
Layout/LeadingCommentSpace:
|
@@ -137,7 +134,7 @@ Style/NegatedIf:
|
|
137
134
|
Style/Not:
|
138
135
|
Enabled: true
|
139
136
|
|
140
|
-
PercentLiteralDelimiters:
|
137
|
+
Style/PercentLiteralDelimiters:
|
141
138
|
PreferredDelimiters:
|
142
139
|
"%": "!!"
|
143
140
|
"%i": "()"
|
@@ -158,7 +155,7 @@ Style/RedundantReturn:
|
|
158
155
|
Style/RedundantSelf:
|
159
156
|
Enabled: false
|
160
157
|
|
161
|
-
SignalException:
|
158
|
+
Style/SignalException:
|
162
159
|
EnforcedStyle: only_raise
|
163
160
|
|
164
161
|
Layout/SpaceAfterComma:
|
@@ -179,10 +176,10 @@ Style/StringLiterals:
|
|
179
176
|
Style/SymbolProc:
|
180
177
|
Enabled: true
|
181
178
|
|
182
|
-
Layout/
|
179
|
+
Layout/IndentationStyle:
|
183
180
|
Enabled: true
|
184
181
|
|
185
|
-
Layout/
|
182
|
+
Layout/TrailingEmptyLines:
|
186
183
|
Enabled: false
|
187
184
|
|
188
185
|
Style/TrailingCommaInArrayLiteral:
|
@@ -197,7 +194,7 @@ Style/TrivialAccessors:
|
|
197
194
|
Style/UnlessElse:
|
198
195
|
Enabled: true
|
199
196
|
|
200
|
-
VariableName:
|
197
|
+
Naming/VariableName:
|
201
198
|
EnforcedStyle: snake_case
|
202
199
|
|
203
200
|
Style/WordArray:
|
@@ -221,13 +218,13 @@ Style/FrozenStringLiteralComment:
|
|
221
218
|
Layout/MultilineOperationIndentation:
|
222
219
|
Enabled: false
|
223
220
|
|
224
|
-
Layout/
|
221
|
+
Layout/HeredocIndentation:
|
225
222
|
Enabled: true
|
226
223
|
|
227
224
|
Style/NumericPredicate:
|
228
225
|
Enabled: false
|
229
226
|
|
230
|
-
Lint/
|
227
|
+
Lint/SuppressedException:
|
231
228
|
Enabled: false
|
232
229
|
|
233
230
|
Lint/RescueException:
|
@@ -241,3 +238,6 @@ Style/FormatStringToken:
|
|
241
238
|
|
242
239
|
Layout/EmptyLineAfterGuardClause:
|
243
240
|
Enabled: false
|
241
|
+
|
242
|
+
Style/StderrPuts:
|
243
|
+
Enabled: false
|
data/ChangeLog.md
CHANGED
@@ -1,6 +1,35 @@
|
|
1
1
|
更新履歴 - ChangeLog
|
2
2
|
====================
|
3
3
|
|
4
|
+
3.6.0: 2021/01/02
|
5
|
+
-----------------
|
6
|
+
#### 修正内容
|
7
|
+
- Ruby 3.0 に対応
|
8
|
+
|
9
|
+
|
10
|
+
3.5.1: 2020/03/21
|
11
|
+
-----------------
|
12
|
+
#### 修正内容
|
13
|
+
- 小説家になろう系列の挿絵をダウンロード時に、サムネイル画像を取得するように
|
14
|
+
なってしまっていたのを修正
|
15
|
+
- Ruby 2.7 で narou setting -l を実行時に警告が大量に出ていたのを修正
|
16
|
+
|
17
|
+
|
18
|
+
3.5.0: 2020/02/16
|
19
|
+
-----------------
|
20
|
+
#### 修正内容
|
21
|
+
- Ruby 2.7 に対応
|
22
|
+
|
23
|
+
|
24
|
+
3.4.8: 2019/11/27
|
25
|
+
-----------------
|
26
|
+
#### 修正内容
|
27
|
+
- 小説タイトルが長すぎる場合、backup コマンドでファイルを作成した際にエラーが
|
28
|
+
出るため、ファイル名を端折る処理を導入
|
29
|
+
- `デスマーチからはじまる異世界狂想曲` のプリセットファイルにバグが混入していた
|
30
|
+
のを修正
|
31
|
+
|
32
|
+
|
4
33
|
3.4.7: 2019/10/06
|
5
34
|
-----------------
|
6
35
|
#### 修正内容
|
data/Gemfile
CHANGED
@@ -2,17 +2,3 @@ source 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
# Specify your gem's dependencies in narou.gemspec
|
4
4
|
gemspec
|
5
|
-
|
6
|
-
# development gems
|
7
|
-
|
8
|
-
gem "rspec"
|
9
|
-
gem "rspec-core"
|
10
|
-
gem "rspec-retry"
|
11
|
-
gem "rspec_junit_formatter"
|
12
|
-
gem "timecop"
|
13
|
-
gem "pry"
|
14
|
-
gem "pry-byebug"
|
15
|
-
gem "better_errors"
|
16
|
-
gem "binding_of_caller"
|
17
|
-
gem "awesome_print"
|
18
|
-
gem "simplecov", require: false, group: :test
|
data/Gemfile.lock
CHANGED
@@ -1,154 +1,140 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
narou (3.
|
5
|
-
activesupport (
|
4
|
+
narou (3.5.1)
|
5
|
+
activesupport (>= 5.2, < 7.0)
|
6
6
|
diff-lcs (~> 1.2, >= 1.2.5)
|
7
7
|
erubis (~> 2.7)
|
8
|
-
haml (
|
8
|
+
haml (>= 5.1.2, < 6)
|
9
9
|
mail (~> 2.6.0, >= 2.6.6)
|
10
10
|
memoist (~> 0.11.0)
|
11
11
|
open_uri_redirections (~> 0.2, >= 0.2.1)
|
12
12
|
pony (~> 1, >= 1.11)
|
13
13
|
rubyzip (~> 2.0, >= 2.0.0)
|
14
|
-
|
15
|
-
sinatra (~>
|
16
|
-
sinatra-contrib (~>
|
14
|
+
sassc (~> 2.4)
|
15
|
+
sinatra (~> 2.0, >= 2.0.8.1)
|
16
|
+
sinatra-contrib (~> 2.0, >= 2.0.8.1)
|
17
17
|
systemu (~> 2.6, >= 2.6.5)
|
18
18
|
termcolorlight (~> 1.0, >= 1.1.1)
|
19
|
-
tilt (~> 2.0, >= 2.0.
|
19
|
+
tilt (~> 2.0, >= 2.0.10)
|
20
20
|
unicode-display_width (~> 1.4)
|
21
|
+
webrick (~> 1.7)
|
21
22
|
|
22
23
|
GEM
|
23
24
|
remote: https://rubygems.org/
|
24
25
|
specs:
|
25
|
-
activesupport (
|
26
|
+
activesupport (6.1.0)
|
26
27
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
27
|
-
i18n (>=
|
28
|
-
minitest (
|
29
|
-
tzinfo (~>
|
28
|
+
i18n (>= 1.6, < 2)
|
29
|
+
minitest (>= 5.1)
|
30
|
+
tzinfo (~> 2.0)
|
31
|
+
zeitwerk (~> 2.3)
|
30
32
|
awesome_print (1.8.0)
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
binding_of_caller (0.8.0)
|
37
|
-
debug_inspector (>= 0.0.1)
|
38
|
-
byebug (10.0.2)
|
39
|
-
coderay (1.1.2)
|
40
|
-
concurrent-ruby (1.1.5)
|
41
|
-
debug_inspector (0.0.3)
|
42
|
-
diff-lcs (1.3)
|
43
|
-
docile (1.3.1)
|
44
|
-
erubi (1.7.1)
|
33
|
+
byebug (11.1.3)
|
34
|
+
coderay (1.1.3)
|
35
|
+
concurrent-ruby (1.1.7)
|
36
|
+
diff-lcs (1.4.4)
|
37
|
+
docile (1.3.4)
|
45
38
|
erubis (2.7.0)
|
46
|
-
ffi (1.
|
47
|
-
ffi (1.
|
48
|
-
haml (
|
39
|
+
ffi (1.13.1)
|
40
|
+
ffi (1.13.1-java)
|
41
|
+
haml (5.2.1)
|
42
|
+
temple (>= 0.8.0)
|
49
43
|
tilt
|
50
|
-
i18n (1.6
|
44
|
+
i18n (1.8.6)
|
51
45
|
concurrent-ruby (~> 1.0)
|
52
|
-
json (2.1.0)
|
53
|
-
json (2.1.0-java)
|
54
46
|
mail (2.6.6)
|
55
47
|
mime-types (>= 1.16, < 4)
|
56
48
|
memoist (0.11.0)
|
57
|
-
method_source (0.
|
58
|
-
mime-types (3.3)
|
49
|
+
method_source (1.0.0)
|
50
|
+
mime-types (3.3.1)
|
59
51
|
mime-types-data (~> 3.2015)
|
60
|
-
mime-types-data (3.
|
61
|
-
minitest (5.
|
62
|
-
multi_json (1.
|
52
|
+
mime-types-data (3.2020.1104)
|
53
|
+
minitest (5.14.2)
|
54
|
+
multi_json (1.15.0)
|
55
|
+
mustermann (1.1.1)
|
56
|
+
ruby2_keywords (~> 0.0.1)
|
63
57
|
open_uri_redirections (0.2.1)
|
64
58
|
pony (1.13.1)
|
65
59
|
mail (>= 2.0)
|
66
|
-
pry (0.
|
67
|
-
coderay (~> 1.1
|
68
|
-
method_source (~>
|
69
|
-
pry (0.
|
70
|
-
coderay (~> 1.1
|
71
|
-
method_source (~>
|
60
|
+
pry (0.13.1)
|
61
|
+
coderay (~> 1.1)
|
62
|
+
method_source (~> 1.0)
|
63
|
+
pry (0.13.1-java)
|
64
|
+
coderay (~> 1.1)
|
65
|
+
method_source (~> 1.0)
|
72
66
|
spoon (~> 0.0)
|
73
|
-
pry-byebug (3.
|
74
|
-
byebug (~>
|
75
|
-
pry (~> 0.
|
76
|
-
rack (
|
77
|
-
rack-protection (1.
|
67
|
+
pry-byebug (3.9.0)
|
68
|
+
byebug (~> 11.0)
|
69
|
+
pry (~> 0.13.0)
|
70
|
+
rack (2.2.3)
|
71
|
+
rack-protection (2.1.0)
|
78
72
|
rack
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
rspec-expectations (~> 3.8.0)
|
87
|
-
rspec-mocks (~> 3.8.0)
|
88
|
-
rspec-core (3.8.0)
|
89
|
-
rspec-support (~> 3.8.0)
|
90
|
-
rspec-expectations (3.8.2)
|
73
|
+
rspec (3.9.0)
|
74
|
+
rspec-core (~> 3.9.0)
|
75
|
+
rspec-expectations (~> 3.9.0)
|
76
|
+
rspec-mocks (~> 3.9.0)
|
77
|
+
rspec-core (3.9.2)
|
78
|
+
rspec-support (~> 3.9.3)
|
79
|
+
rspec-expectations (3.9.2)
|
91
80
|
diff-lcs (>= 1.2.0, < 2.0)
|
92
|
-
rspec-support (~> 3.
|
93
|
-
rspec-mocks (3.
|
81
|
+
rspec-support (~> 3.9.0)
|
82
|
+
rspec-mocks (3.9.1)
|
94
83
|
diff-lcs (>= 1.2.0, < 2.0)
|
95
|
-
rspec-support (~> 3.
|
96
|
-
rspec-retry (0.6.
|
84
|
+
rspec-support (~> 3.9.0)
|
85
|
+
rspec-retry (0.6.2)
|
97
86
|
rspec-core (> 3.3)
|
98
|
-
rspec-support (3.
|
87
|
+
rspec-support (3.9.3)
|
99
88
|
rspec_junit_formatter (0.4.1)
|
100
89
|
rspec-core (>= 2, < 4, != 2.12.0)
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
rb-inotify (~> 0.9, >= 0.9.7)
|
107
|
-
simplecov (0.16.1)
|
90
|
+
ruby2_keywords (0.0.2)
|
91
|
+
rubyzip (2.3.0)
|
92
|
+
sassc (2.4.0)
|
93
|
+
ffi (~> 1.9)
|
94
|
+
simplecov (0.20.0)
|
108
95
|
docile (~> 1.1)
|
109
|
-
|
110
|
-
|
111
|
-
simplecov-html (0.
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
96
|
+
simplecov-html (~> 0.11)
|
97
|
+
simplecov_json_formatter (~> 0.1)
|
98
|
+
simplecov-html (0.12.3)
|
99
|
+
simplecov_json_formatter (0.1.2)
|
100
|
+
sinatra (2.1.0)
|
101
|
+
mustermann (~> 1.0)
|
102
|
+
rack (~> 2.2)
|
103
|
+
rack-protection (= 2.1.0)
|
104
|
+
tilt (~> 2.0)
|
105
|
+
sinatra-contrib (2.1.0)
|
118
106
|
multi_json
|
119
|
-
|
120
|
-
rack-
|
121
|
-
sinatra (
|
122
|
-
tilt (
|
107
|
+
mustermann (~> 1.0)
|
108
|
+
rack-protection (= 2.1.0)
|
109
|
+
sinatra (= 2.1.0)
|
110
|
+
tilt (~> 2.0)
|
123
111
|
spoon (0.0.6)
|
124
112
|
ffi
|
125
113
|
systemu (2.6.5)
|
114
|
+
temple (0.8.2)
|
126
115
|
termcolorlight (1.1.1)
|
127
|
-
thread_safe (0.3.6)
|
128
|
-
thread_safe (0.3.6-java)
|
129
116
|
tilt (2.0.10)
|
130
117
|
timecop (0.9.1)
|
131
|
-
tzinfo (
|
132
|
-
|
133
|
-
unicode-display_width (1.
|
118
|
+
tzinfo (2.0.4)
|
119
|
+
concurrent-ruby (~> 1.0)
|
120
|
+
unicode-display_width (1.7.0)
|
121
|
+
webrick (1.7.0)
|
122
|
+
zeitwerk (2.4.2)
|
134
123
|
|
135
124
|
PLATFORMS
|
136
125
|
java
|
137
126
|
ruby
|
138
127
|
|
139
128
|
DEPENDENCIES
|
140
|
-
awesome_print
|
141
|
-
better_errors
|
142
|
-
binding_of_caller
|
129
|
+
awesome_print (~> 1.8)
|
143
130
|
narou!
|
144
|
-
pry
|
145
|
-
pry-byebug
|
146
|
-
rspec
|
147
|
-
rspec-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
timecop
|
131
|
+
pry (~> 0.12)
|
132
|
+
pry-byebug (~> 3.8)
|
133
|
+
rspec (~> 3.9)
|
134
|
+
rspec-retry (~> 0.6)
|
135
|
+
rspec_junit_formatter (~> 0.4)
|
136
|
+
simplecov (~> 0.20)
|
137
|
+
timecop (~> 0.9)
|
152
138
|
|
153
139
|
BUNDLED WITH
|
154
|
-
|
140
|
+
2.2.3
|
data/README.md
CHANGED
@@ -34,16 +34,10 @@ Narou.rb - 小説家になろうのダウンローダ&縦書き整形&管理
|
|
34
34
|
更新履歴 - ChangeLog
|
35
35
|
--------------------
|
36
36
|
|
37
|
-
3.
|
37
|
+
3.6.0: 2021/01/02
|
38
38
|
-----------------
|
39
39
|
#### 修正内容
|
40
|
-
- 3.
|
41
|
-
- **注意**
|
42
|
-
3.4.6 で更新した小説の目次データは壊れているので、そのまま 3.4.7 で更新する
|
43
|
-
と大量の再ダウンロードが発生します。目次データを復元するコマンドを用意した
|
44
|
-
のでそれを使用して下さい
|
45
|
-
- コマンドライン上で `narou restore346` を実行すると、壊れた目次データを復元
|
46
|
-
出来ます
|
40
|
+
- Ruby 3.0 に対応
|
47
41
|
|
48
42
|
----
|
49
43
|
|
data/lib/command/backup.rb
CHANGED
@@ -31,7 +31,9 @@ module Command
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def create_backup_filename(data)
|
34
|
-
Helper.replace_filename_special_chars(data["title"])
|
34
|
+
name = Helper.replace_filename_special_chars(data["title"])
|
35
|
+
name.slice!(-1) while name.bytesize > 180
|
36
|
+
"#{name}_#{Time.now.strftime("%Y%m%d%H%M%S")}.zip"
|
35
37
|
end
|
36
38
|
|
37
39
|
def create_backup(data)
|
data/lib/command/setting.rb
CHANGED
@@ -118,7 +118,7 @@ module Command
|
|
118
118
|
settings.each do |scope, scoped_settings|
|
119
119
|
stream_io.puts "[#{scope.capitalize} Variables]"
|
120
120
|
scoped_settings.each do |name, value|
|
121
|
-
if value =~ / /
|
121
|
+
if value.to_s =~ / /
|
122
122
|
value = "'#{value}'"
|
123
123
|
end
|
124
124
|
stream_io.puts "<bold><green>#{name}</green></bold>=#{value}".termcolor
|
data/lib/commandbase.rb
CHANGED
data/lib/commandline.rb
CHANGED
data/lib/converterbase.rb
CHANGED
@@ -995,7 +995,7 @@ class ConverterBase
|
|
995
995
|
# URL っぽい文字列を一旦別のIDに置き換えてあとで復元することで、変換処理の影響を受けさせない
|
996
996
|
#
|
997
997
|
def replace_url(data)
|
998
|
-
data.gsub!(URI.
|
998
|
+
data.gsub!(URI::DEFAULT_PARSER.make_regexp(%w(http https))) do |match|
|
999
999
|
@url_list << match
|
1000
1000
|
"[#URL=#{@url_list.size - 1}]"
|
1001
1001
|
end
|
data/lib/downloader.rb
CHANGED
@@ -89,7 +89,7 @@ class Downloader
|
|
89
89
|
#
|
90
90
|
def self.get_target_type(target)
|
91
91
|
case target
|
92
|
-
when URI.
|
92
|
+
when URI::DEFAULT_PARSER.make_regexp
|
93
93
|
:url
|
94
94
|
when /^n\d+[a-z]+$/i
|
95
95
|
target.downcase!
|
@@ -725,7 +725,7 @@ class Downloader
|
|
725
725
|
cookie = @setting["cookie"] || ""
|
726
726
|
open_uri_options = make_open_uri_options("Cookie" => cookie, allow_redirections: :safe)
|
727
727
|
begin
|
728
|
-
open(toc_url, open_uri_options) do |toc_fp|
|
728
|
+
URI.open(toc_url, open_uri_options) do |toc_fp|
|
729
729
|
if toc_fp.base_uri.to_s != toc_url
|
730
730
|
# リダイレクトされた場合。
|
731
731
|
# ノクターン・ムーンライトのNコードを ncode.syosetu.com に渡すと、年齢認証のクッションページに飛ばされる
|
@@ -1092,7 +1092,7 @@ class Downloader
|
|
1092
1092
|
save_raw_data(raw, subtitle_info, ".html")
|
1093
1093
|
%w(introduction postscript body).each { |type| @setting[type] = nil }
|
1094
1094
|
@setting.multi_match(raw, "body_pattern", "introduction_pattern", "postscript_pattern")
|
1095
|
-
element = { "data_type" => "html" }
|
1095
|
+
element = { "data_type" => @setting["data_type"] || "html" }
|
1096
1096
|
%w(introduction postscript body).each { |type|
|
1097
1097
|
element[type] = @setting[type].to_s
|
1098
1098
|
}
|
@@ -1132,7 +1132,7 @@ class Downloader
|
|
1132
1132
|
cookie = @setting["cookie"] || ""
|
1133
1133
|
begin
|
1134
1134
|
open_uri_options = make_open_uri_options("Cookie" => cookie, allow_redirections: :safe)
|
1135
|
-
open(url, "r:#{@setting["encoding"]}", open_uri_options) do |fp|
|
1135
|
+
URI.open(url, "r:#{@setting["encoding"]}", open_uri_options) do |fp|
|
1136
1136
|
raw = Helper.pretreatment_source(fp.read, @setting["encoding"])
|
1137
1137
|
end
|
1138
1138
|
rescue OpenURI::HTTPError, Errno::ECONNRESET, Errno::ETIMEDOUT, Net::OpenTimeout => e
|
data/lib/helper.rb
CHANGED
@@ -464,7 +464,7 @@ module Helper
|
|
464
464
|
fullpath = File.expand_path(path)
|
465
465
|
cache_data = @@caches[fullpath]
|
466
466
|
if Helper.file_latest?(fullpath) || !cache_data
|
467
|
-
body = File.read(fullpath, options)
|
467
|
+
body = File.read(fullpath, **options)
|
468
468
|
@@caches[fullpath] = body
|
469
469
|
return body
|
470
470
|
else
|
@@ -493,7 +493,7 @@ module Helper
|
|
493
493
|
key = generate_key(fullpath, block)
|
494
494
|
cache = @@result_caches[key]
|
495
495
|
if Helper.file_latest?(fullpath) || !cache
|
496
|
-
data = File.read(fullpath, options)
|
496
|
+
data = File.read(fullpath, **options)
|
497
497
|
@@result_caches[key] = result = block.call(data)
|
498
498
|
return result
|
499
499
|
else
|
data/lib/html.rb
CHANGED
data/lib/illustration.rb
CHANGED
@@ -27,7 +27,7 @@ class Illustration
|
|
27
27
|
source.gsub!(/[#挿絵((.+?))入る]/) do |match|
|
28
28
|
url = $1
|
29
29
|
url = "https:#{url}" if url.start_with?("//")
|
30
|
-
if url =~ URI.
|
30
|
+
if url =~ URI::DEFAULT_PARSER.make_regexp
|
31
31
|
path = download_image(url)
|
32
32
|
path ? block.call(make_illust_chuki(path)) : ""
|
33
33
|
else
|
@@ -53,7 +53,9 @@ class Illustration
|
|
53
53
|
if path = search_image(basename)
|
54
54
|
return path
|
55
55
|
end
|
56
|
-
|
56
|
+
|
57
|
+
url = transform_mitemin_url(url)
|
58
|
+
URI.open(url, make_open_uri_options(allow_redirections: :safe)) do |fp|
|
57
59
|
content_type = fp.meta["content-type"]
|
58
60
|
ext = MIME[content_type] or raise UnknownMIMEType, content_type
|
59
61
|
illust_abs_path = create_illust_path(basename) + "." + ext
|
@@ -77,6 +79,13 @@ class Illustration
|
|
77
79
|
Dir.glob(path)[0]
|
78
80
|
end
|
79
81
|
|
82
|
+
def transform_mitemin_url(url)
|
83
|
+
uri = URI.parse(url)
|
84
|
+
return url unless uri.host.end_with?(".mitemin.net")
|
85
|
+
|
86
|
+
url.sub("viewimagebig", "viewimage")
|
87
|
+
end
|
88
|
+
|
80
89
|
def create_illust_path(basename)
|
81
90
|
illust_abs_dir = File.join(@setting.archive_path, ILLUST_DIR)
|
82
91
|
Dir.mkdir(illust_abs_dir) unless File.exist?(illust_abs_dir)
|
data/lib/loadconverter.rb
CHANGED
@@ -8,10 +8,10 @@ require_relative "helper"
|
|
8
8
|
|
9
9
|
BlankConverter = Class.new(ConverterBase) {}
|
10
10
|
|
11
|
-
$
|
11
|
+
$latest_converter = nil
|
12
12
|
|
13
13
|
def converter(title, &block)
|
14
|
-
$
|
14
|
+
$latest_converter = Class.new(ConverterBase, &block)
|
15
15
|
end
|
16
16
|
|
17
17
|
#
|
@@ -61,11 +61,13 @@ end
|
|
61
61
|
def load_converter(title, archive_path)
|
62
62
|
converter_path = File.join(archive_path, "converter.rb")
|
63
63
|
if File.exist?(converter_path)
|
64
|
+
$latest_converter = nil
|
64
65
|
eval(File.read(converter_path, mode: "r:BOM|UTF-8"), binding, converter_path)
|
65
66
|
else
|
66
67
|
return BlankConverter
|
67
68
|
end
|
68
|
-
|
69
|
+
|
70
|
+
conv = $latest_converter
|
69
71
|
if conv
|
70
72
|
return conv
|
71
73
|
else
|
data/lib/narou.rb
CHANGED
data/lib/narou/api.rb
CHANGED
@@ -54,7 +54,7 @@ module Narou
|
|
54
54
|
|
55
55
|
def request_api(ncodes, limit = BATCH_LIMIT)
|
56
56
|
url = "#{@api_url}?gzip=#{GZIP_LEVEL}&ncode=#{ncodes.join("-")}&of=#{@of}&lim=#{limit}&out=json"
|
57
|
-
open(url) do |fp|
|
57
|
+
URI.open(url) do |fp|
|
58
58
|
data = Zlib::GzipReader.wrap(fp).read.force_encoding(Encoding::UTF_8)
|
59
59
|
results = JSON.parse(data)
|
60
60
|
return if results[0]["allcount"].zero?
|
data/lib/novelconverter.rb
CHANGED
@@ -457,8 +457,8 @@ class NovelConverter
|
|
457
457
|
processing_title = toc["title"]
|
458
458
|
processing_title += "_#{index}" if index
|
459
459
|
processed_title = decorate_title(processing_title)
|
460
|
-
|
461
|
-
Template.get(
|
460
|
+
template_name = (device && device.ibunko? ? NOVEL_TEXT_TEMPLATE_NAME_FOR_IBUNKO : NOVEL_TEXT_TEMPLATE_NAME)
|
461
|
+
Template.get(template_name, binding, 1.1)
|
462
462
|
end
|
463
463
|
|
464
464
|
#
|
@@ -698,15 +698,16 @@ class NovelConverter
|
|
698
698
|
if section["chapter"].length > 0
|
699
699
|
section["chapter"] = @converter.convert(section["chapter"], "chapter")
|
700
700
|
end
|
701
|
+
|
701
702
|
@inspector.subtitle = section["subtitle"]
|
702
703
|
section["subtitle"] = @converter.convert(section["subtitle"], "subtitle")
|
703
704
|
element = section["element"]
|
704
705
|
data_type = element.delete("data_type") || "text"
|
705
706
|
@converter.data_type = data_type
|
706
707
|
element.each do |text_type, elm_text|
|
707
|
-
if data_type
|
708
|
+
if data_type != "text"
|
708
709
|
html.string = elm_text
|
709
|
-
elm_text = html.to_aozora
|
710
|
+
elm_text = html.to_aozora(pre_html: data_type == "pre_html")
|
710
711
|
end
|
711
712
|
element[text_type] = @converter.convert(elm_text, text_type)
|
712
713
|
end
|
data/lib/novelinfo.rb
CHANGED
@@ -48,7 +48,7 @@ class NovelInfo
|
|
48
48
|
else
|
49
49
|
cookie = @setting["cookie"] || ""
|
50
50
|
open_uri_options = make_open_uri_options("Cookie" => cookie, allow_redirections: :safe)
|
51
|
-
open(info_url, open_uri_options) do |fp|
|
51
|
+
URI.open(info_url, open_uri_options) do |fp|
|
52
52
|
info_source = Helper.restore_entity(Helper.pretreatment_source(fp.read, @setting["encoding"]))
|
53
53
|
raise Downloader::DownloaderNotFoundError if Downloader.detect_error_message(@setting, info_source)
|
54
54
|
end
|
data/lib/sitesetting.rb
CHANGED
@@ -24,7 +24,7 @@ class SiteSetting
|
|
24
24
|
load_paths = [
|
25
25
|
Narou.script_dir.join(NOVEL_SITE_SETTING_DIR, "*.yaml"),
|
26
26
|
Narou.root_dir.join(NOVEL_SITE_SETTING_DIR, "*.yaml")
|
27
|
-
].uniq
|
27
|
+
].uniq
|
28
28
|
Dir.glob(load_paths) do |path|
|
29
29
|
setting = SiteSetting.load_file(path)
|
30
30
|
name = setting["name"]
|
data/lib/version.rb
CHANGED
data/lib/web/appserver.rb
CHANGED
@@ -835,8 +835,10 @@ class Narou::AppServer < Sinatra::Base
|
|
835
835
|
|
836
836
|
# ダウンロード登録すると同時にグレーのボタン画像を返す
|
837
837
|
get "/api/download4ssl" do
|
838
|
+
target = params["target"] or error("need a parameter: `target'")
|
839
|
+
opt_mail = "--mail" if query_to_boolean(params["mail"])
|
838
840
|
Narou::WebWorker.push do
|
839
|
-
CommandLine.run!("download",
|
841
|
+
CommandLine.run!("download", target, opt_mail)
|
840
842
|
@@push_server.send_all(:"table.reload")
|
841
843
|
end
|
842
844
|
redirect "/resources/images/dl_button1.gif"
|
data/lib/web/progressbar4web.rb
CHANGED
@@ -16,8 +16,8 @@ class ProgressBar
|
|
16
16
|
|
17
17
|
alias :original_initialize :initialize
|
18
18
|
|
19
|
-
def initialize(*args)
|
20
|
-
original_initialize(*args)
|
19
|
+
def initialize(*args, **opt)
|
20
|
+
original_initialize(*args, **opt)
|
21
21
|
@@push_server.send_all("progressbar.init" => { target_console: io.target_console })
|
22
22
|
end
|
23
23
|
|
data/narou.gemspec
CHANGED
@@ -32,16 +32,10 @@ Gem::Specification.new do |gem|
|
|
32
32
|
install_message = <<-EOS
|
33
33
|
#{"*" * 60}
|
34
34
|
|
35
|
-
3.
|
35
|
+
3.6.0: 2021/01/02
|
36
36
|
-----------------
|
37
37
|
#### 修正内容
|
38
|
-
- 3.
|
39
|
-
- **注意**
|
40
|
-
3.4.6 で更新した小説の目次データは壊れているので、そのまま 3.4.7 で更新する
|
41
|
-
と大量の再ダウンロードが発生します。目次データを復元するコマンドを用意した
|
42
|
-
のでそれを使用して下さい
|
43
|
-
- コマンドライン上で `narou restore346` を実行すると、壊れた目次データを復元
|
44
|
-
出来ます
|
38
|
+
- Ruby 3.0 に対応
|
45
39
|
|
46
40
|
#{"*" * 60}
|
47
41
|
EOS
|
@@ -57,16 +51,26 @@ Gem::Specification.new do |gem|
|
|
57
51
|
gem.add_runtime_dependency 'mail', '~> 2.6.0', '>= 2.6.6'
|
58
52
|
gem.add_runtime_dependency 'pony', '~> 1', '>= 1.11'
|
59
53
|
gem.add_runtime_dependency 'diff-lcs', '~> 1.2', '>= 1.2.5'
|
60
|
-
gem.add_runtime_dependency 'sinatra', '~>
|
61
|
-
gem.add_runtime_dependency 'sinatra-contrib', '~>
|
62
|
-
gem.add_runtime_dependency 'tilt', '~> 2.0', '>= 2.0.
|
63
|
-
gem.add_runtime_dependency '
|
64
|
-
gem.add_runtime_dependency 'haml', '
|
54
|
+
gem.add_runtime_dependency 'sinatra', '~> 2.0', '>= 2.0.8.1'
|
55
|
+
gem.add_runtime_dependency 'sinatra-contrib', '~> 2.0', '>= 2.0.8.1'
|
56
|
+
gem.add_runtime_dependency 'tilt', '~> 2.0', '>= 2.0.10'
|
57
|
+
gem.add_runtime_dependency 'sassc', '~> 2.4'
|
58
|
+
gem.add_runtime_dependency 'haml', '>= 5.1.2', '< 6'
|
65
59
|
gem.add_runtime_dependency 'memoist', '~> 0.11.0'
|
66
60
|
gem.add_runtime_dependency 'systemu', '~> 2.6', '>= 2.6.5'
|
67
61
|
gem.add_runtime_dependency 'erubis', '~> 2.7'
|
68
62
|
gem.add_runtime_dependency 'open_uri_redirections', '~> 0.2', '>= 0.2.1'
|
69
|
-
gem.add_runtime_dependency 'activesupport', '
|
63
|
+
gem.add_runtime_dependency 'activesupport', '>= 5.2', '< 7.0'
|
70
64
|
gem.add_runtime_dependency 'unicode-display_width', '~> 1.4'
|
65
|
+
gem.add_runtime_dependency 'webrick', '~> 1.7'
|
66
|
+
|
67
|
+
gem.add_development_dependency 'rspec', '~> 3.9'
|
68
|
+
gem.add_development_dependency 'rspec-retry', '~> 0.6'
|
69
|
+
gem.add_development_dependency 'rspec_junit_formatter', '~> 0.4'
|
70
|
+
gem.add_development_dependency 'timecop', '~> 0.9'
|
71
|
+
gem.add_development_dependency 'pry', '~> 0.12'
|
72
|
+
gem.add_development_dependency 'pry-byebug', '~> 3.8'
|
73
|
+
gem.add_development_dependency 'awesome_print', '~> 1.8'
|
74
|
+
gem.add_development_dependency 'simplecov', '~> 0.20'
|
71
75
|
end
|
72
76
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: narou
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- whiteleaf7
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: termcolorlight
|
@@ -34,22 +34,22 @@ dependencies:
|
|
34
34
|
name: rubyzip
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
- - ">="
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: 2.0.0
|
40
37
|
- - "~>"
|
41
38
|
- !ruby/object:Gem::Version
|
42
39
|
version: '2.0'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 2.0.0
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
|
-
- - ">="
|
48
|
-
- !ruby/object:Gem::Version
|
49
|
-
version: 2.0.0
|
50
47
|
- - "~>"
|
51
48
|
- !ruby/object:Gem::Version
|
52
49
|
version: '2.0'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 2.0.0
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: mail
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -116,40 +116,40 @@ dependencies:
|
|
116
116
|
requirements:
|
117
117
|
- - "~>"
|
118
118
|
- !ruby/object:Gem::Version
|
119
|
-
version: '
|
119
|
+
version: '2.0'
|
120
120
|
- - ">="
|
121
121
|
- !ruby/object:Gem::Version
|
122
|
-
version:
|
122
|
+
version: 2.0.8.1
|
123
123
|
type: :runtime
|
124
124
|
prerelease: false
|
125
125
|
version_requirements: !ruby/object:Gem::Requirement
|
126
126
|
requirements:
|
127
127
|
- - "~>"
|
128
128
|
- !ruby/object:Gem::Version
|
129
|
-
version: '
|
129
|
+
version: '2.0'
|
130
130
|
- - ">="
|
131
131
|
- !ruby/object:Gem::Version
|
132
|
-
version:
|
132
|
+
version: 2.0.8.1
|
133
133
|
- !ruby/object:Gem::Dependency
|
134
134
|
name: sinatra-contrib
|
135
135
|
requirement: !ruby/object:Gem::Requirement
|
136
136
|
requirements:
|
137
137
|
- - "~>"
|
138
138
|
- !ruby/object:Gem::Version
|
139
|
-
version: '
|
139
|
+
version: '2.0'
|
140
140
|
- - ">="
|
141
141
|
- !ruby/object:Gem::Version
|
142
|
-
version:
|
142
|
+
version: 2.0.8.1
|
143
143
|
type: :runtime
|
144
144
|
prerelease: false
|
145
145
|
version_requirements: !ruby/object:Gem::Requirement
|
146
146
|
requirements:
|
147
147
|
- - "~>"
|
148
148
|
- !ruby/object:Gem::Version
|
149
|
-
version: '
|
149
|
+
version: '2.0'
|
150
150
|
- - ">="
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
152
|
+
version: 2.0.8.1
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: tilt
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -159,7 +159,7 @@ dependencies:
|
|
159
159
|
version: '2.0'
|
160
160
|
- - ">="
|
161
161
|
- !ruby/object:Gem::Version
|
162
|
-
version: 2.0.
|
162
|
+
version: 2.0.10
|
163
163
|
type: :runtime
|
164
164
|
prerelease: false
|
165
165
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -169,47 +169,41 @@ dependencies:
|
|
169
169
|
version: '2.0'
|
170
170
|
- - ">="
|
171
171
|
- !ruby/object:Gem::Version
|
172
|
-
version: 2.0.
|
172
|
+
version: 2.0.10
|
173
173
|
- !ruby/object:Gem::Dependency
|
174
|
-
name:
|
174
|
+
name: sassc
|
175
175
|
requirement: !ruby/object:Gem::Requirement
|
176
176
|
requirements:
|
177
177
|
- - "~>"
|
178
178
|
- !ruby/object:Gem::Version
|
179
|
-
version: '
|
180
|
-
- - ">="
|
181
|
-
- !ruby/object:Gem::Version
|
182
|
-
version: 3.4.18
|
179
|
+
version: '2.4'
|
183
180
|
type: :runtime
|
184
181
|
prerelease: false
|
185
182
|
version_requirements: !ruby/object:Gem::Requirement
|
186
183
|
requirements:
|
187
184
|
- - "~>"
|
188
185
|
- !ruby/object:Gem::Version
|
189
|
-
version: '
|
190
|
-
- - ">="
|
191
|
-
- !ruby/object:Gem::Version
|
192
|
-
version: 3.4.18
|
186
|
+
version: '2.4'
|
193
187
|
- !ruby/object:Gem::Dependency
|
194
188
|
name: haml
|
195
189
|
requirement: !ruby/object:Gem::Requirement
|
196
190
|
requirements:
|
197
|
-
- - "~>"
|
198
|
-
- !ruby/object:Gem::Version
|
199
|
-
version: '4.0'
|
200
191
|
- - ">="
|
201
192
|
- !ruby/object:Gem::Version
|
202
|
-
version:
|
193
|
+
version: 5.1.2
|
194
|
+
- - "<"
|
195
|
+
- !ruby/object:Gem::Version
|
196
|
+
version: '6'
|
203
197
|
type: :runtime
|
204
198
|
prerelease: false
|
205
199
|
version_requirements: !ruby/object:Gem::Requirement
|
206
200
|
requirements:
|
207
|
-
- - "~>"
|
208
|
-
- !ruby/object:Gem::Version
|
209
|
-
version: '4.0'
|
210
201
|
- - ">="
|
211
202
|
- !ruby/object:Gem::Version
|
212
|
-
version:
|
203
|
+
version: 5.1.2
|
204
|
+
- - "<"
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
version: '6'
|
213
207
|
- !ruby/object:Gem::Dependency
|
214
208
|
name: memoist
|
215
209
|
requirement: !ruby/object:Gem::Requirement
|
@@ -282,16 +276,22 @@ dependencies:
|
|
282
276
|
name: activesupport
|
283
277
|
requirement: !ruby/object:Gem::Requirement
|
284
278
|
requirements:
|
285
|
-
- - "
|
279
|
+
- - ">="
|
286
280
|
- !ruby/object:Gem::Version
|
287
281
|
version: '5.2'
|
282
|
+
- - "<"
|
283
|
+
- !ruby/object:Gem::Version
|
284
|
+
version: '7.0'
|
288
285
|
type: :runtime
|
289
286
|
prerelease: false
|
290
287
|
version_requirements: !ruby/object:Gem::Requirement
|
291
288
|
requirements:
|
292
|
-
- - "
|
289
|
+
- - ">="
|
293
290
|
- !ruby/object:Gem::Version
|
294
291
|
version: '5.2'
|
292
|
+
- - "<"
|
293
|
+
- !ruby/object:Gem::Version
|
294
|
+
version: '7.0'
|
295
295
|
- !ruby/object:Gem::Dependency
|
296
296
|
name: unicode-display_width
|
297
297
|
requirement: !ruby/object:Gem::Requirement
|
@@ -306,6 +306,132 @@ dependencies:
|
|
306
306
|
- - "~>"
|
307
307
|
- !ruby/object:Gem::Version
|
308
308
|
version: '1.4'
|
309
|
+
- !ruby/object:Gem::Dependency
|
310
|
+
name: webrick
|
311
|
+
requirement: !ruby/object:Gem::Requirement
|
312
|
+
requirements:
|
313
|
+
- - "~>"
|
314
|
+
- !ruby/object:Gem::Version
|
315
|
+
version: '1.7'
|
316
|
+
type: :runtime
|
317
|
+
prerelease: false
|
318
|
+
version_requirements: !ruby/object:Gem::Requirement
|
319
|
+
requirements:
|
320
|
+
- - "~>"
|
321
|
+
- !ruby/object:Gem::Version
|
322
|
+
version: '1.7'
|
323
|
+
- !ruby/object:Gem::Dependency
|
324
|
+
name: rspec
|
325
|
+
requirement: !ruby/object:Gem::Requirement
|
326
|
+
requirements:
|
327
|
+
- - "~>"
|
328
|
+
- !ruby/object:Gem::Version
|
329
|
+
version: '3.9'
|
330
|
+
type: :development
|
331
|
+
prerelease: false
|
332
|
+
version_requirements: !ruby/object:Gem::Requirement
|
333
|
+
requirements:
|
334
|
+
- - "~>"
|
335
|
+
- !ruby/object:Gem::Version
|
336
|
+
version: '3.9'
|
337
|
+
- !ruby/object:Gem::Dependency
|
338
|
+
name: rspec-retry
|
339
|
+
requirement: !ruby/object:Gem::Requirement
|
340
|
+
requirements:
|
341
|
+
- - "~>"
|
342
|
+
- !ruby/object:Gem::Version
|
343
|
+
version: '0.6'
|
344
|
+
type: :development
|
345
|
+
prerelease: false
|
346
|
+
version_requirements: !ruby/object:Gem::Requirement
|
347
|
+
requirements:
|
348
|
+
- - "~>"
|
349
|
+
- !ruby/object:Gem::Version
|
350
|
+
version: '0.6'
|
351
|
+
- !ruby/object:Gem::Dependency
|
352
|
+
name: rspec_junit_formatter
|
353
|
+
requirement: !ruby/object:Gem::Requirement
|
354
|
+
requirements:
|
355
|
+
- - "~>"
|
356
|
+
- !ruby/object:Gem::Version
|
357
|
+
version: '0.4'
|
358
|
+
type: :development
|
359
|
+
prerelease: false
|
360
|
+
version_requirements: !ruby/object:Gem::Requirement
|
361
|
+
requirements:
|
362
|
+
- - "~>"
|
363
|
+
- !ruby/object:Gem::Version
|
364
|
+
version: '0.4'
|
365
|
+
- !ruby/object:Gem::Dependency
|
366
|
+
name: timecop
|
367
|
+
requirement: !ruby/object:Gem::Requirement
|
368
|
+
requirements:
|
369
|
+
- - "~>"
|
370
|
+
- !ruby/object:Gem::Version
|
371
|
+
version: '0.9'
|
372
|
+
type: :development
|
373
|
+
prerelease: false
|
374
|
+
version_requirements: !ruby/object:Gem::Requirement
|
375
|
+
requirements:
|
376
|
+
- - "~>"
|
377
|
+
- !ruby/object:Gem::Version
|
378
|
+
version: '0.9'
|
379
|
+
- !ruby/object:Gem::Dependency
|
380
|
+
name: pry
|
381
|
+
requirement: !ruby/object:Gem::Requirement
|
382
|
+
requirements:
|
383
|
+
- - "~>"
|
384
|
+
- !ruby/object:Gem::Version
|
385
|
+
version: '0.12'
|
386
|
+
type: :development
|
387
|
+
prerelease: false
|
388
|
+
version_requirements: !ruby/object:Gem::Requirement
|
389
|
+
requirements:
|
390
|
+
- - "~>"
|
391
|
+
- !ruby/object:Gem::Version
|
392
|
+
version: '0.12'
|
393
|
+
- !ruby/object:Gem::Dependency
|
394
|
+
name: pry-byebug
|
395
|
+
requirement: !ruby/object:Gem::Requirement
|
396
|
+
requirements:
|
397
|
+
- - "~>"
|
398
|
+
- !ruby/object:Gem::Version
|
399
|
+
version: '3.8'
|
400
|
+
type: :development
|
401
|
+
prerelease: false
|
402
|
+
version_requirements: !ruby/object:Gem::Requirement
|
403
|
+
requirements:
|
404
|
+
- - "~>"
|
405
|
+
- !ruby/object:Gem::Version
|
406
|
+
version: '3.8'
|
407
|
+
- !ruby/object:Gem::Dependency
|
408
|
+
name: awesome_print
|
409
|
+
requirement: !ruby/object:Gem::Requirement
|
410
|
+
requirements:
|
411
|
+
- - "~>"
|
412
|
+
- !ruby/object:Gem::Version
|
413
|
+
version: '1.8'
|
414
|
+
type: :development
|
415
|
+
prerelease: false
|
416
|
+
version_requirements: !ruby/object:Gem::Requirement
|
417
|
+
requirements:
|
418
|
+
- - "~>"
|
419
|
+
- !ruby/object:Gem::Version
|
420
|
+
version: '1.8'
|
421
|
+
- !ruby/object:Gem::Dependency
|
422
|
+
name: simplecov
|
423
|
+
requirement: !ruby/object:Gem::Requirement
|
424
|
+
requirements:
|
425
|
+
- - "~>"
|
426
|
+
- !ruby/object:Gem::Version
|
427
|
+
version: '0.20'
|
428
|
+
type: :development
|
429
|
+
prerelease: false
|
430
|
+
version_requirements: !ruby/object:Gem::Requirement
|
431
|
+
requirements:
|
432
|
+
- - "~>"
|
433
|
+
- !ruby/object:Gem::Version
|
434
|
+
version: '0.20'
|
309
435
|
description: 小説家になろうで公開されている小説の管理、及び電子書籍データへの変換を支援します。縦書用に特化されており、横書き用に特化されたWEB小説を違和感なく縦書で読むことが出来るようになります。
|
310
436
|
email:
|
311
437
|
- 2nd.leaf@gmail.com
|
@@ -549,16 +675,10 @@ metadata: {}
|
|
549
675
|
post_install_message: |
|
550
676
|
************************************************************
|
551
677
|
|
552
|
-
3.
|
678
|
+
3.6.0: 2021/01/02
|
553
679
|
-----------------
|
554
680
|
#### 修正内容
|
555
|
-
- 3.
|
556
|
-
- **注意**
|
557
|
-
3.4.6 で更新した小説の目次データは壊れているので、そのまま 3.4.7 で更新する
|
558
|
-
と大量の再ダウンロードが発生します。目次データを復元するコマンドを用意した
|
559
|
-
のでそれを使用して下さい
|
560
|
-
- コマンドライン上で `narou restore346` を実行すると、壊れた目次データを復元
|
561
|
-
出来ます
|
681
|
+
- Ruby 3.0 に対応
|
562
682
|
|
563
683
|
************************************************************
|
564
684
|
rdoc_options: []
|
@@ -575,7 +695,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
575
695
|
- !ruby/object:Gem::Version
|
576
696
|
version: '0'
|
577
697
|
requirements: []
|
578
|
-
rubygems_version: 3.
|
698
|
+
rubygems_version: 3.2.3
|
579
699
|
signing_key:
|
580
700
|
specification_version: 4
|
581
701
|
summary: Narou.rb ― 小説家になろうダウンローダ&縦書用整形スクリプト
|