narou 3.2.4 → 3.2.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 390c0f586cf54d1479c01edded154253c4b23c06
4
- data.tar.gz: bd4d8fca70dea8827945974c2768a016db78a4e4
2
+ SHA256:
3
+ metadata.gz: 85c5a94d6bd509b454e4a0f67ef43130d653bdeb3a39530b9f18bcd175e9f9ea
4
+ data.tar.gz: 03b2b6beb7b0fe4a16144603141cd52a9dfcba0145daf92b9567a43bfb319a52
5
5
  SHA512:
6
- metadata.gz: 293fc9142f5147e382c73f6244a8f4dd718a92f6669df2fd7a92d0ea138ea7c938215b583b528e4ff6ab3f7e9c806656e6c133a5304b89f1d69859da8ddcbdea
7
- data.tar.gz: b1ade8d8f20f1e41b7f7aaa10520f8f6ed6f2d62241c7087956e106828da312f8cd574d0ea5a10e641000da3c836170e589dae8c310c132f13bed5afc1a42265
6
+ metadata.gz: 626b64e86beccf64597fb23ba72cd747857c2337aec36e1ee61d0e6f2b6da0b9f08bf818d7af814b34f17a413c247c677e5244e595e9fae7f0a54e2edee6e69e
7
+ data.tar.gz: 9bc3044da8d0365e44932f7eafb9fc36eb6473de7430239cdf90118d319b8dd92f86c08e804e9074652ae44773e41b7ff978ede8cb957dc0ca992b233e8ac8aa
@@ -0,0 +1,49 @@
1
+ version: 2
2
+ jobs:
3
+ build:
4
+ working_directory: ~/circleci-narou
5
+ docker:
6
+ - image: circleci/ruby:2.5
7
+ environment:
8
+ BUNDLE_JOBS: 1
9
+ BUNDLE_RETRY: 3
10
+ BUNDLE_PATH: vendor/bundle
11
+ steps:
12
+ - checkout
13
+
14
+ - run:
15
+ name: Which bundler?
16
+ command: bundle -v
17
+
18
+ # Restore bundle cache
19
+ - restore_cache:
20
+ keys:
21
+ - narou-bundle-{{ checksum "Gemfile.lock" }}
22
+ - narou-bundle-
23
+
24
+ - run:
25
+ name: Bundle Install
26
+ command: bundle check || bundle install
27
+
28
+ # Store bundle cache
29
+ - save_cache:
30
+ key: narou-bundle-{{ checksum "Gemfile.lock" }}
31
+ paths:
32
+ - vendor/bundle
33
+
34
+ - run:
35
+ name: Run rspec
36
+ command: |
37
+ bundle exec rspec \
38
+ --format RspecJunitFormatter \
39
+ --out test_results/rspec/results.xml \
40
+ --format progress \
41
+ $(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)
42
+
43
+ # Save test results for timing analysis
44
+ - store_test_results:
45
+ path: test_results
46
+
47
+ - store_artifacts:
48
+ path: ./coverage
49
+ destination: artifact-file
data/.gitignore CHANGED
@@ -49,7 +49,6 @@ mail_setting.yaml
49
49
  .bundle
50
50
  .config
51
51
  .yardoc
52
- Gemfile.lock
53
52
  InstalledFiles
54
53
  _yardoc
55
54
  coverage
@@ -8,7 +8,7 @@ AllCops:
8
8
  - "narou.gemspec"
9
9
  - "spec/**/*"
10
10
  DisplayCopNames: true
11
- TargetRubyVersion: 2.1
11
+ TargetRubyVersion: 2.3
12
12
 
13
13
  Metrics/ClassLength:
14
14
  CountComments: false
@@ -1,6 +1,52 @@
1
1
  更新履歴 - ChangeLog
2
2
  ====================
3
3
 
4
+ 3.2.5: 2018/08/21
5
+ ------------------
6
+ #### 追加機能
7
+ - 個別設定に `enable_prolonged_sound_mark_to_dash` を追加
8
+ + 2つ以上の長音記号を全角ダッシュに置換します
9
+ - 個別設定に `disable_alphabet_word_to_zenkaku` を追加
10
+ + enable_alphabet_force_zenkaku が false の場合に、8文字未満の英単語を全角に
11
+ する機能を抑制する。英文中にルビがふってあり、英文ではなく英単語と認識され
12
+ て全角化されてしまう場合などに使用
13
+ - 環境設定の `convert.copy-to-grouping` に「掲載サイト」毎にまとめる機能を追加
14
+ (設定が真偽値ではなく文字列(複数)に変更)
15
+ + deivce: 端末毎にまとめる
16
+ + site: 掲載サイト毎にまとめる
17
+ + 設定例: `narou s convert.copy-to-grouping=device,site`
18
+ - 端末フォルダの中に更に掲載サイトのフォルダが作られる
19
+ - 小説プリセット追加
20
+ + 異世界転生したけど日本語が通じなかった(なろう版/カクヨム版)
21
+ + ありふれた職業で世界最強
22
+
23
+ #### WEB UI 追加機能
24
+ - 「作者コメント表示」機能を追加。まえがき・あとがきだけを一覧化します
25
+ + 個別メニューからのみアクセス可能
26
+ - 小説リストに「あらすじ」ボタンを追加。初期設定は非表示なので
27
+ 「表示>表示する項目を設定」から設定してください
28
+ + あらすじはフィルターの対象外です
29
+ - 小説リストの幅を広げる機能を追加。それに合わせて各項目の幅を微調整しました
30
+ + 「表示>小説リストの幅を広げる」から設定
31
+ - 個別メニューの表示スタイルを変更する機能を追加
32
+ + 「表示>個別メニューの表示スタイルを選択」から設定
33
+ + Windows スタイル:
34
+ メニューが画面外にはみ出そうとしたら、カーソルの上側に表示する
35
+ + Mac スタイル:
36
+ メニューが画面外にはみ出そうとしたら、メニューがはみ出ないよう上にずれる
37
+ - 一部のメニュー項目にショートカットキーを追加
38
+ + 小説リストの幅を広げる : W
39
+ + 凍結中以外を表示 : Shift+F
40
+ + 凍結中を表示 : F
41
+ + 選択した小説のタグを編集 : T
42
+
43
+ #### 修正内容
44
+ - `auto_join_line` の連結する条件を調整
45
+ + 次行の行頭が数字だった場合には連結しない
46
+ - 作者名が変更された場合も更新されるように修正
47
+ - ネットワーク接続のタイムアウトでクラッシュするのを修正
48
+
49
+
4
50
  3.2.4: 2018/07/14
5
51
  ------------------
6
52
  #### 追加機能
data/Gemfile CHANGED
@@ -8,9 +8,11 @@ gemspec
8
8
  gem "rspec"
9
9
  gem "rspec-core"
10
10
  gem "rspec-retry"
11
+ gem "rspec_junit_formatter"
11
12
  gem "timecop"
12
13
  gem "pry"
13
14
  gem "pry-byebug"
14
15
  gem "better_errors"
15
16
  gem "binding_of_caller"
16
17
  gem "awesome_print"
18
+ gem "simplecov", require: false, group: :test
@@ -0,0 +1,153 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ narou (3.2.4)
5
+ activesupport (~> 5.2)
6
+ diff-lcs (~> 1.2, >= 1.2.5)
7
+ erubis (~> 2.7)
8
+ haml (~> 4.0, >= 4.0.7)
9
+ mail (~> 2.6.0, >= 2.6.6)
10
+ memoist (~> 0.11.0)
11
+ open_uri_redirections (~> 0.2, >= 0.2.1)
12
+ pony (~> 1, >= 1.11)
13
+ rubyzip (~> 1.1, >= 1.1.0)
14
+ sass (~> 3.4, >= 3.4.18)
15
+ sinatra (~> 1.4, >= 1.4.5)
16
+ sinatra-contrib (~> 1.4, >= 1.4.2)
17
+ systemu (~> 2.6, >= 2.6.5)
18
+ termcolorlight (~> 1.0, >= 1.1.1)
19
+ tilt (~> 2.0, >= 2.0.1)
20
+
21
+ GEM
22
+ remote: https://rubygems.org/
23
+ specs:
24
+ activesupport (5.2.0)
25
+ concurrent-ruby (~> 1.0, >= 1.0.2)
26
+ i18n (>= 0.7, < 2)
27
+ minitest (~> 5.1)
28
+ tzinfo (~> 1.1)
29
+ awesome_print (1.8.0)
30
+ backports (3.11.3)
31
+ better_errors (2.3.0)
32
+ coderay (>= 1.0.0)
33
+ erubi (>= 1.0.0)
34
+ rack (>= 0.9.0)
35
+ binding_of_caller (0.7.2)
36
+ debug_inspector (>= 0.0.1)
37
+ byebug (9.1.0)
38
+ coderay (1.1.2)
39
+ concurrent-ruby (1.0.5)
40
+ concurrent-ruby (1.0.5-java)
41
+ debug_inspector (0.0.3)
42
+ diff-lcs (1.3)
43
+ docile (1.3.1)
44
+ erubi (1.6.1)
45
+ erubis (2.7.0)
46
+ ffi (1.9.18)
47
+ ffi (1.9.18-java)
48
+ haml (4.0.7)
49
+ tilt
50
+ i18n (1.0.1)
51
+ concurrent-ruby (~> 1.0)
52
+ json (2.1.0)
53
+ json (2.1.0-java)
54
+ mail (2.6.6)
55
+ mime-types (>= 1.16, < 4)
56
+ memoist (0.11.0)
57
+ method_source (0.9.0)
58
+ mime-types (3.1)
59
+ mime-types-data (~> 3.2015)
60
+ mime-types-data (3.2016.0521)
61
+ minitest (5.11.3)
62
+ multi_json (1.13.1)
63
+ open_uri_redirections (0.2.1)
64
+ pony (1.12)
65
+ mail (>= 2.0)
66
+ pry (0.11.1)
67
+ coderay (~> 1.1.0)
68
+ method_source (~> 0.9.0)
69
+ pry (0.11.1-java)
70
+ coderay (~> 1.1.0)
71
+ method_source (~> 0.9.0)
72
+ spoon (~> 0.0)
73
+ pry-byebug (3.5.0)
74
+ byebug (~> 9.1)
75
+ pry (~> 0.10)
76
+ rack (1.6.8)
77
+ rack-protection (1.5.5)
78
+ rack
79
+ rack-test (1.0.0)
80
+ rack (>= 1.0, < 3)
81
+ rb-fsevent (0.10.3)
82
+ rb-inotify (0.9.10)
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)
91
+ diff-lcs (>= 1.2.0, < 2.0)
92
+ rspec-support (~> 3.6.0)
93
+ rspec-mocks (3.6.0)
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)
99
+ rspec_junit_formatter (0.4.1)
100
+ rspec-core (>= 2, < 4, != 2.12.0)
101
+ rubyzip (1.2.1)
102
+ sass (3.5.6)
103
+ sass-listen (~> 4.0.0)
104
+ sass-listen (4.0.0)
105
+ rb-fsevent (~> 0.9, >= 0.9.4)
106
+ rb-inotify (~> 0.9, >= 0.9.7)
107
+ simplecov (0.16.1)
108
+ docile (~> 1.1)
109
+ json (>= 1.8, < 3)
110
+ simplecov-html (~> 0.10.0)
111
+ simplecov-html (0.10.2)
112
+ sinatra (1.4.8)
113
+ rack (~> 1.5)
114
+ rack-protection (~> 1.4)
115
+ tilt (>= 1.3, < 3)
116
+ sinatra-contrib (1.4.7)
117
+ backports (>= 2.0)
118
+ multi_json
119
+ rack-protection
120
+ rack-test
121
+ sinatra (~> 1.4.0)
122
+ tilt (>= 1.3, < 3)
123
+ spoon (0.0.6)
124
+ ffi
125
+ systemu (2.6.5)
126
+ termcolorlight (1.1.1)
127
+ thread_safe (0.3.6)
128
+ thread_safe (0.3.6-java)
129
+ tilt (2.0.8)
130
+ timecop (0.9.1)
131
+ tzinfo (1.2.5)
132
+ thread_safe (~> 0.1)
133
+
134
+ PLATFORMS
135
+ java
136
+ ruby
137
+
138
+ DEPENDENCIES
139
+ awesome_print
140
+ better_errors
141
+ binding_of_caller
142
+ narou!
143
+ pry
144
+ pry-byebug
145
+ rspec
146
+ rspec-core
147
+ rspec-retry
148
+ rspec_junit_formatter
149
+ simplecov
150
+ timecop
151
+
152
+ BUNDLED WITH
153
+ 1.16.2
data/README.md CHANGED
@@ -33,6 +33,52 @@ Narou.rb ― 「小説家になろう」「小説を読もう!」ダウンロ
33
33
  更新履歴 - ChangeLog
34
34
  --------------------
35
35
 
36
+ 3.2.5: 2018/08/21
37
+ ------------------
38
+ #### 追加機能
39
+ - 個別設定に `enable_prolonged_sound_mark_to_dash` を追加
40
+ + 2つ以上の長音記号を全角ダッシュに置換します
41
+ - 個別設定に `disable_alphabet_word_to_zenkaku` を追加
42
+ + enable_alphabet_force_zenkaku が false の場合に、8文字未満の英単語を全角に
43
+ する機能を抑制する。英文中にルビがふってあり、英文ではなく英単語と認識され
44
+ て全角化されてしまう場合などに使用
45
+ - 環境設定の `convert.copy-to-grouping` に「掲載サイト」毎にまとめる機能を追加
46
+ (設定が真偽値ではなく文字列(複数)に変更)
47
+ + deivce: 端末毎にまとめる
48
+ + site: 掲載サイト毎にまとめる
49
+ + 設定例: `narou s convert.copy-to-grouping=device,site`
50
+ - 端末フォルダの中に更に掲載サイトのフォルダが作られる
51
+ - 小説プリセット追加
52
+ + 異世界転生したけど日本語が通じなかった(なろう版/カクヨム版)
53
+ + ありふれた職業で世界最強
54
+
55
+ #### WEB UI 追加機能
56
+ - 「作者コメント表示」機能を追加。まえがき・あとがきだけを一覧化します
57
+ + 個別メニューからのみアクセス可能
58
+ - 小説リストに「あらすじ」ボタンを追加。初期設定は非表示なので
59
+ 「表示>表示する項目を設定」から設定してください
60
+ + あらすじはフィルターの対象外です
61
+ - 小説リストの幅を広げる機能を追加。それに合わせて各項目の幅を微調整しました
62
+ + 「表示>小説リストの幅を広げる」から設定
63
+ - 個別メニューの表示スタイルを変更する機能を追加
64
+ + 「表示>個別メニューの表示スタイルを選択」から設定
65
+ + Windows スタイル:
66
+ メニューが画面外にはみ出そうとしたら、カーソルの上側に表示する
67
+ + Mac スタイル:
68
+ メニューが画面外にはみ出そうとしたら、メニューがはみ出ないよう上にずれる
69
+ - 一部のメニュー項目にショートカットキーを追加
70
+ + 小説リストの幅を広げる : W
71
+ + 凍結中以外を表示 : Shift+F
72
+ + 凍結中を表示 : F
73
+ + 選択した小説のタグを編集 : T
74
+
75
+ #### 修正内容
76
+ - `auto_join_line` の連結する条件を調整
77
+ + 次行の行頭が数字だった場合には連結しない
78
+ - 作者名が変更された場合も更新されるように修正
79
+ - ネットワーク接続のタイムアウトでクラッシュするのを修正
80
+
81
+
36
82
  3.2.4: 2018/07/14
37
83
  ------------------
38
84
  #### 追加機能
@@ -50,18 +96,6 @@ Narou.rb ― 「小説家になろう」「小説を読もう!」ダウンロ
50
96
  - タイトルに ` が含まれていると変換時にエラーが出ていた
51
97
  - Windows でDL用ブックマークレットを動かすとエラーが出ていた
52
98
 
53
-
54
- 3.2.2: 2018/05/24
55
- ------------------
56
- #### 仕様変更
57
- - narou コマンド実行時に実行フォルダ直下に narou.rb ファイルが存在する場合、
58
- そちらを読み込むように変更しました(開発者向け)
59
- + Windows はもともと narou.bat を読み込んでいたので無関係。macOS や Linux
60
- 環境において、bin/narou を使わなくても良くなりました
61
-
62
- #### 修正内容
63
- - カクヨムの変更に対応
64
-
65
99
  ----
66
100
 
67
101
  「小説家になろう」は株式会社ヒナプロジェクトの登録商標です
@@ -304,7 +304,7 @@ module Command
304
304
  # 書籍ファイルのコピー先を取得
305
305
  #
306
306
  # copy-to が設定されていなければ nil を返す。
307
- # 存在しないディレクトリだった場合は例外を投げる
307
+ # copy-to が存在しないディレクトリだった場合は例外を投げる
308
308
  #
309
309
  def get_copy_to_directory
310
310
  # 2.1.0 から convert.copy_to から convert.copy-to へ名称が変更された
@@ -314,18 +314,37 @@ module Command
314
314
  unless File.directory?(copy_to_dir)
315
315
  raise NoSuchDirectory, copy_to_dir
316
316
  end
317
- # deviceごとにフォルダ振り分けの処理
318
- if !@options["copy-to-grouping"] || !@device
319
- return copy_to_dir
317
+
318
+ dirs = [copy_to_dir]
319
+ gvalues = grouping_values
320
+ if gvalues.device && @device
321
+ dirs << @device.display_name
322
+ end
323
+ if gvalues.site && @novel_data
324
+ dirs << @novel_data["sitename"]
320
325
  end
321
- copy_to_dir_with_device = File.join(copy_to_dir, @device.display_name)
322
- unless File.directory?(copy_to_dir_with_device)
323
- FileUtils.mkdir(copy_to_dir_with_device)
326
+ copy_to_dir_with_groups = File.join(dirs)
327
+ unless File.directory?(copy_to_dir_with_groups)
328
+ FileUtils.mkdir_p(copy_to_dir_with_groups)
324
329
  end
325
- copy_to_dir_with_device
330
+ copy_to_dir_with_groups
326
331
  end
327
332
  private :get_copy_to_directory
328
333
 
334
+ def grouping_values
335
+ result = OpenStruct.new
336
+ grouping = @options["copy-to-grouping"]
337
+ if grouping.is_a?(TrueClass)
338
+ # 後方互換維持用
339
+ result.device = true
340
+ return result
341
+ end
342
+ grouping.to_s.split(",").map(&:strip).each do |key|
343
+ result[key] = true
344
+ end
345
+ result
346
+ end
347
+
329
348
  def send_file_to_device(ebook_file)
330
349
  if @device && @device.physical_support? &&
331
350
  @device.connecting? && File.extname(ebook_file) == @device.ebook_file_ext
@@ -32,7 +32,7 @@ module Command
32
32
  # no check here since global_setting is not loaded yet
33
33
  @options["aozora_dirname"] = dirname
34
34
  }
35
- @opt.on("-l", "--line-height SIZE", "行の高さを変更する(単位em)。オススメは1.6〜1.8程度") do |line_height|
35
+ @opt.on("-l", "--line-height SIZE", "行の高さを変更する(単位em)。オススメは1.8") do |line_height|
36
36
  begin
37
37
  @options["line_height"] = Helper.string_cast_to_type(line_height, :float)
38
38
  rescue Helper::InvalidVariableType => e
@@ -54,7 +54,7 @@ module Command
54
54
  # 行の高さの調整
55
55
  narou init --line-height 1.8 # 行の高さを1.8emに設定(1.8文字分相当)
56
56
  # 行の高さなので、行間を1文字分あけたいという場合は 1+1 で 2 を指定する
57
- # (デフォルト 1.6)
57
+ # (未設定のまま小説変換すると 1.6 で計算される)
58
58
  # 参考情報:Kindle Voyage で文字サイズ4番目の大きさの場合、
59
59
  # 1.6em : 1ページに15行
60
60
  # 1.8em : 1ページに13行
@@ -156,13 +156,16 @@ module Command
156
156
  end
157
157
 
158
158
  def ask_line_height
159
- line_height = Narou.line_height
159
+ # 後方互換のために未設定時の line_height デフォルトは 1.6 だが、
160
+ # オススメは 1.8 なので入力時のデフォルトは 1.8 にする
161
+ line_height = Narou.line_height(default: 1.8)
160
162
  puts
161
163
  puts(<<-MSG.termcolor)
162
164
  <bold><green>行間の調整を行います。小説の行の高さを設定して下さい(単位 em):</green></bold>
163
165
  1em = 1文字分の高さ
164
166
  行の高さ=1文字分の高さ+行間の高さ
165
- オススメは 1.6 〜 1.8 程度。1.6 で若干行間狭め。1.8 だと一般的な小説程度。2.0 くらいにするとかなりスカスカ
167
+ オススメは 1.8
168
+ 1.6 で若干行間狭め。1.8 だと一般的な小説程度。2.0 くらいにするとかなりスカスカ
166
169
  (未入力で #{line_height} を採用)
167
170
  MSG
168
171
  print ">"