narou 3.7.2 → 3.8.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ChangeLog.md +20 -0
- data/Gemfile.lock +18 -18
- data/README.md +2 -7
- data/commitversion +1 -1
- data/lib/downloader.rb +6 -0
- data/lib/extension.rb +1 -0
- data/lib/loadconverter.rb +3 -4
- data/lib/narou.rb +1 -1
- data/lib/novelconverter.rb +1 -1
- data/lib/version.rb +1 -1
- data/narou.gemspec +2 -7
- data/template/converter.rb.erb +1 -8
- data/webnovel/syosetu.org.yaml +2 -2
- metadata +4 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e639fd7c7a2808c632f85812866ca9614978e152f177eedc69c8559f515af525
|
4
|
+
data.tar.gz: 8b406a232555c9e0625ac261183ab1017ebef6a50f6602ed9d694fce29db1307
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9ec435fd5f1cd7b5f9c28a9a8e461450102e3083ebbbe04f4bcdc4cffcff1e5a90ef352a72c2f7c2d4e70f1bad1569403fc1c65309bee9e4e6137292ec19aaa3
|
7
|
+
data.tar.gz: 305f538e204dcdb0bb2ae02d5c8f770f40fd94e33913ab6b436de6db8d55f4ecb03e2cf8e22b03fcb3d14300031ec994e4ea4b094d7762a59dbeb0961f30055b
|
data/ChangeLog.md
CHANGED
@@ -1,6 +1,26 @@
|
|
1
1
|
更新履歴 - ChangeLog
|
2
2
|
====================
|
3
3
|
|
4
|
+
3.8.2: 2022/09/10
|
5
|
+
-----------------
|
6
|
+
#### 修正内容
|
7
|
+
- フォルダが存在しない場合に自動で作成する様に修正
|
8
|
+
|
9
|
+
|
10
|
+
3.8.1: 2021/12/27
|
11
|
+
-----------------
|
12
|
+
#### 修正内容
|
13
|
+
- ハーメルンのまえがき・あとがきが取得できなくなっていたのを修正
|
14
|
+
|
15
|
+
|
16
|
+
3.8.0: 2021/06/27
|
17
|
+
-----------------
|
18
|
+
#### 修正内容
|
19
|
+
- タイトル名もしくは作者名に特定の記号を使うことで任意のコードを実行できて
|
20
|
+
しまう問題を修正 [CVE-2021-35514]
|
21
|
+
- この問題を発見した RyotaK に感謝します
|
22
|
+
|
23
|
+
|
4
24
|
3.7.2: 2021/06/05
|
5
25
|
-----------------
|
6
26
|
#### 追加機能
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
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)
|
@@ -25,7 +25,7 @@ PATH
|
|
25
25
|
GEM
|
26
26
|
remote: https://rubygems.org/
|
27
27
|
specs:
|
28
|
-
activesupport (6.1.
|
28
|
+
activesupport (6.1.4)
|
29
29
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
30
30
|
i18n (>= 1.6, < 2)
|
31
31
|
minitest (>= 5.1)
|
@@ -34,13 +34,13 @@ GEM
|
|
34
34
|
awesome_print (1.8.0)
|
35
35
|
byebug (11.1.3)
|
36
36
|
coderay (1.1.3)
|
37
|
-
concurrent-ruby (1.1.
|
37
|
+
concurrent-ruby (1.1.9)
|
38
38
|
diff-lcs (1.4.4)
|
39
39
|
docile (1.3.5)
|
40
40
|
erubis (2.7.0)
|
41
|
-
ffi (1.
|
42
|
-
ffi (1.
|
43
|
-
haml (5.2.
|
41
|
+
ffi (1.15.3)
|
42
|
+
ffi (1.15.3-java)
|
43
|
+
haml (5.2.2)
|
44
44
|
temple (>= 0.8.0)
|
45
45
|
tilt
|
46
46
|
i18n (1.8.10)
|
@@ -52,7 +52,7 @@ GEM
|
|
52
52
|
method_source (1.0.0)
|
53
53
|
mime-types (3.3.1)
|
54
54
|
mime-types-data (~> 3.2015)
|
55
|
-
mime-types-data (3.2021.
|
55
|
+
mime-types-data (3.2021.0704)
|
56
56
|
minitest (5.14.4)
|
57
57
|
multi_json (1.15.0)
|
58
58
|
mustermann (1.1.1)
|
@@ -70,11 +70,11 @@ GEM
|
|
70
70
|
pry-byebug (3.9.0)
|
71
71
|
byebug (~> 11.0)
|
72
72
|
pry (~> 0.13.0)
|
73
|
-
psych (4.0.
|
74
|
-
psych (4.0.
|
73
|
+
psych (4.0.1)
|
74
|
+
psych (4.0.1-java)
|
75
75
|
jar-dependencies (>= 0.1.7)
|
76
|
-
rack (2.2.3)
|
77
|
-
rack-protection (2.
|
76
|
+
rack (2.2.3.1)
|
77
|
+
rack-protection (2.2.0)
|
78
78
|
rack
|
79
79
|
rspec (3.10.0)
|
80
80
|
rspec-core (~> 3.10.0)
|
@@ -93,8 +93,8 @@ GEM
|
|
93
93
|
rspec-support (3.10.1)
|
94
94
|
rspec_junit_formatter (0.4.1)
|
95
95
|
rspec-core (>= 2, < 4, != 2.12.0)
|
96
|
-
ruby2_keywords (0.0.
|
97
|
-
rubyzip (2.3.
|
96
|
+
ruby2_keywords (0.0.5)
|
97
|
+
rubyzip (2.3.2)
|
98
98
|
sassc (2.4.0)
|
99
99
|
ffi (~> 1.9)
|
100
100
|
simplecov (0.21.2)
|
@@ -103,16 +103,16 @@ GEM
|
|
103
103
|
simplecov_json_formatter (~> 0.1)
|
104
104
|
simplecov-html (0.12.3)
|
105
105
|
simplecov_json_formatter (0.1.2)
|
106
|
-
sinatra (2.
|
106
|
+
sinatra (2.2.0)
|
107
107
|
mustermann (~> 1.0)
|
108
108
|
rack (~> 2.2)
|
109
|
-
rack-protection (= 2.
|
109
|
+
rack-protection (= 2.2.0)
|
110
110
|
tilt (~> 2.0)
|
111
|
-
sinatra-contrib (2.
|
111
|
+
sinatra-contrib (2.2.0)
|
112
112
|
multi_json
|
113
113
|
mustermann (~> 1.0)
|
114
|
-
rack-protection (= 2.
|
115
|
-
sinatra (= 2.
|
114
|
+
rack-protection (= 2.2.0)
|
115
|
+
sinatra (= 2.2.0)
|
116
116
|
tilt (~> 2.0)
|
117
117
|
spoon (0.0.6)
|
118
118
|
ffi
|
data/README.md
CHANGED
@@ -34,15 +34,10 @@ Narou.rb - 小説家になろうのダウンローダ&縦書き整形&管理
|
|
34
34
|
更新履歴 - ChangeLog
|
35
35
|
--------------------
|
36
36
|
|
37
|
-
3.
|
37
|
+
3.8.2: 2022/09/10
|
38
38
|
-----------------
|
39
|
-
#### 追加機能
|
40
|
-
- folder コマンドに --no-open (-n) オプションを追加しました
|
41
|
-
|
42
39
|
#### 修正内容
|
43
|
-
-
|
44
|
-
- psych 4.0 からの非互換に対応
|
45
|
-
- その他軽微な修正
|
40
|
+
- フォルダが存在しない場合に自動で作成する様に修正
|
46
41
|
|
47
42
|
----
|
48
43
|
|
data/commitversion
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
4660df5
|
data/lib/downloader.rb
CHANGED
@@ -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?
|
@@ -1303,4 +1304,9 @@ class Downloader
|
|
1303
1304
|
Template.write(filename, novel_dir_path, binding, binary_version)
|
1304
1305
|
end
|
1305
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
|
1306
1312
|
end
|
data/lib/extension.rb
CHANGED
@@ -27,6 +27,7 @@ def File.write(path, string, *options, mode: nil)
|
|
27
27
|
return super if mode
|
28
28
|
|
29
29
|
dirpath = File.dirname(path)
|
30
|
+
FileUtils.makedirs(dirpath) unless Dir.exist?(dirpath)
|
30
31
|
temp_path = File.join(dirpath, SecureRandom.hex(15))
|
31
32
|
if File.extname(path) == ".yaml" && File.basename(dirpath) != Downloader::SECTION_SAVE_DIR_NAME
|
32
33
|
backup = "#{path}.backup"
|
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/narou.rb
CHANGED
data/lib/novelconverter.rb
CHANGED
@@ -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/version.rb
CHANGED
data/narou.gemspec
CHANGED
@@ -32,15 +32,10 @@ Gem::Specification.new do |gem|
|
|
32
32
|
install_message = <<-EOS
|
33
33
|
#{"*" * 60}
|
34
34
|
|
35
|
-
3.
|
35
|
+
3.8.2: 2022/09/10
|
36
36
|
-----------------
|
37
|
-
#### 追加機能
|
38
|
-
- folder コマンドに --no-open (-n) オプションを追加しました
|
39
|
-
|
40
37
|
#### 修正内容
|
41
|
-
-
|
42
|
-
- psych 4.0 からの非互換に対応
|
43
|
-
- その他軽微な修正
|
38
|
+
- フォルダが存在しない場合に自動で作成する様に修正
|
44
39
|
|
45
40
|
#{"*" * 60}
|
46
41
|
EOS
|
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.2
|
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: 2022-09-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: termcolorlight
|
@@ -709,15 +709,10 @@ metadata: {}
|
|
709
709
|
post_install_message: |
|
710
710
|
************************************************************
|
711
711
|
|
712
|
-
3.
|
712
|
+
3.8.2: 2022/09/10
|
713
713
|
-----------------
|
714
|
-
#### 追加機能
|
715
|
-
- folder コマンドに --no-open (-n) オプションを追加しました
|
716
|
-
|
717
714
|
#### 修正内容
|
718
|
-
-
|
719
|
-
- psych 4.0 からの非互換に対応
|
720
|
-
- その他軽微な修正
|
715
|
+
- フォルダが存在しない場合に自動で作成する様に修正
|
721
716
|
|
722
717
|
************************************************************
|
723
718
|
rdoc_options: []
|