narou 3.7.0 → 3.8.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 +4 -4
- data/.circleci/config.yml +1 -1
- data/ChangeLog.md +31 -1
- data/Gemfile.lock +18 -13
- data/README.md +2 -10
- data/commitversion +1 -1
- data/lib/command/browser.rb +1 -1
- data/lib/command/diff.rb +2 -2
- data/lib/command/folder.rb +6 -1
- data/lib/command/update/general_lastup_updater.rb +2 -1
- data/lib/device.rb +6 -7
- data/lib/downloader.rb +10 -3
- data/lib/helper.rb +1 -1
- data/lib/inventory.rb +2 -2
- data/lib/loadconverter.rb +3 -4
- data/lib/mailer.rb +1 -1
- data/lib/novelconverter.rb +2 -2
- data/lib/sitesetting.rb +1 -1
- data/lib/template.rb +1 -1
- data/lib/version.rb +1 -1
- data/lib/web/appserver.rb +4 -3
- data/narou.gemspec +3 -4
- data/template/converter.rb.erb +1 -8
- data/webnovel/syosetu.org.yaml +2 -2
- metadata +19 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b7b849e28b1d5b73d8a6b49cef02d0d8b3455183be6048f216e42fddc94d9276
|
|
4
|
+
data.tar.gz: a82088f960739322c405f13b3f11ea48f27baf097cdb71f993506e368ca2cde0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0f4336dc9843cadbef26401b0032f5fdbbd849d9d006822af47ad924c71c9fd4471f9589b08587310ab24c2bda73f60c955d2cd5804725fe54534d9d98ea3b33
|
|
7
|
+
data.tar.gz: 1beb301cf4bdf93fcdade10b79a558b304de8c42f04e37881a0d00f6a8b78e2ce414a0ac78e3c508c85dc933753335a357cd02d4de56e8ad1381e98a389c031b
|
data/.circleci/config.yml
CHANGED
data/ChangeLog.md
CHANGED
|
@@ -1,11 +1,41 @@
|
|
|
1
1
|
更新履歴 - ChangeLog
|
|
2
2
|
====================
|
|
3
3
|
|
|
4
|
+
3.8.1: 2021/12/27
|
|
5
|
+
-----------------
|
|
6
|
+
#### 修正内容
|
|
7
|
+
- ハーメルンのまえがき・あとがきが取得できなくなっていたのを修正
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
3.8.0: 2021/06/27
|
|
11
|
+
-----------------
|
|
12
|
+
#### 修正内容
|
|
13
|
+
- タイトル名もしくは作者名に特定の記号を使うことで任意のコードを実行できて
|
|
14
|
+
しまう問題を修正 [CVE-2021-35514]
|
|
15
|
+
- この問題を発見した RyotaK に感謝します
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
3.7.2: 2021/06/05
|
|
19
|
+
-----------------
|
|
20
|
+
#### 追加機能
|
|
21
|
+
- folder コマンドに --no-open (-n) オプションを追加しました
|
|
22
|
+
|
|
23
|
+
#### 修正内容
|
|
24
|
+
- gem update を行うとクラッシュする場合があったのを修正
|
|
25
|
+
- psych 4.0 からの非互換に対応
|
|
26
|
+
- その他軽微な修正
|
|
27
|
+
|
|
28
|
+
3.7.1: 2021/04/01
|
|
29
|
+
-----------------
|
|
30
|
+
#### 修正内容
|
|
31
|
+
- その他の小説の最新話掲載日を確認しようとするとクラッシュする不具合を修正
|
|
32
|
+
|
|
33
|
+
|
|
4
34
|
3.7.0: 2021/01/23
|
|
5
35
|
-----------------
|
|
6
36
|
#### 修正内容
|
|
7
37
|
- Apple Silicon 搭載 Mac でも動く様にライブラリをアップデート
|
|
8
|
-
- device を kobo に設定し、
|
|
38
|
+
- device を kobo に設定し、ebook-filename-length-limit でファイル名が制限され
|
|
9
39
|
た場合に send コマンドが正常に実行できない不具合を修正
|
|
10
40
|
|
|
11
41
|
3.6.0: 2021/01/02
|
data/Gemfile.lock
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
narou (3.
|
|
4
|
+
narou (3.8.0)
|
|
5
5
|
activesupport (>= 6.1, < 8.0)
|
|
6
6
|
diff-lcs (~> 1.2, >= 1.2.5)
|
|
7
7
|
erubis (~> 2.7)
|
|
8
|
-
ffi (>= 1.4.2)
|
|
8
|
+
ffi (~> 1.4, >= 1.4.2)
|
|
9
9
|
haml (>= 5.1.2, < 6)
|
|
10
10
|
mail (~> 2.6.0, >= 2.6.6)
|
|
11
11
|
memoist (~> 0.11.0)
|
|
12
12
|
open_uri_redirections (~> 0.2, >= 0.2.1)
|
|
13
13
|
pony (~> 1, >= 1.11)
|
|
14
|
+
psych (~> 4.0)
|
|
14
15
|
rubyzip (~> 2.0, >= 2.0.0)
|
|
15
16
|
sassc (~> 2.4)
|
|
16
17
|
sinatra (~> 2.0, >= 2.0.8.1)
|
|
@@ -24,7 +25,7 @@ PATH
|
|
|
24
25
|
GEM
|
|
25
26
|
remote: https://rubygems.org/
|
|
26
27
|
specs:
|
|
27
|
-
activesupport (6.1.
|
|
28
|
+
activesupport (6.1.4)
|
|
28
29
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
29
30
|
i18n (>= 1.6, < 2)
|
|
30
31
|
minitest (>= 5.1)
|
|
@@ -33,25 +34,26 @@ GEM
|
|
|
33
34
|
awesome_print (1.8.0)
|
|
34
35
|
byebug (11.1.3)
|
|
35
36
|
coderay (1.1.3)
|
|
36
|
-
concurrent-ruby (1.1.
|
|
37
|
+
concurrent-ruby (1.1.9)
|
|
37
38
|
diff-lcs (1.4.4)
|
|
38
39
|
docile (1.3.5)
|
|
39
40
|
erubis (2.7.0)
|
|
40
|
-
ffi (1.
|
|
41
|
-
ffi (1.
|
|
42
|
-
haml (5.2.
|
|
41
|
+
ffi (1.15.3)
|
|
42
|
+
ffi (1.15.3-java)
|
|
43
|
+
haml (5.2.2)
|
|
43
44
|
temple (>= 0.8.0)
|
|
44
45
|
tilt
|
|
45
|
-
i18n (1.8.
|
|
46
|
+
i18n (1.8.10)
|
|
46
47
|
concurrent-ruby (~> 1.0)
|
|
48
|
+
jar-dependencies (0.4.1)
|
|
47
49
|
mail (2.6.6)
|
|
48
50
|
mime-types (>= 1.16, < 4)
|
|
49
51
|
memoist (0.11.0)
|
|
50
52
|
method_source (1.0.0)
|
|
51
53
|
mime-types (3.3.1)
|
|
52
54
|
mime-types-data (~> 3.2015)
|
|
53
|
-
mime-types-data (3.
|
|
54
|
-
minitest (5.14.
|
|
55
|
+
mime-types-data (3.2021.0704)
|
|
56
|
+
minitest (5.14.4)
|
|
55
57
|
multi_json (1.15.0)
|
|
56
58
|
mustermann (1.1.1)
|
|
57
59
|
ruby2_keywords (~> 0.0.1)
|
|
@@ -68,6 +70,9 @@ GEM
|
|
|
68
70
|
pry-byebug (3.9.0)
|
|
69
71
|
byebug (~> 11.0)
|
|
70
72
|
pry (~> 0.13.0)
|
|
73
|
+
psych (4.0.1)
|
|
74
|
+
psych (4.0.1-java)
|
|
75
|
+
jar-dependencies (>= 0.1.7)
|
|
71
76
|
rack (2.2.3)
|
|
72
77
|
rack-protection (2.1.0)
|
|
73
78
|
rack
|
|
@@ -88,8 +93,8 @@ GEM
|
|
|
88
93
|
rspec-support (3.10.1)
|
|
89
94
|
rspec_junit_formatter (0.4.1)
|
|
90
95
|
rspec-core (>= 2, < 4, != 2.12.0)
|
|
91
|
-
ruby2_keywords (0.0.
|
|
92
|
-
rubyzip (2.3.
|
|
96
|
+
ruby2_keywords (0.0.5)
|
|
97
|
+
rubyzip (2.3.2)
|
|
93
98
|
sassc (2.4.0)
|
|
94
99
|
ffi (~> 1.9)
|
|
95
100
|
simplecov (0.21.2)
|
|
@@ -138,4 +143,4 @@ DEPENDENCIES
|
|
|
138
143
|
timecop (~> 0.9)
|
|
139
144
|
|
|
140
145
|
BUNDLED WITH
|
|
141
|
-
2.2.
|
|
146
|
+
2.2.15
|
data/README.md
CHANGED
|
@@ -34,18 +34,10 @@ Narou.rb - 小説家になろうのダウンローダ&縦書き整形&管理
|
|
|
34
34
|
更新履歴 - ChangeLog
|
|
35
35
|
--------------------
|
|
36
36
|
|
|
37
|
-
3.
|
|
37
|
+
3.8.1: 2021/12/27
|
|
38
38
|
-----------------
|
|
39
39
|
#### 修正内容
|
|
40
|
-
-
|
|
41
|
-
- device を kobo に設定し、_ebook-filename-length-limit でファイル名が制限され
|
|
42
|
-
た場合に send コマンドが正常に実行できない不具合を修正
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
3.6.0: 2021/01/02
|
|
46
|
-
-----------------
|
|
47
|
-
#### 修正内容
|
|
48
|
-
- Ruby 3.0 に対応
|
|
40
|
+
- ハーメルンのまえがき・あとがきが取得できなくなっていたのを修正
|
|
49
41
|
|
|
50
42
|
----
|
|
51
43
|
|
data/commitversion
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
1b07ae1
|
data/lib/command/browser.rb
CHANGED
|
@@ -45,7 +45,7 @@ module Command
|
|
|
45
45
|
if @options["vote"]
|
|
46
46
|
# TODO: 最新話の場所をAPIで取得する
|
|
47
47
|
data_dir = Downloader.get_novel_data_dir_by_target(data["id"])
|
|
48
|
-
latest_index = YAML.
|
|
48
|
+
latest_index = YAML.unsafe_load_file(File.join(data_dir, Downloader::TOC_FILE_NAME))["subtitles"].last["index"]
|
|
49
49
|
open_url = "#{toc_url + latest_index}/#my_novelpoint"
|
|
50
50
|
else
|
|
51
51
|
open_url = toc_url
|
data/lib/command/diff.rb
CHANGED
|
@@ -212,8 +212,8 @@ module Command
|
|
|
212
212
|
cache_sections = []
|
|
213
213
|
cache_section_list.each do |path|
|
|
214
214
|
match_latest_path = File.join(novel_dir, File.basename(path))
|
|
215
|
-
latest_novel_sections << YAML.
|
|
216
|
-
cache_sections << YAML.
|
|
215
|
+
latest_novel_sections << YAML.unsafe_load_file(match_latest_path) if File.exist?(match_latest_path)
|
|
216
|
+
cache_sections << YAML.unsafe_load_file(path)
|
|
217
217
|
end
|
|
218
218
|
|
|
219
219
|
novel_info = Database.instance[id]
|
data/lib/command/folder.rb
CHANGED
|
@@ -23,7 +23,12 @@ module Command
|
|
|
23
23
|
narou folder musyoku
|
|
24
24
|
narou folder 0
|
|
25
25
|
narou f 0
|
|
26
|
+
|
|
27
|
+
Options:
|
|
26
28
|
EOS
|
|
29
|
+
@opt.on("-n", "--no-open", "フォルダを開かずにパスだけ表示する") {
|
|
30
|
+
@options["no-open"] = true
|
|
31
|
+
}
|
|
27
32
|
end
|
|
28
33
|
|
|
29
34
|
def execute(argv)
|
|
@@ -33,7 +38,7 @@ module Command
|
|
|
33
38
|
argv.each do |target|
|
|
34
39
|
dir = Downloader.get_novel_data_dir_by_target(target)
|
|
35
40
|
if dir
|
|
36
|
-
Helper.open_directory(dir)
|
|
41
|
+
Helper.open_directory(dir) unless @options["no-open"]
|
|
37
42
|
puts dir
|
|
38
43
|
else
|
|
39
44
|
error "#{target} は存在しません"
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
# Copyright 2013 whiteleaf. All rights reserved.
|
|
5
5
|
#
|
|
6
6
|
|
|
7
|
+
require "net/http"
|
|
7
8
|
require_relative "../../narou/api"
|
|
8
9
|
|
|
9
10
|
module Command
|
|
@@ -63,7 +64,7 @@ module Command
|
|
|
63
64
|
interval.wait
|
|
64
65
|
begin
|
|
65
66
|
downloader = Downloader.new(id)
|
|
66
|
-
next unless downloader.get_latest_table_of_contents(through_error: true)
|
|
67
|
+
next unless downloader.get_latest_table_of_contents(downloader.load_toc_file, through_error: true)
|
|
67
68
|
dates = {
|
|
68
69
|
"novelupdated_at" => downloader.get_novelupdated_at,
|
|
69
70
|
"general_lastup" => downloader.get_general_lastup,
|
data/lib/device.rb
CHANGED
|
@@ -91,13 +91,12 @@ class Device
|
|
|
91
91
|
end
|
|
92
92
|
|
|
93
93
|
def eject
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
end
|
|
94
|
+
return unless ejectable?
|
|
95
|
+
|
|
96
|
+
Device.eject(@device_module::VOLUME_NAME)
|
|
97
|
+
yield if block_given?
|
|
98
|
+
rescue CantEject => e
|
|
99
|
+
error e.message
|
|
101
100
|
end
|
|
102
101
|
|
|
103
102
|
def self.support_eject?
|
data/lib/downloader.rb
CHANGED
|
@@ -157,7 +157,7 @@ class Downloader
|
|
|
157
157
|
# toc 読込
|
|
158
158
|
#
|
|
159
159
|
def self.get_toc_data(archive_path)
|
|
160
|
-
YAML.
|
|
160
|
+
YAML.unsafe_load_file(File.join(archive_path, TOC_FILE_NAME))
|
|
161
161
|
end
|
|
162
162
|
|
|
163
163
|
def self.get_toc_by_target(target)
|
|
@@ -778,6 +778,7 @@ class Downloader
|
|
|
778
778
|
@setting["story"] = story_html.to_aozora
|
|
779
779
|
end
|
|
780
780
|
@setting["info"] = info
|
|
781
|
+
replace_external_properties_of_setting
|
|
781
782
|
|
|
782
783
|
@setting["title"] = get_title
|
|
783
784
|
if series_novel?
|
|
@@ -801,6 +802,7 @@ class Downloader
|
|
|
801
802
|
raise if through_error # エラー処理はしなくていいからそのまま例外を受け取りたい時用
|
|
802
803
|
if e.message.include?("404")
|
|
803
804
|
@stream.error "小説が削除されているか非公開な可能性があります"
|
|
805
|
+
sleep_for_download
|
|
804
806
|
if database.novel_exists?(@id)
|
|
805
807
|
Command::Tag.execute!(%W(#{@id} --add 404 --color white --no-overwrite-color), io: Narou::NullIO.new)
|
|
806
808
|
Command::Freeze.execute!(@id, "--on")
|
|
@@ -1042,7 +1044,7 @@ class Downloader
|
|
|
1042
1044
|
def different_section?(old_relative_path, new_subtitle_info)
|
|
1043
1045
|
path = get_novel_data_dir.join(old_relative_path)
|
|
1044
1046
|
return true unless path.exist?
|
|
1045
|
-
YAML.
|
|
1047
|
+
YAML.unsafe_load_file(path)["element"] != new_subtitle_info["element"]
|
|
1046
1048
|
end
|
|
1047
1049
|
|
|
1048
1050
|
#
|
|
@@ -1267,7 +1269,7 @@ class Downloader
|
|
|
1267
1269
|
#
|
|
1268
1270
|
# 小説データの格納ディレクトリから読み込む
|
|
1269
1271
|
def load_novel_data(filename)
|
|
1270
|
-
YAML.
|
|
1272
|
+
YAML.unsafe_load_file(get_novel_data_dir.join(filename))
|
|
1271
1273
|
rescue Errno::ENOENT
|
|
1272
1274
|
nil
|
|
1273
1275
|
end
|
|
@@ -1302,4 +1304,9 @@ class Downloader
|
|
|
1302
1304
|
Template.write(filename, novel_dir_path, binding, binary_version)
|
|
1303
1305
|
end
|
|
1304
1306
|
end
|
|
1307
|
+
|
|
1308
|
+
def replace_external_properties_of_setting
|
|
1309
|
+
@setting["title"] = @setting["title"].delete("\r\n")
|
|
1310
|
+
@setting["author"] = @setting["author"].delete("\r\n")
|
|
1311
|
+
end
|
|
1305
1312
|
end
|
data/lib/helper.rb
CHANGED
|
@@ -375,7 +375,7 @@ module Helper
|
|
|
375
375
|
#
|
|
376
376
|
def erb_copy(src, dst, _binding)
|
|
377
377
|
data = File.read(src, mode: "r:BOM|UTF-8")
|
|
378
|
-
result = ERB.new(data,
|
|
378
|
+
result = ERB.new(data, trim_mode: "-").result(_binding)
|
|
379
379
|
File.write(dst, result)
|
|
380
380
|
end
|
|
381
381
|
|
data/lib/inventory.rb
CHANGED
|
@@ -44,13 +44,13 @@ module Inventory
|
|
|
44
44
|
return unless File.exist?(@inventory_file_path)
|
|
45
45
|
self.merge!(Helper::CacheLoader.memo(@inventory_file_path) { |yaml|
|
|
46
46
|
begin
|
|
47
|
-
YAML.
|
|
47
|
+
YAML.unsafe_load(yaml)
|
|
48
48
|
rescue Psych::SyntaxError
|
|
49
49
|
unless restore(@inventory_file_path)
|
|
50
50
|
error "#{@inventory_file_path} が壊れてるっぽい"
|
|
51
51
|
raise
|
|
52
52
|
end
|
|
53
|
-
YAML.
|
|
53
|
+
YAML.unsafe_load_file(@inventory_file_path)
|
|
54
54
|
end
|
|
55
55
|
})
|
|
56
56
|
end
|
data/lib/loadconverter.rb
CHANGED
|
@@ -10,7 +10,7 @@ BlankConverter = Class.new(ConverterBase) {}
|
|
|
10
10
|
|
|
11
11
|
$latest_converter = nil
|
|
12
12
|
|
|
13
|
-
def converter(
|
|
13
|
+
def converter(_title = nil, &block)
|
|
14
14
|
$latest_converter = Class.new(ConverterBase, &block)
|
|
15
15
|
end
|
|
16
16
|
|
|
@@ -58,7 +58,7 @@ end
|
|
|
58
58
|
# buffer
|
|
59
59
|
# end
|
|
60
60
|
# end
|
|
61
|
-
def load_converter(
|
|
61
|
+
def load_converter(archive_path)
|
|
62
62
|
converter_path = File.join(archive_path, "converter.rb")
|
|
63
63
|
if File.exist?(converter_path)
|
|
64
64
|
$latest_converter = nil
|
|
@@ -71,9 +71,8 @@ def load_converter(title, archive_path)
|
|
|
71
71
|
if conv
|
|
72
72
|
return conv
|
|
73
73
|
else
|
|
74
|
-
title_for_converter = (title =~ /.txt\z/ ? title : File.basename(archive_path))
|
|
75
74
|
error "converter.rbは見つかりましたが、`converter'で登録されていないようです。" +
|
|
76
|
-
"変換処理は converter
|
|
75
|
+
"変換処理は converter do ... end として登録する必要があります"
|
|
77
76
|
return BlankConverter
|
|
78
77
|
end
|
|
79
78
|
end
|
data/lib/mailer.rb
CHANGED
|
@@ -23,7 +23,7 @@ class Mailer
|
|
|
23
23
|
this.clear
|
|
24
24
|
setting_file_path = File.join(Narou.root_dir, SETTING_FILE)
|
|
25
25
|
if File.exist?(setting_file_path)
|
|
26
|
-
options = YAML.
|
|
26
|
+
options = YAML.unsafe_load_file(setting_file_path)
|
|
27
27
|
unless options.delete(:complete)
|
|
28
28
|
raise SettingUncompleteError, "設定ファイルの書き換えが終了していないようです。\n" +
|
|
29
29
|
"設定ファイルは #{setting_file_path} にあります"
|
data/lib/novelconverter.rb
CHANGED
|
@@ -436,7 +436,7 @@ class NovelConverter
|
|
|
436
436
|
def load_novel_section(subtitle_info, section_save_dir)
|
|
437
437
|
file_subtitle = subtitle_info["file_subtitle"] || subtitle_info["subtitle"] # 互換性維持のため
|
|
438
438
|
path = section_save_dir.join("#{subtitle_info["index"]} #{file_subtitle}.yaml")
|
|
439
|
-
YAML.
|
|
439
|
+
YAML.unsafe_load_file(path)
|
|
440
440
|
rescue Errno::ENOENT => e
|
|
441
441
|
stream_io.puts
|
|
442
442
|
stream_io.error(<<~MSG.termcolor)
|
|
@@ -568,7 +568,7 @@ class NovelConverter
|
|
|
568
568
|
# 各小説用の converter.rb 変換オブジェクトを生成
|
|
569
569
|
#
|
|
570
570
|
def create_converter
|
|
571
|
-
load_converter(@
|
|
571
|
+
load_converter(@setting.archive_path).new(@setting, @inspector, @illustration)
|
|
572
572
|
end
|
|
573
573
|
|
|
574
574
|
#
|
data/lib/sitesetting.rb
CHANGED
data/lib/template.rb
CHANGED
|
@@ -50,7 +50,7 @@ class Template
|
|
|
50
50
|
path = dir.join(TEMPLATE_DIR, src_filename + ".erb")
|
|
51
51
|
next unless path.exist?
|
|
52
52
|
src = Helper::CacheLoader.load(path)
|
|
53
|
-
result = ERB.new(src,
|
|
53
|
+
result = ERB.new(src, trim_mode: "-").result(_binding)
|
|
54
54
|
return result
|
|
55
55
|
end
|
|
56
56
|
raise LoadError, "テンプレートファイルが見つかりません。(#{src_filename}.erb)"
|
data/lib/version.rb
CHANGED
data/lib/web/appserver.rb
CHANGED
|
@@ -422,7 +422,7 @@ class Narou::AppServer < Sinatra::Base
|
|
|
422
422
|
postscripts_count = 0
|
|
423
423
|
toc["subtitles"].each do |sub|
|
|
424
424
|
begin
|
|
425
|
-
element = YAML.
|
|
425
|
+
element = YAML.unsafe_load_file(downloader.section_file_path(sub))["element"]
|
|
426
426
|
data_type = element["data_type"] || "text"
|
|
427
427
|
introduction = element["introduction"] || ""
|
|
428
428
|
postscript = element["postscript"] || ""
|
|
@@ -893,8 +893,9 @@ class Narou::AppServer < Sinatra::Base
|
|
|
893
893
|
post "/api/eject" do
|
|
894
894
|
do_eject = proc do
|
|
895
895
|
device = Narou.get_device
|
|
896
|
-
device
|
|
897
|
-
|
|
896
|
+
device&.eject do
|
|
897
|
+
puts "<bold><green>端末を取り外しました</green></bold>".termcolor
|
|
898
|
+
end
|
|
898
899
|
end
|
|
899
900
|
if params["enqueue"] == "true"
|
|
900
901
|
Narou::WebWorker.push do
|
data/narou.gemspec
CHANGED
|
@@ -32,12 +32,10 @@ Gem::Specification.new do |gem|
|
|
|
32
32
|
install_message = <<-EOS
|
|
33
33
|
#{"*" * 60}
|
|
34
34
|
|
|
35
|
-
3.
|
|
35
|
+
3.8.1: 2021/12/27
|
|
36
36
|
-----------------
|
|
37
37
|
#### 修正内容
|
|
38
|
-
-
|
|
39
|
-
- device を kobo に設定し、_ebook-filename-length-limit でファイル名が制限され
|
|
40
|
-
た場合に send コマンドが正常に実行できない不具合を修正
|
|
38
|
+
- ハーメルンのまえがき・あとがきが取得できなくなっていたのを修正
|
|
41
39
|
|
|
42
40
|
#{"*" * 60}
|
|
43
41
|
EOS
|
|
@@ -66,6 +64,7 @@ Gem::Specification.new do |gem|
|
|
|
66
64
|
gem.add_runtime_dependency 'activesupport', '>= 6.1', '< 8.0'
|
|
67
65
|
gem.add_runtime_dependency 'unicode-display_width', '~> 1.4'
|
|
68
66
|
gem.add_runtime_dependency 'webrick', '~> 1.7'
|
|
67
|
+
gem.add_runtime_dependency 'psych', '~> 4.0'
|
|
69
68
|
|
|
70
69
|
gem.add_development_dependency 'rspec', '~> 3.10'
|
|
71
70
|
gem.add_development_dependency 'rspec-retry', '~> 0.6'
|
data/template/converter.rb.erb
CHANGED
|
@@ -1,15 +1,8 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
<% Template.target_binary_version(1.0) -%>
|
|
3
3
|
|
|
4
|
-
#
|
|
5
|
-
# 対象小説情報
|
|
6
|
-
# タイトル: <%= @setting["title"] %>
|
|
7
|
-
# 作者: <%= @setting["author"] %>
|
|
8
|
-
# URL: <%= @setting["toc_url"] %>
|
|
9
|
-
#
|
|
10
4
|
# 詳細については http://bit.ly/1vTEH04 を参照して下さい
|
|
11
|
-
|
|
12
|
-
converter "<%= file_title.gsub('"', '\"') %>" do
|
|
5
|
+
converter do
|
|
13
6
|
# 各種変換処理がされる「前」の生データに対しての変換処理を記述
|
|
14
7
|
def before(io, text_type)
|
|
15
8
|
super
|
data/webnovel/syosetu.org.yaml
CHANGED
|
@@ -30,9 +30,9 @@ error_message: 投稿者が削除、もしくは間違ったアドレスを指
|
|
|
30
30
|
body_pattern: |-
|
|
31
31
|
<span style="font-size:120%">.+?</span><BR><BR>
|
|
32
32
|
(?<body>.+?)
|
|
33
|
-
(?:<div id=atogaki><
|
|
33
|
+
(?:<div id="atogaki"><br><hr><br>(?<postscript>.+?)</div>)?
|
|
34
34
|
|
|
35
|
-
introduction_pattern: <div id=maegaki>(?<introduction>.+)<
|
|
35
|
+
introduction_pattern: <div id="maegaki">(?<introduction>.+)<br><hr><br></div><
|
|
36
36
|
postscript_pattern: null
|
|
37
37
|
|
|
38
38
|
illust_current_url: null
|
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.8.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- whiteleaf7
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-12-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: termcolorlight
|
|
@@ -340,6 +340,20 @@ dependencies:
|
|
|
340
340
|
- - "~>"
|
|
341
341
|
- !ruby/object:Gem::Version
|
|
342
342
|
version: '1.7'
|
|
343
|
+
- !ruby/object:Gem::Dependency
|
|
344
|
+
name: psych
|
|
345
|
+
requirement: !ruby/object:Gem::Requirement
|
|
346
|
+
requirements:
|
|
347
|
+
- - "~>"
|
|
348
|
+
- !ruby/object:Gem::Version
|
|
349
|
+
version: '4.0'
|
|
350
|
+
type: :runtime
|
|
351
|
+
prerelease: false
|
|
352
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
353
|
+
requirements:
|
|
354
|
+
- - "~>"
|
|
355
|
+
- !ruby/object:Gem::Version
|
|
356
|
+
version: '4.0'
|
|
343
357
|
- !ruby/object:Gem::Dependency
|
|
344
358
|
name: rspec
|
|
345
359
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -695,12 +709,10 @@ metadata: {}
|
|
|
695
709
|
post_install_message: |
|
|
696
710
|
************************************************************
|
|
697
711
|
|
|
698
|
-
3.
|
|
712
|
+
3.8.1: 2021/12/27
|
|
699
713
|
-----------------
|
|
700
714
|
#### 修正内容
|
|
701
|
-
-
|
|
702
|
-
- device を kobo に設定し、_ebook-filename-length-limit でファイル名が制限され
|
|
703
|
-
た場合に send コマンドが正常に実行できない不具合を修正
|
|
715
|
+
- ハーメルンのまえがき・あとがきが取得できなくなっていたのを修正
|
|
704
716
|
|
|
705
717
|
************************************************************
|
|
706
718
|
rdoc_options: []
|
|
@@ -717,7 +729,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
717
729
|
- !ruby/object:Gem::Version
|
|
718
730
|
version: '0'
|
|
719
731
|
requirements: []
|
|
720
|
-
rubygems_version: 3.2.
|
|
732
|
+
rubygems_version: 3.2.15
|
|
721
733
|
signing_key:
|
|
722
734
|
specification_version: 4
|
|
723
735
|
summary: Narou.rb ― 小説家になろうダウンローダ&縦書用整形スクリプト
|