narou 2.4.2 → 2.5.1
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/.gitignore +1 -0
- data/ChangeLog.md +56 -0
- data/README.md +56 -29
- data/lib/command/convert.rb +39 -7
- data/lib/command/diff.rb +42 -11
- data/lib/command/inspect.rb +1 -1
- data/lib/command/setting.rb +150 -45
- data/lib/command/tag.rb +8 -8
- data/lib/command/update.rb +57 -1
- data/lib/commandbase.rb +3 -0
- data/lib/converterbase.rb +17 -9
- data/lib/database.rb +4 -0
- data/lib/device/epub.rb +1 -1
- data/lib/device/ibooks.rb +1 -1
- data/lib/device/ibunko.rb +13 -6
- data/lib/device/kindle.rb +1 -1
- data/lib/device/kobo.rb +1 -1
- data/lib/device/reader.rb +1 -1
- data/lib/downloader.rb +10 -5
- data/lib/helper.rb +114 -3
- data/lib/ini.rb +3 -1
- data/lib/inventory.rb +3 -1
- data/lib/loadconverter.rb +1 -11
- data/lib/mailer.rb +1 -0
- data/lib/narou.rb +56 -5
- data/lib/novelconverter.rb +7 -5
- data/lib/novelsetting.rb +116 -63
- data/lib/template.rb +4 -4
- data/lib/version.rb +1 -1
- data/lib/web/appserver.rb +40 -9
- data/lib/web/public/resources/narou.library.js +35 -3
- data/lib/web/public/resources/narou.ui.js +16 -1
- data/lib/web/pushserver.rb +1 -0
- data/lib/web/settingmessages.rb +6 -3
- data/lib/web/views/diff_list.haml +11 -0
- data/lib/web/views/edit_replace_txt.haml +59 -0
- data/lib/web/views/help.haml +2 -2
- data/lib/web/views/index.haml +6 -4
- data/lib/web/views/layout.haml +11 -2
- data/lib/web/views/novels/setting.haml +51 -66
- data/lib/web/views/settings.haml +52 -15
- data/lib/web/views/style.scss +44 -2
- data/lib/web/views/widget.haml +6 -8
- data/narou.gemspec +45 -6
- data/spec/convert_spec.rb +1 -1
- data/spec/converterbase_spec.rb +25 -1
- data/spec/generator/convert_spec_gen.rb +1 -1
- data/spec/helper_spec.rb +8 -0
- data/spec/novelsetting_spec.rb +1 -1
- data/template/novel.txt.erb +1 -1
- data/template/setting.ini.erb +15 -3
- metadata +49 -8
data/spec/converterbase_spec.rb
CHANGED
@@ -9,7 +9,7 @@ require_relative "../lib/converterbase"
|
|
9
9
|
|
10
10
|
describe ConverterBase do
|
11
11
|
before do
|
12
|
-
novelsetting = NovelSetting.
|
12
|
+
novelsetting = NovelSetting.create("", true, true)
|
13
13
|
inspector = Inspector.new(novelsetting)
|
14
14
|
@converter = ConverterBase.new(novelsetting, inspector, nil)
|
15
15
|
end
|
@@ -172,6 +172,30 @@ opqrstu
|
|
172
172
|
"そっちの『鈴』と一緒に入っていた").to eq \
|
173
173
|
"そっちの[#zws]『鈴[#zws]』[#zws]と[#zws]一緒[#zws]に[#zws]入[#zws]っていた[#zws]"
|
174
174
|
end
|
175
|
+
|
176
|
+
it "開きカッコの直後にzwsは挿入しない" do
|
177
|
+
expect(@converter.insert_word_separator \
|
178
|
+
"(ほげ)『ふが』").to eq \
|
179
|
+
"(ほげ[#zws])『ふが[#zws]』"
|
180
|
+
end
|
181
|
+
|
182
|
+
it "開きカッコの直後にzwsは挿入しない" do
|
183
|
+
expect(@converter.insert_word_separator \
|
184
|
+
"[ほげ]").to eq \
|
185
|
+
"[ほげ[#zws]]"
|
186
|
+
end
|
187
|
+
|
188
|
+
it "英語はそのまま" do
|
189
|
+
expect(@converter.insert_word_separator \
|
190
|
+
"トムは言った。「This is a pen」").to eq \
|
191
|
+
"トム[#zws]は[#zws]言[#zws]った[#zws]。「This is a pen[#zws]」"
|
192
|
+
end
|
193
|
+
|
194
|
+
it "タグの中ではzwsは挿入しない" do
|
195
|
+
expect(@converter.insert_word_separator \
|
196
|
+
"click <a href=\"http://google.com\">link</a>").to eq \
|
197
|
+
"click [#zws]<a href=\"http://google.com\">link[#zws]</a>"
|
198
|
+
end
|
175
199
|
end
|
176
200
|
|
177
201
|
describe "文字単位で区切る" do
|
@@ -80,7 +80,7 @@ describe "convert" do
|
|
80
80
|
dir = File.dirname(path)
|
81
81
|
filename = File.basename(path)
|
82
82
|
$stdout.silence do
|
83
|
-
CommandLine.run(["convert", path, "--no-epub", "--no-open", "--ignore-force"])
|
83
|
+
CommandLine.run(["convert", path, "--no-epub", "--no-open", "--ignore-force", "--ignore-default"])
|
84
84
|
end
|
85
85
|
output_file = File.join(dir, "[#{AUTHOR}] #{filename}")
|
86
86
|
correct_file = File.join(dir, "correct_#{filename}")
|
data/spec/helper_spec.rb
CHANGED
@@ -68,6 +68,14 @@ describe Helper do
|
|
68
68
|
context "string" do
|
69
69
|
it { expect(Helper.string_cast_to_type("string", :string)).to eq "string" }
|
70
70
|
end
|
71
|
+
|
72
|
+
context "select" do
|
73
|
+
it { expect(Helper.string_cast_to_type("string", :select)).to eq "string" }
|
74
|
+
end
|
75
|
+
|
76
|
+
context "multiple" do
|
77
|
+
it { expect(Helper.string_cast_to_type("string", :multiple)).to eq "string" }
|
78
|
+
end
|
71
79
|
end
|
72
80
|
|
73
81
|
describe ".date_string_to_time" do
|
data/spec/novelsetting_spec.rb
CHANGED
@@ -11,7 +11,7 @@ describe NovelSetting do
|
|
11
11
|
context "setting.ini 書き出し関係" do
|
12
12
|
before do
|
13
13
|
@tmpdir = Dir.mktmpdir
|
14
|
-
@novel_setting = NovelSetting.new(@tmpdir, true)
|
14
|
+
@novel_setting = NovelSetting.new(@tmpdir, true, true)
|
15
15
|
@inipath = File.join(@tmpdir, NovelSetting::INI_NAME)
|
16
16
|
end
|
17
17
|
|
data/template/novel.txt.erb
CHANGED
data/template/setting.ini.erb
CHANGED
@@ -1,9 +1,21 @@
|
|
1
1
|
<%# -*- coding: utf-8 -*- -%>
|
2
|
-
<% Template.target_binary_version(1.
|
3
|
-
|
2
|
+
<% Template.target_binary_version(1.1) -%>
|
3
|
+
; 小説の変換時の挙動を変更出来ます。
|
4
|
+
; 行頭がセミコロンの行はコメントです。
|
5
|
+
;
|
6
|
+
; 変更したい設定値の行頭のセミコロンを削除し、値を設定して下さい。
|
7
|
+
; コメントになったままの行は、各種操作によって設定した値によって最終決定されます。
|
8
|
+
; 設定値が決定されるフローは以下の通りです。
|
9
|
+
;
|
10
|
+
; 1. force.* が設定されているか
|
11
|
+
; 2. setting.ini の項目が有効になっているか
|
12
|
+
; 3. default.* が設定されているか
|
13
|
+
; 4. 上記いずれかにも該当しない場合、Narou.rb のオリジナル設定
|
14
|
+
|
15
|
+
<% original_settings.each do |element| -%>
|
4
16
|
<% element[:help].split("\n").each do |help_line| -%>
|
5
17
|
; <%= help_line %>
|
6
18
|
<% end -%>
|
7
|
-
<%= element[:name] %> = <%= element[:value].kind_of?(String) ? %!"#{element[:value]}"! : element[:value] %>
|
19
|
+
; <%= element[:name] %> = <%= element[:value].kind_of?(String) ? %!"#{element[:value]}"! : element[:value] %>
|
8
20
|
|
9
21
|
<% end -%>
|
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: 2.
|
4
|
+
version: 2.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- whiteleaf7
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-07-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: termcolorlight
|
@@ -301,6 +301,8 @@ files:
|
|
301
301
|
- lib/web/streaminginput.rb
|
302
302
|
- lib/web/streaminglogger.rb
|
303
303
|
- lib/web/views/about.haml
|
304
|
+
- lib/web/views/diff_list.haml
|
305
|
+
- lib/web/views/edit_replace_txt.haml
|
304
306
|
- lib/web/views/help.haml
|
305
307
|
- lib/web/views/index.haml
|
306
308
|
- lib/web/views/js/widget.erb
|
@@ -415,14 +417,53 @@ metadata: {}
|
|
415
417
|
post_install_message: |
|
416
418
|
*******************************************************************************
|
417
419
|
|
418
|
-
2.
|
420
|
+
2.5.0 : 2015/07/10
|
419
421
|
------------------
|
422
|
+
#### 追加機能
|
423
|
+
- WEB UI の個別メニューから「差分を表示」を選択した際に、過去の差分を選択出来る
|
424
|
+
ようにしました
|
425
|
+
- WEB UI の個別メニューに「タグを編集」を追加しました
|
426
|
+
- 変換設定の各項目の共通設定を変更できる default.* 系設定を追加しました
|
427
|
+
+ この共通設定は setting.ini で未設定の項目がある場合に適用されます。また、
|
428
|
+
force.* が設定されていた場合は setting.ini、共通設定ともに無視されます
|
429
|
+
+ 例えば `enable_illust` の共通設定を変更したい場合、
|
430
|
+
`narou s default.enable_illust=false` とすることで変更出来ます
|
431
|
+
(WEB UIからは環境設定のページで隠しオプションを表示)
|
432
|
+
- `convert` コマンドに `--ignore-default` オプションを追加しました。変換時の
|
433
|
+
default.* 系設定を無視します
|
434
|
+
- `convert.copy-to-grouping` オプションを追加しました
|
435
|
+
+ copy-to で指定したフォルダの中に更に device もしくは convert.multi-device
|
436
|
+
で指定した端末毎に振り分けるように出来ます
|
437
|
+
+ 有効にするには `narou s convert.copy-to-grouping=true` を実行して下さい
|
438
|
+
- 全小説を対象にした replace.txt による置換に対応しました
|
439
|
+
+ narou init を使用したフォルダに replace.txt を設置すると認識します。
|
440
|
+
WEB UI においては環境設定にて設定できます
|
441
|
+
- `update` コマンドにアップデートの順番を変更する `--sort-by` オプションが追加
|
442
|
+
されました(短縮 `-s`)
|
443
|
+
+ `narou u --sort-by general_update` のように直接コマンドのオプションとして
|
444
|
+
指定するか、 `narou s update.sort-by=general_update` と設定として保存して
|
445
|
+
下さい
|
446
|
+
+ 指定出来るのは id, last_update(更新日), title(タイトル), author(作者名),
|
447
|
+
new_arrivals_date(新着日), general_lastup(最新話掲載日) です
|
448
|
+
- WEB UI の設定画面において一部項目をセレクトボックスで選択出来るようにしました
|
449
|
+
|
450
|
+
#### 仕様変更
|
451
|
+
- default.* 系設定追加に伴い、新規DL時の setting.ini の全ての項目がコメント
|
452
|
+
アウトされた状態で生成されます。また、WEB UI の個別変換設定画面にて、各項目に
|
453
|
+
「未設定」が追加されます
|
454
|
+
- `setting` コマンド(WEB UIにおける環境設定)の項目の順序・表示を変更しました
|
455
|
+
- `setting` コマンドの一部項目で適切な値が入力されなかった場合にエラーが出る
|
456
|
+
ようになりました
|
457
|
+
- WEB UI の個別メニュー内項目の並び順を変更しました
|
458
|
+
- WEB UI サーバ起動中にコマンドラインで更新した場合でもサーバを再起動せずに変更
|
459
|
+
が反映されるようになりました
|
460
|
+
|
420
461
|
#### Bug Fix
|
421
|
-
-
|
422
|
-
|
423
|
-
-
|
424
|
-
-
|
425
|
-
-
|
462
|
+
- `enable_insert_word_separator` を有効時に `[` が正常に禁則処理されない問題を
|
463
|
+
修正
|
464
|
+
- i文庫形式に変換する際に `enable_illust` の設定が無視されていたのを修正
|
465
|
+
- WEB UI サーバ起動中に converter.rb を編集しても反映されなかったのを修正
|
466
|
+
- 文章中のリンクが正しく飛べない場合があったのを修正
|
426
467
|
|
427
468
|
*******************************************************************************
|
428
469
|
rdoc_options: []
|