narou 3.2.5.1 → 3.3.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.

Files changed (131) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -5
  3. data/.haml-lint.yml +7 -0
  4. data/.rubocop.yml +23 -5
  5. data/.scss-lint.yml +9 -0
  6. data/ChangeLog.md +86 -0
  7. data/Gemfile.lock +35 -35
  8. data/README.md +80 -64
  9. data/lib/backtracer.rb +2 -2
  10. data/lib/color.rb +5 -1
  11. data/lib/command.rb +7 -2
  12. data/lib/command/alias.rb +3 -5
  13. data/lib/command/backup.rb +3 -5
  14. data/lib/command/browser.rb +3 -5
  15. data/lib/command/clean.rb +5 -1
  16. data/lib/command/console.rb +33 -0
  17. data/lib/command/convert.rb +143 -117
  18. data/lib/command/csv.rb +2 -1
  19. data/lib/command/diff.rb +20 -18
  20. data/lib/command/download.rb +25 -14
  21. data/lib/command/folder.rb +3 -5
  22. data/lib/command/freeze.rb +3 -5
  23. data/lib/command/help.rb +20 -18
  24. data/lib/command/init.rb +4 -3
  25. data/lib/command/inspect.rb +2 -1
  26. data/lib/command/list.rb +10 -8
  27. data/lib/command/list/novel_decorator.rb +2 -1
  28. data/lib/command/log.rb +100 -0
  29. data/lib/command/log/tail.rb +76 -0
  30. data/lib/command/mail.rb +20 -17
  31. data/lib/command/remove.rb +7 -6
  32. data/lib/command/send.rb +23 -20
  33. data/lib/command/setting.rb +74 -40
  34. data/lib/command/tag.rb +16 -15
  35. data/lib/command/trace.rb +2 -2
  36. data/lib/command/update.rb +78 -128
  37. data/lib/command/update/general_lastup_updater.rb +3 -2
  38. data/lib/command/update/hotentry_manager.rb +2 -1
  39. data/lib/command/update/interval.rb +2 -1
  40. data/lib/command/version.rb +2 -1
  41. data/lib/command/web.rb +17 -3
  42. data/lib/commandbase.rb +34 -7
  43. data/lib/commandline.rb +54 -35
  44. data/lib/converterbase.rb +21 -15
  45. data/lib/database.rb +3 -2
  46. data/lib/device.rb +5 -4
  47. data/lib/device/epub.rb +2 -1
  48. data/lib/device/ibooks.rb +2 -1
  49. data/lib/device/ibunko.rb +2 -1
  50. data/lib/device/kindle.rb +2 -1
  51. data/lib/device/kobo.rb +2 -1
  52. data/lib/device/library/cygwin.rb +2 -1
  53. data/lib/device/library/linux.rb +2 -1
  54. data/lib/device/library/mac.rb +2 -1
  55. data/lib/device/library/windows.rb +2 -1
  56. data/lib/device/library/windows/eject.rb +2 -1
  57. data/lib/device/reader.rb +2 -1
  58. data/lib/diffviewer.rb +8 -11
  59. data/lib/downloader.rb +159 -151
  60. data/lib/eventable.rb +2 -1
  61. data/lib/extension.rb +16 -14
  62. data/lib/extensions/jruby.rb +2 -1
  63. data/lib/extensions/monkey_patches.rb +7 -0
  64. data/lib/extensions/monkey_patches/pathname.rb +22 -0
  65. data/lib/extensions/windows.rb +2 -1
  66. data/lib/extensions/windows_write_color.rb +2 -1
  67. data/lib/helper.rb +35 -20
  68. data/lib/html.rb +2 -1
  69. data/lib/illustration.rb +2 -1
  70. data/lib/ini.rb +2 -1
  71. data/lib/input.rb +2 -1
  72. data/lib/inspector.rb +3 -2
  73. data/lib/inventory.rb +3 -3
  74. data/lib/mailer.rb +3 -2
  75. data/lib/mixin/all.rb +8 -0
  76. data/lib/mixin/locker.rb +40 -0
  77. data/lib/mixin/output_error.rb +28 -0
  78. data/lib/narou.rb +69 -51
  79. data/lib/narou/api.rb +2 -4
  80. data/lib/narou_logger.rb +236 -108
  81. data/lib/novelconverter.rb +77 -69
  82. data/lib/novelinfo.rb +4 -2
  83. data/lib/novelsetting.rb +15 -12
  84. data/lib/progressbar.rb +13 -9
  85. data/lib/sitesetting.rb +39 -18
  86. data/lib/template.rb +5 -4
  87. data/lib/version.rb +3 -2
  88. data/lib/web/all.rb +2 -1
  89. data/lib/web/appserver.rb +83 -65
  90. data/lib/web/helper4web.rb +10 -5
  91. data/lib/web/progressbar4web.rb +8 -4
  92. data/lib/web/public/resources/default-style.css +2 -3
  93. data/lib/web/public/resources/narou.library.js +86 -60
  94. data/lib/web/public/resources/narou.queue.js +24 -30
  95. data/lib/web/public/resources/narou.ui.js +22 -3
  96. data/lib/web/public/theme/Cerulean/style.css +5 -5
  97. data/lib/web/public/theme/Darkly/style.css +5 -5
  98. data/lib/web/public/theme/Readable/style.css +5 -5
  99. data/lib/web/public/theme/Slate/style.css +2 -3
  100. data/lib/web/public/theme/Superhero/style.css +2 -3
  101. data/lib/web/public/theme/United/style.css +5 -5
  102. data/lib/web/pushserver.rb +10 -7
  103. data/lib/web/server_helpers.rb +16 -1
  104. data/lib/web/settingmessages.rb +10 -7
  105. data/lib/web/streaminginput.rb +2 -1
  106. data/lib/web/streaminglogger.rb +45 -32
  107. data/lib/web/views/_about.haml +6 -3
  108. data/lib/web/views/_header.haml +2 -3
  109. data/lib/web/views/_move_to_top.haml +2 -0
  110. data/lib/web/views/_queue.haml +7 -0
  111. data/lib/web/views/bookmarklet/insert_button.js.erb +1 -1
  112. data/lib/web/views/index.haml +30 -27
  113. data/lib/web/views/layout.haml +2 -0
  114. data/lib/web/views/novels/setting.haml +3 -4
  115. data/lib/web/views/settings.haml +22 -8
  116. data/lib/web/views/style.scss +54 -3
  117. data/lib/web/views/widget/download.haml +9 -3
  118. data/lib/web/views/widget/drag_and_drop.haml +10 -4
  119. data/lib/web/web_worker.rb +132 -0
  120. data/lib/worker.rb +142 -0
  121. data/narou.gemspec +80 -45
  122. data/narou.rb +6 -4
  123. data/template/novel.txt.erb +1 -0
  124. data/webnovel/kakuyomu.jp.yaml +9 -13
  125. data/webnovel/ncode.syosetu.com.yaml +3 -1
  126. data/webnovel/novel18.syosetu.com.yaml +8 -1
  127. data/webnovel/syosetu.org.yaml +3 -1
  128. data/webnovel/www.akatsuki-novels.com.yaml +4 -2
  129. data/webnovel/www.mai-net.net.yaml +3 -1
  130. metadata +109 -48
  131. data/lib/web/worker.rb +0 -126
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5d8f4654871a4c05f66192f46ec3eb2db8007200c38a6b8a1fff81b1472a3878
4
- data.tar.gz: b6511c48be1cba23130325e94668425175fd93efb649c1b22e999ece36e10437
3
+ metadata.gz: 5d831317cdab7a1fdd473270ed461b4bde77e78d77f500f8fa2c886e29dfd1b2
4
+ data.tar.gz: cc641276d0e0df6cdc7cc07ad9ef6d9d55379493c6cda937222469eb5f002a36
5
5
  SHA512:
6
- metadata.gz: 30a2c1c79e6bab81d10bbd2951f48cd387aad7312bc98c08a1787e058643a3a892e3eecd25f180f6ea7243bd8feb4915435714fcb39c35c0a5b55afbeb6a7bef
7
- data.tar.gz: ba867abdf7bbf2f4558f2a59f31f0794d60984ee73240481929c0788c2cd0dac1b16f9fbe322584bd2fdc9649ad33483e307526cf04818c0220e9fcf1675e169
6
+ metadata.gz: bf42bfb6fcb60532bfd2b1bd34f5bfa70ef98c789e857631bfd61ab43c6e16ba11f859cece97940a0bc92332f8e35c5b9199d1caf75088905d99c6e75c8a61cd
7
+ data.tar.gz: cd3f64b1da5ddd56553a11581227f1e28d5dca2a2490370688dc163daad503df33075cf37ade6804767d6275fe2cdd94c4f93c7b9d81fa5e59a55c458c98bf59
data/.gitignore CHANGED
@@ -24,22 +24,19 @@ debug
24
24
  trash/
25
25
  .ruby-version
26
26
  .sass-cache/
27
- log/
27
+ log/**/*
28
28
  misc/
29
29
  hotentry/
30
30
  replace.txt
31
31
  tags
32
32
  trace_dump.txt
33
-
34
33
  \#*\#
35
-
36
34
  archive
37
35
  commitversion
38
-
39
36
  .test_dot_narou/
40
37
  .test_novel_data/
41
-
42
38
  mail_setting.yaml
39
+ .byebug_history
43
40
 
44
41
  #
45
42
  # for gem
@@ -0,0 +1,7 @@
1
+ linters:
2
+ LineLength:
3
+ max: 140
4
+ HtmlAttributes:
5
+ enabled: false
6
+ ClassesBeforeIds:
7
+ EnforcedStyle: 'id'
@@ -19,7 +19,10 @@ Metrics/ModuleLength:
19
19
  Max: 300
20
20
 
21
21
  Metrics/AbcSize:
22
- Max: 30
22
+ Max: 40
23
+
24
+ Metrics/BlockLength:
25
+ Max: 40
23
26
 
24
27
  Metrics/BlockNesting:
25
28
  Max: 3
@@ -82,9 +85,6 @@ Style/Documentation:
82
85
  Style/DoubleNegation:
83
86
  Enabled: false
84
87
 
85
- Style/FormatString:
86
- EnforcedStyle: percent
87
-
88
88
  # 後置 if/unless を使わないほうがわかりやすい場合もある
89
89
  Style/IfUnlessModifier:
90
90
  Enabled: false
@@ -216,10 +216,28 @@ Layout/EmptyLinesAroundClassBody:
216
216
  Enabled: false
217
217
 
218
218
  Style/FrozenStringLiteralComment:
219
- Enabled: false
219
+ Enabled: true
220
220
 
221
221
  Layout/MultilineOperationIndentation:
222
222
  Enabled: false
223
223
 
224
224
  Layout/IndentHeredoc:
225
+ Enabled: true
226
+
227
+ Style/NumericPredicate:
228
+ Enabled: false
229
+
230
+ Lint/HandleExceptions:
231
+ Enabled: false
232
+
233
+ Lint/RescueException:
234
+ Enabled: false
235
+
236
+ Lint/EmptyWhen:
237
+ Enabled: false
238
+
239
+ Style/FormatStringToken:
240
+ EnforcedStyle: unannotated
241
+
242
+ Layout/EmptyLineAfterGuardClause:
225
243
  Enabled: false
@@ -0,0 +1,9 @@
1
+ linters:
2
+ SelectorFormat:
3
+ enabled: false
4
+
5
+ EmptyRule:
6
+ enabled: false
7
+
8
+ PropertySortOrder:
9
+ enabled: false
@@ -1,6 +1,92 @@
1
1
  更新履歴 - ChangeLog
2
2
  ====================
3
3
 
4
+ 3.3.0: 2018/09/22
5
+ ------------------
6
+ #### 追加機能
7
+ - ダウンロード(や更新)と変換の同時実行が可能になりました
8
+ + 環境設定の concurrency オプションを有効にすることで使用可能になります
9
+ + 大規模な変更なので、不安定な恐れあり。使う場合はバックアップを万全に
10
+ + 有効にすると表示されるログの出力形式が変更されます。CUI では特殊な形式に
11
+ なり、WEB UIではコンソールが物理的に2つになります。CUI の表示については
12
+ concurrency.format-queue-style で調整出来ます。詳細は narou s -h を参照
13
+ + アップデート時の変換を中断した場合に、次回更新時に変換を再試行する機能が
14
+ concurrency が有効な場合は動きません。これは現時点では仕様です
15
+
16
+ - ログが保存出来るようになりました
17
+ + 環境設定 logging オプションを追加しました。有効にすることでほぼすべての
18
+ ログを保存します
19
+ * diff や list コマンド、ヘルプなどの、出力が多く表示すること自体が目的の
20
+ 一部コマンドの出力はログには保存しません
21
+ * ログのフォーマットとしてlogging.format-filename, logging.format-timestamp
22
+ も追加されています。詳細は narou s -h を参照
23
+ * concurrency が有効な場合、通常ログと変換ログに分けられます。通常ログの
24
+ ファイル名が 20180831.txt だった場合、変換ログは 20180831_convert.txt に
25
+ 保存されます(log コマンドで簡単に表示できます)
26
+ + log コマンドを実装しました。logging オプションで保存されるログを表示する
27
+ ことが出来ます。tail -f のようなストリーミング機能も付いています。詳細は
28
+ narou log -h を参照
29
+ * concurrency で更新と変換を同時実行中は基本的に更新のログだけ表示されるの
30
+ で、コンソールを分割して片方で narou update を実行して更新ログを表示して
31
+ もう片方で narou log -ct で変換ログを垂れ流すみたいな使い方を想定
32
+
33
+ - ダウンロードを中断しても、再開(レジューム)出来るようになりました
34
+ + download で新規小説をダウンロードしていたのを中断した場合は、updateコマンド
35
+ で再開出来ます(再開部分は新着扱いになります)
36
+ + この仕様追加の影響で、今までは新規ダウンロードを中断した場合は(ネットワーク
37
+ エラーや手動など手段問わず)データベースに登録されなかったのが、登録される
38
+ 様になりました
39
+ + 中断した小説は変換ができません。update で再開して最後までDLしきってください
40
+
41
+ - 環境設定に folder-length-limit を追加しました。小説を格納するフォルダ名の長さ
42
+ 制限を設定出来ます。(デフォルトでは50文字)
43
+ + この設定を変更しても既存小説には影響はありません
44
+
45
+ - 環境設定に filename-length-limit を追加しました。各話ファイルを保存する際の
46
+ 長さ制限を設定出来ます。(デフォルトでは50文字)
47
+ + 既存小説のアップデートにも影響が出るので、50文字でも長すぎてエラーが出る
48
+ 場合のみ変更を強く推奨
49
+
50
+ #### WEB UI
51
+ - コンソールに「全ての履歴を取得」ボタンを追加しました
52
+ + 普段はリロードしたら直近の履歴以外は表示されませんが(読み込み負荷軽減の為)
53
+ それを全て再表示する機能です。履歴はログ削除ボタンを押した場合に表示と共に
54
+ 一緒にクリアされます
55
+ - 個別メニューから変換などを実行した際に表示されるサブコンソールを廃止しました
56
+ - 右下にページ上部へスクロールするアイコンを設置
57
+ - 環境設定ページに「サーバを再起動」ボタンを設置
58
+ - Send のサブメニューに「端末の栞データをバックアップ」を追加
59
+ + device が kindle の時のみ表示
60
+
61
+ #### 仕様変更
62
+ - 環境設定の update.logging を廃止しました。それに合わせて update コマンドの
63
+ --log オプションも削除しました。ログの保存は logging に統合されます
64
+ - 更新を中断した場合でも、そこまでの新着に関しては hotentry を生成するように
65
+ なりました
66
+ - カクヨムの小説を保存する時に格納フォルダにタイトルも含めるように変更しました
67
+ - ノクターンノベルズ、ムーンライトノベルズ、ミッドナイトノベルズの各作品は、
68
+ 掲載サイト名をそれぞれ区別するようになりました。これに合わせて格納先フォルダ
69
+ もそれぞれのサイトごとに分けられます
70
+ + すでにダウンロード済みの小説には影響はありません
71
+ - 上記ふたつの仕様変更に関して、以前と同じ設定に戻すには webnovel フォルダ下に
72
+ 設定上書き用のデータを用意することで実現可能です。
73
+ 詳細は http://bit.ly/overwrite_webnovel を参照してください
74
+
75
+ #### 修正内容
76
+ - カクヨムの作品の完結済みが取得できなくなっていた
77
+ - 完結状態を取得できなかった場合、end タグを勝手に削除しない様に調整
78
+ - 暁の作品の非公開状態が取得できなくなっていた
79
+ - diff コマンドに存在しない小説を指定するとエラーが出ていた
80
+ - convert コマンドに存在しない小説を指定するとエラーが出ていた
81
+ - WEB UI サーバを Ctrl+C で終了時にエラーが出ていた
82
+ - WEB UI で小説を大量に選択し「選択したタグを編集」を実行するとエラーが出ていた
83
+ - 各話DL時にタイムアウトした時にまだエラーが出ていた
84
+ - 特定の小説でファイル名を短くする処理が動いていなかった
85
+ - disable_alphabet_word_to_zenkaku を有効にすると挿絵が正常に埋め込めなくなる
86
+ 場合があった
87
+ - データ書き込み時の安定性向上
88
+
89
+
4
90
  3.2.5.1: 2018/08/21
5
91
  ------------------
6
92
  #### 修正内容
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- narou (3.2.4)
4
+ narou (3.3.0)
5
5
  activesupport (~> 5.2)
6
6
  diff-lcs (~> 1.2, >= 1.2.5)
7
7
  erubis (~> 2.7)
@@ -17,37 +17,37 @@ PATH
17
17
  systemu (~> 2.6, >= 2.6.5)
18
18
  termcolorlight (~> 1.0, >= 1.1.1)
19
19
  tilt (~> 2.0, >= 2.0.1)
20
+ unicode-display_width (~> 1.4)
20
21
 
21
22
  GEM
22
23
  remote: https://rubygems.org/
23
24
  specs:
24
- activesupport (5.2.0)
25
+ activesupport (5.2.1)
25
26
  concurrent-ruby (~> 1.0, >= 1.0.2)
26
27
  i18n (>= 0.7, < 2)
27
28
  minitest (~> 5.1)
28
29
  tzinfo (~> 1.1)
29
30
  awesome_print (1.8.0)
30
- backports (3.11.3)
31
- better_errors (2.3.0)
31
+ backports (3.11.4)
32
+ better_errors (2.5.0)
32
33
  coderay (>= 1.0.0)
33
34
  erubi (>= 1.0.0)
34
35
  rack (>= 0.9.0)
35
- binding_of_caller (0.7.2)
36
+ binding_of_caller (0.8.0)
36
37
  debug_inspector (>= 0.0.1)
37
- byebug (9.1.0)
38
+ byebug (10.0.2)
38
39
  coderay (1.1.2)
39
40
  concurrent-ruby (1.0.5)
40
- concurrent-ruby (1.0.5-java)
41
41
  debug_inspector (0.0.3)
42
42
  diff-lcs (1.3)
43
43
  docile (1.3.1)
44
- erubi (1.6.1)
44
+ erubi (1.7.1)
45
45
  erubis (2.7.0)
46
- ffi (1.9.18)
47
- ffi (1.9.18-java)
46
+ ffi (1.9.25)
47
+ ffi (1.9.25-java)
48
48
  haml (4.0.7)
49
49
  tilt
50
- i18n (1.0.1)
50
+ i18n (1.1.0)
51
51
  concurrent-ruby (~> 1.0)
52
52
  json (2.1.0)
53
53
  json (2.1.0-java)
@@ -55,51 +55,51 @@ GEM
55
55
  mime-types (>= 1.16, < 4)
56
56
  memoist (0.11.0)
57
57
  method_source (0.9.0)
58
- mime-types (3.1)
58
+ mime-types (3.2.2)
59
59
  mime-types-data (~> 3.2015)
60
- mime-types-data (3.2016.0521)
60
+ mime-types-data (3.2018.0812)
61
61
  minitest (5.11.3)
62
62
  multi_json (1.13.1)
63
63
  open_uri_redirections (0.2.1)
64
64
  pony (1.12)
65
65
  mail (>= 2.0)
66
- pry (0.11.1)
66
+ pry (0.11.3)
67
67
  coderay (~> 1.1.0)
68
68
  method_source (~> 0.9.0)
69
- pry (0.11.1-java)
69
+ pry (0.11.3-java)
70
70
  coderay (~> 1.1.0)
71
71
  method_source (~> 0.9.0)
72
72
  spoon (~> 0.0)
73
- pry-byebug (3.5.0)
74
- byebug (~> 9.1)
73
+ pry-byebug (3.6.0)
74
+ byebug (~> 10.0)
75
75
  pry (~> 0.10)
76
- rack (1.6.8)
76
+ rack (1.6.10)
77
77
  rack-protection (1.5.5)
78
78
  rack
79
- rack-test (1.0.0)
79
+ rack-test (1.1.0)
80
80
  rack (>= 1.0, < 3)
81
81
  rb-fsevent (0.10.3)
82
82
  rb-inotify (0.9.10)
83
83
  ffi (>= 0.5.0, < 2)
84
- rspec (3.6.0)
85
- rspec-core (~> 3.6.0)
86
- rspec-expectations (~> 3.6.0)
87
- rspec-mocks (~> 3.6.0)
88
- rspec-core (3.6.0)
89
- rspec-support (~> 3.6.0)
90
- rspec-expectations (3.6.0)
84
+ rspec (3.8.0)
85
+ rspec-core (~> 3.8.0)
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.1)
91
91
  diff-lcs (>= 1.2.0, < 2.0)
92
- rspec-support (~> 3.6.0)
93
- rspec-mocks (3.6.0)
92
+ rspec-support (~> 3.8.0)
93
+ rspec-mocks (3.8.0)
94
94
  diff-lcs (>= 1.2.0, < 2.0)
95
- rspec-support (~> 3.6.0)
96
- rspec-retry (0.5.5)
97
- rspec-core (> 3.3, < 3.7)
98
- rspec-support (3.6.0)
95
+ rspec-support (~> 3.8.0)
96
+ rspec-retry (0.6.1)
97
+ rspec-core (> 3.3)
98
+ rspec-support (3.8.0)
99
99
  rspec_junit_formatter (0.4.1)
100
100
  rspec-core (>= 2, < 4, != 2.12.0)
101
- rubyzip (1.2.1)
102
- sass (3.5.6)
101
+ rubyzip (1.2.2)
102
+ sass (3.5.7)
103
103
  sass-listen (~> 4.0.0)
104
104
  sass-listen (4.0.0)
105
105
  rb-fsevent (~> 0.9, >= 0.9.4)
@@ -125,11 +125,11 @@ GEM
125
125
  systemu (2.6.5)
126
126
  termcolorlight (1.1.1)
127
127
  thread_safe (0.3.6)
128
- thread_safe (0.3.6-java)
129
128
  tilt (2.0.8)
130
129
  timecop (0.9.1)
131
130
  tzinfo (1.2.5)
132
131
  thread_safe (~> 0.1)
132
+ unicode-display_width (1.4.0)
133
133
 
134
134
  PLATFORMS
135
135
  java
data/README.md CHANGED
@@ -33,74 +33,90 @@ Narou.rb ― 「小説家になろう」「小説を読もう!」ダウンロ
33
33
  更新履歴 - ChangeLog
34
34
  --------------------
35
35
 
36
- 3.2.5.1: 2018/08/21
37
- ------------------
38
- #### 修正内容
39
- - WEB UI の小説リストの幅が、一部項目で極端にでかくなる場合があるのを修正
40
-
41
-
42
- 3.2.5: 2018/08/21
43
- ------------------
44
- #### 追加機能
45
- - 個別設定に `enable_prolonged_sound_mark_to_dash` を追加
46
- + 2つ以上の長音記号を全角ダッシュに置換します
47
- - 個別設定に `disable_alphabet_word_to_zenkaku` を追加
48
- + enable_alphabet_force_zenkaku が false の場合に、8文字未満の英単語を全角に
49
- する機能を抑制する。英文中にルビがふってあり、英文ではなく英単語と認識され
50
- て全角化されてしまう場合などに使用
51
- - 環境設定の `convert.copy-to-grouping` に「掲載サイト」毎にまとめる機能を追加
52
- (設定が真偽値ではなく文字列(複数)に変更)
53
- + deivce: 端末毎にまとめる
54
- + site: 掲載サイト毎にまとめる
55
- + 設定例: `narou s convert.copy-to-grouping=device,site`
56
- - 端末フォルダの中に更に掲載サイトのフォルダが作られる
57
- - 小説プリセット追加
58
- + 異世界転生したけど日本語が通じなかった(なろう版/カクヨム版)
59
- + ありふれた職業で世界最強
60
-
61
- #### WEB UI 追加機能
62
- - 「作者コメント表示」機能を追加。まえがき・あとがきだけを一覧化します
63
- + 個別メニューからのみアクセス可能
64
- - 小説リストに「あらすじ」ボタンを追加。初期設定は非表示なので
65
- 「表示>表示する項目を設定」から設定してください
66
- + あらすじはフィルターの対象外です
67
- - 小説リストの幅を広げる機能を追加。それに合わせて各項目の幅を微調整しました
68
- + 「表示>小説リストの幅を広げる」から設定
69
- - 個別メニューの表示スタイルを変更する機能を追加
70
- + 「表示>個別メニューの表示スタイルを選択」から設定
71
- + Windows スタイル:
72
- メニューが画面外にはみ出そうとしたら、カーソルの上側に表示する
73
- + Mac スタイル:
74
- メニューが画面外にはみ出そうとしたら、メニューがはみ出ないよう上にずれる
75
- - 一部のメニュー項目にショートカットキーを追加
76
- + 小説リストの幅を広げる : W
77
- + 凍結中以外を表示 : Shift+F
78
- + 凍結中を表示 : F
79
- + 選択した小説のタグを編集 : T
80
-
81
- #### 修正内容
82
- - `auto_join_line` の連結する条件を調整
83
- + 次行の行頭が数字だった場合には連結しない
84
- - 作者名が変更された場合も更新されるように修正
85
- - ネットワーク接続のタイムアウトでクラッシュするのを修正
86
-
87
-
88
- 3.2.4: 2018/07/14
36
+ 3.3.0: 2018/09/22
89
37
  ------------------
90
38
  #### 追加機能
91
- - WEB UI の Download ボタンに、DL終了後にメールで送信するオプションを追加
39
+ - ダウンロード(や更新)と変換の同時実行が可能になりました
40
+ + 環境設定の concurrency オプションを有効にすることで使用可能になります
41
+ + 大規模な変更なので、不安定な恐れあり。使う場合はバックアップを万全に
42
+ + 有効にすると表示されるログの出力形式が変更されます。CUI では特殊な形式に
43
+ なり、WEB UIではコンソールが物理的に2つになります。CUI の表示については
44
+ concurrency.format-queue-style で調整出来ます。詳細は narou s -h を参照
45
+ + アップデート時の変換を中断した場合に、次回更新時に変換を再試行する機能が
46
+ concurrency が有効な場合は動きません。これは現時点では仕様です
47
+
48
+ - ログが保存出来るようになりました
49
+ + 環境設定 logging オプションを追加しました。有効にすることでほぼすべての
50
+ ログを保存します
51
+ * diff や list コマンド、ヘルプなどの、出力が多く表示すること自体が目的の
52
+ 一部コマンドの出力はログには保存しません
53
+ * ログのフォーマットとしてlogging.format-filename, logging.format-timestamp
54
+ も追加されています。詳細は narou s -h を参照
55
+ * concurrency が有効な場合、通常ログと変換ログに分けられます。通常ログの
56
+ ファイル名が 20180831.txt だった場合、変換ログは 20180831_convert.txt に
57
+ 保存されます(log コマンドで簡単に表示できます)
58
+ + log コマンドを実装しました。logging オプションで保存されるログを表示する
59
+ ことが出来ます。tail -f のようなストリーミング機能も付いています。詳細は
60
+ narou log -h を参照
61
+ * concurrency で更新と変換を同時実行中は基本的に更新のログだけ表示されるの
62
+ で、コンソールを分割して片方で narou update を実行して更新ログを表示して
63
+ もう片方で narou log -ct で変換ログを垂れ流すみたいな使い方を想定
64
+
65
+ - ダウンロードを中断しても、再開(レジューム)出来るようになりました
66
+ + download で新規小説をダウンロードしていたのを中断した場合は、updateコマンド
67
+ で再開出来ます(再開部分は新着扱いになります)
68
+ + この仕様追加の影響で、今までは新規ダウンロードを中断した場合は(ネットワーク
69
+ エラーや手動など手段問わず)データベースに登録されなかったのが、登録される
70
+ 様になりました
71
+ + 中断した小説は変換ができません。update で再開して最後までDLしきってください
72
+
73
+ - 環境設定に folder-length-limit を追加しました。小説を格納するフォルダ名の長さ
74
+ 制限を設定出来ます。(デフォルトでは50文字)
75
+ + この設定を変更しても既存小説には影響はありません
76
+
77
+ - 環境設定に filename-length-limit を追加しました。各話ファイルを保存する際の
78
+ 長さ制限を設定出来ます。(デフォルトでは50文字)
79
+ + 既存小説のアップデートにも影響が出るので、50文字でも長すぎてエラーが出る
80
+ 場合のみ変更を強く推奨
81
+
82
+ #### WEB UI
83
+ - コンソールに「全ての履歴を取得」ボタンを追加しました
84
+ + 普段はリロードしたら直近の履歴以外は表示されませんが(読み込み負荷軽減の為)
85
+ それを全て再表示する機能です。履歴はログ削除ボタンを押した場合に表示と共に
86
+ 一緒にクリアされます
87
+ - 個別メニューから変換などを実行した際に表示されるサブコンソールを廃止しました
88
+ - 右下にページ上部へスクロールするアイコンを設置
89
+ - 環境設定ページに「サーバを再起動」ボタンを設置
90
+ - Send のサブメニューに「端末の栞データをバックアップ」を追加
91
+ + device が kindle の時のみ表示
92
+
93
+ #### 仕様変更
94
+ - 環境設定の update.logging を廃止しました。それに合わせて update コマンドの
95
+ --log オプションも削除しました。ログの保存は logging に統合されます
96
+ - 更新を中断した場合でも、そこまでの新着に関しては hotentry を生成するように
97
+ なりました
98
+ - カクヨムの小説を保存する時に格納フォルダにタイトルも含めるように変更しました
99
+ - ノクターンノベルズ、ムーンライトノベルズ、ミッドナイトノベルズの各作品は、
100
+ 掲載サイト名をそれぞれ区別するようになりました。これに合わせて格納先フォルダ
101
+ もそれぞれのサイトごとに分けられます
102
+ + すでにダウンロード済みの小説には影響はありません
103
+ - 上記ふたつの仕様変更に関して、以前と同じ設定に戻すには webnovel フォルダ下に
104
+ 設定上書き用のデータを用意することで実現可能です。
105
+ 詳細は http://bit.ly/overwrite_webnovel を参照してください
92
106
 
93
107
  #### 修正内容
94
- - enable_inspect が有効だと変換後にエラーが出ていた
95
- - 分割して変換した場合にあらすじにURLが含まれていると変換結果がおかしくなる
96
- - カクヨムのあらすじが取得できなくなっていた
97
-
98
-
99
- 3.2.3: 2018/05/27
100
- ------------------
101
- #### 修正内容
102
- - タイトルに ` が含まれていると変換時にエラーが出ていた
103
- - Windows でDL用ブックマークレットを動かすとエラーが出ていた
108
+ - カクヨムの作品の完結済みが取得できなくなっていた
109
+ - 完結状態を取得できなかった場合、end タグを勝手に削除しない様に調整
110
+ - 暁の作品の非公開状態が取得できなくなっていた
111
+ - diff コマンドに存在しない小説を指定するとエラーが出ていた
112
+ - convert コマンドに存在しない小説を指定するとエラーが出ていた
113
+ - WEB UI サーバを Ctrl+C で終了時にエラーが出ていた
114
+ - WEB UI で小説を大量に選択し「選択したタグを編集」を実行するとエラーが出ていた
115
+ - 各話DL時にタイムアウトした時にまだエラーが出ていた
116
+ - 特定の小説でファイル名を短くする処理が動いていなかった
117
+ - disable_alphabet_word_to_zenkaku を有効にすると挿絵が正常に埋め込めなくなる
118
+ 場合があった
119
+ - データ書き込み時の安定性向上
104
120
 
105
121
  ----
106
122