narou 1.1.1 → 1.1.2
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.
- data/ChangeLog.md +17 -1
- data/README.md +18 -12
- data/bin/narou +1 -1
- data/lib/color.rb +89 -0
- data/lib/command.rb +1 -1
- data/lib/command/alias.rb +5 -5
- data/lib/command/browser.rb +4 -2
- data/lib/command/convert.rb +14 -12
- data/lib/command/diff.rb +8 -8
- data/lib/command/download.rb +1 -1
- data/lib/command/folder.rb +2 -2
- data/lib/command/freeze.rb +1 -1
- data/lib/command/help.rb +8 -6
- data/lib/command/init.rb +8 -8
- data/lib/command/inspect.rb +2 -2
- data/lib/command/interactive.rb +1 -1
- data/lib/command/list.rb +5 -2
- data/lib/command/new.rb +1 -1
- data/lib/command/remove.rb +2 -2
- data/lib/command/send.rb +7 -7
- data/lib/command/setting.rb +8 -8
- data/lib/command/update.rb +2 -2
- data/lib/command/version.rb +1 -1
- data/lib/commandbase.rb +6 -4
- data/lib/commandline.rb +2 -2
- data/lib/converterbase.rb +81 -44
- data/lib/database.rb +1 -1
- data/lib/device.rb +3 -3
- data/lib/device/kindle.rb +1 -1
- data/lib/device/kobo.rb +1 -1
- data/lib/device/library/windows.rb +2 -14
- data/lib/downloader.rb +41 -14
- data/lib/extensions/windows.rb +58 -0
- data/lib/globalsetting.rb +1 -1
- data/lib/helper.rb +1 -1
- data/lib/illustration.rb +1 -1
- data/lib/ini.rb +1 -1
- data/lib/inspector.rb +2 -2
- data/lib/kindlestrip.rb +1 -1
- data/lib/loadconverter.rb +2 -2
- data/lib/localsetting.rb +1 -1
- data/lib/logger.rb +26 -9
- data/lib/narou.rb +1 -1
- data/lib/narou/api.rb +41 -0
- data/lib/novelconverter.rb +14 -14
- data/lib/novelsetting.rb +7 -2
- data/lib/progressbar.rb +1 -1
- data/lib/ruby.rb +1 -1
- data/lib/sitesetting.rb +1 -1
- data/lib/template.rb +3 -3
- data/lib/version.rb +2 -2
- data/narou.gemspec +3 -2
- data/narou.rb +5 -3
- data/template/converter.rb.erb +1 -1
- data/template/diff.txt.erb +1 -1
- data/template/novel.txt.erb +2 -1
- data/template/replace.txt.erb +2 -2
- data/template/setting.ini.erb +1 -1
- data/webnovel/ncode.syosetu.com.yaml +2 -1
- data/webnovel/novel18.syosetu.com.yaml +2 -1
- metadata +48 -19
- checksums.yaml +0 -7
data/ChangeLog.md
CHANGED
@@ -1,12 +1,28 @@
|
|
1
1
|
|
2
2
|
更新履歴 - ChangeLog
|
3
3
|
--------------------
|
4
|
+
2013/03/17 : **1.1.2**
|
5
|
+
* Bug Fix
|
6
|
+
- Fiddleがない環境でエラーになってたので修正
|
7
|
+
- 同一行に()と《》のルビが混在していた時に正しく処理出来ていなかったのを修正
|
8
|
+
- 短編小説をDLしようとした時にDL出来ない旨メッセージを表示するように
|
9
|
+
- !?の縦中横化で自然ではない変換パターンに対応
|
10
|
+
* 追加機能もしくは仕様変更
|
11
|
+
- なろうのルビ仕様に追随
|
12
|
+
+ 全角空白もルビ対象として許容する
|
13
|
+
+ サブタイトルのカッコはルビをふらない
|
14
|
+
- 中黒(・)を3個以上連続して使っているのを三点リーダーに変換する機能実装
|
15
|
+
+ `setting.ini` に `enable_convert_horizontal_ellipsis` を追加
|
16
|
+
- 表示を若干色つけするように
|
17
|
+
+ 色つけを抑制にするには `--no-color` オプションか `narou s no-color=true` で
|
18
|
+
- 節のタイトル(中見出し)の位置を若干調整 (template/novel.txt.erb)
|
19
|
+
|
4
20
|
2013/03/09 : **1.1.1**
|
5
21
|
* Bug Fix
|
6
22
|
- URL文字列のリンクを a タグに変更し忘れ修正
|
7
23
|
- update コマンドにIDを直指定した時の変換時に不正な引数を渡していたのを修正
|
8
24
|
* 追加機能もしくは仕様変更
|
9
|
-
-
|
25
|
+
- 三点リーダーの偶数化を1つからするように変更
|
10
26
|
|
11
27
|
2013/03/07 : **1.1.0**
|
12
28
|
* Bug Fix
|
data/README.md
CHANGED
@@ -13,16 +13,32 @@ Narou.rb ― 小説家になろうダウンローダ&縦書用整形スクリ
|
|
13
13
|
縦書に特化しており、どんな文章だろうとほぼ違和感なく縦書で読むことができるように変換します。また、若干の校正機能もありますので、
|
14
14
|
小説としては許されない記述法などは矯正します。(例:感嘆符のあとにはスペースが必ずくる)
|
15
15
|
|
16
|
-
詳細な説明やインストール方法は[Narou.rb 説明書](https://github.com/whiteleaf7/narou/wiki)を御覧ください。
|
16
|
+
詳細な説明やインストール方法は **[Narou.rb 説明書](https://github.com/whiteleaf7/narou/wiki)** を御覧ください。
|
17
17
|
|
18
18
|
更新履歴 - ChangeLog
|
19
19
|
--------------------
|
20
|
+
2013/03/17 : **1.1.2**
|
21
|
+
* Bug Fix
|
22
|
+
- Fiddleがない環境でエラーになってたので修正
|
23
|
+
- 同一行に()と《》のルビが混在していた時に正しく処理出来ていなかったのを修正
|
24
|
+
- 短編小説をDLしようとした時にDL出来ない旨メッセージを表示するように
|
25
|
+
- !?の縦中横化で自然ではない変換パターンに対応
|
26
|
+
* 追加機能もしくは仕様変更
|
27
|
+
- なろうのルビ仕様に追随
|
28
|
+
+ 全角空白もルビ対象として許容する
|
29
|
+
+ サブタイトルのカッコはルビをふらない
|
30
|
+
- 中黒(・)を3個以上連続して使っているのを三点リーダーに変換する機能実装
|
31
|
+
+ `setting.ini` に `enable_convert_horizontal_ellipsis` を追加
|
32
|
+
- 表示を若干色つけするように
|
33
|
+
+ 色つけを抑制にするには `--no-color` オプションか `narou s no-color=true` で
|
34
|
+
- 節のタイトル(中見出し)の位置を若干調整 (template/novel.txt.erb)
|
35
|
+
|
20
36
|
2013/03/09 : **1.1.1**
|
21
37
|
* Bug Fix
|
22
38
|
- URL文字列のリンクを a タグに変更し忘れ修正
|
23
39
|
- update コマンドにIDを直指定した時の変換時に不正な引数を渡していたのを修正
|
24
40
|
* 追加機能もしくは仕様変更
|
25
|
-
-
|
41
|
+
- 三点リーダーの偶数化を1つからするように変更
|
26
42
|
|
27
43
|
2013/03/07 : **1.1.0**
|
28
44
|
* Bug Fix
|
@@ -31,13 +47,3 @@ Narou.rb ― 小説家になろうダウンローダ&縦書用整形スクリ
|
|
31
47
|
* 追加機能もしくは仕様変更
|
32
48
|
- Ruby2.0.0対応
|
33
49
|
|
34
|
-
2013/03/07 : **1.1.0.rc2**
|
35
|
-
* Bug Fix
|
36
|
-
- `update` コマンドに存在しない小説を指定した場合にエラーが出るバグを修正
|
37
|
-
- `convert -o` オプションが正常に動いていなかったバグを修正
|
38
|
-
- テキストファイル変換時のバグ修正
|
39
|
-
* 追加機能もしくは仕様変更
|
40
|
-
- `update` コマンドで全ての小説を更新する場合、 `convert.no-open` の設定にかかわらず
|
41
|
-
保存フォルダは開かないようにした
|
42
|
-
- 18禁小説をDL時に年齢認証をするようにした
|
43
|
-
- ルビの大きさは 0.6em に調整
|
data/bin/narou
CHANGED
data/lib/color.rb
ADDED
@@ -0,0 +1,89 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
#
|
3
|
+
=begin
|
4
|
+
https://github.com/termtter/termtter/blob/master/lib/termtter/system_extensions/windows.rb
|
5
|
+
|
6
|
+
(The MIT License)
|
7
|
+
|
8
|
+
Copyright (c) 2008-2012 The Termtter Development Team
|
9
|
+
|
10
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
11
|
+
a copy of this software and associated documentation files (the
|
12
|
+
'Software'), to deal in the Software without restriction, including
|
13
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
14
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
15
|
+
permit persons to whom the Software is furnished to do so, subject to
|
16
|
+
the following conditions:
|
17
|
+
|
18
|
+
The above copyright notice and this permission notice shall be
|
19
|
+
included in all copies or substantial portions of the Software.
|
20
|
+
|
21
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
22
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
23
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
24
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
25
|
+
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
26
|
+
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
27
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
28
|
+
=end
|
29
|
+
|
30
|
+
require "termcolor"
|
31
|
+
|
32
|
+
if RUBY_PLATFORM =~ /mswin(?!ce)|mingw|bccwin/i # without cygwin
|
33
|
+
require_relative "extensions/windows"
|
34
|
+
|
35
|
+
$hStdOut = WinAPI.GetStdHandle(0xFFFFFFF5)
|
36
|
+
lpBuffer = ' ' * 22
|
37
|
+
WinAPI.GetConsoleScreenBufferInfo($hStdOut, lpBuffer)
|
38
|
+
$oldColor = lpBuffer.unpack('SSSSSssssSS')[4]
|
39
|
+
|
40
|
+
$colorMap = {
|
41
|
+
0 => 0x07|0x00|0x00|0x00, # black/white
|
42
|
+
37 => 0x08|0x00|0x00|0x00, # white/intensity
|
43
|
+
31 => 0x04|0x08|0x00|0x00, # red/red
|
44
|
+
32 => 0x02|0x08|0x00|0x00, # green/green
|
45
|
+
33 => 0x06|0x08|0x00|0x00, # yellow/yellow
|
46
|
+
34 => 0x01|0x08|0x00|0x00, # blue/blue
|
47
|
+
35 => 0x05|0x08|0x00|0x00, # magenta/purple
|
48
|
+
36 => 0x03|0x08|0x00|0x00, # cyan/aqua
|
49
|
+
39 => 0x07, # default
|
50
|
+
40 => 0x00|0x00|0xf0|0x00, # background:white
|
51
|
+
41 => 0x07|0x00|0x40|0x00, # background:red
|
52
|
+
42 => 0x07|0x00|0x20|0x00, # background:green
|
53
|
+
43 => 0x07|0x00|0x60|0x00, # background:yellow
|
54
|
+
44 => 0x07|0x00|0x10|0x00, # background:blue
|
55
|
+
45 => 0x07|0x00|0x50|0x80, # background:magenta
|
56
|
+
46 => 0x07|0x00|0x30|0x80, # background:cyan
|
57
|
+
47 => 0x07|0x00|0x70|0x80, # background:gray
|
58
|
+
49 => 0x70, # default
|
59
|
+
90 => 0x07|0x00|0x00|0x00, # erase/white
|
60
|
+
}
|
61
|
+
|
62
|
+
def write_color(str, console = STDOUT)
|
63
|
+
str.gsub("\xef\xbd\x9e", "\xe3\x80\x9c").split(/(\e\[\d*[a-zA-Z])/).each do |token|
|
64
|
+
case token
|
65
|
+
when /\e\[(\d+)m/
|
66
|
+
color = $1.to_i > 90 ? ($1.to_i % 60) : $1.to_i
|
67
|
+
loop do
|
68
|
+
error_code = WinAPI.SetConsoleTextAttribute $hStdOut, $colorMap[color].to_i
|
69
|
+
if error_code == 0
|
70
|
+
if WinAPI.GetLastError == 6
|
71
|
+
$hStdOut = WinAPI.GetStdHandle(0xFFFFFFF5)
|
72
|
+
redo
|
73
|
+
end
|
74
|
+
end
|
75
|
+
break
|
76
|
+
end
|
77
|
+
when /\e\[\d*[a-zA-Z]/
|
78
|
+
# do nothing
|
79
|
+
else
|
80
|
+
console.write token
|
81
|
+
end
|
82
|
+
end
|
83
|
+
WinAPI.SetConsoleTextAttribute $hStdOut, $oldColor
|
84
|
+
end
|
85
|
+
else
|
86
|
+
def write_color(str, console = STDOUT)
|
87
|
+
console.write str.termcolor
|
88
|
+
end
|
89
|
+
end
|
data/lib/command.rb
CHANGED
data/lib/command/alias.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# -*- coding:
|
1
|
+
# -*- coding: utf-8 -*-
|
2
2
|
#
|
3
3
|
# Copyright 2013 whiteleaf. All rights reserved.
|
4
4
|
#
|
@@ -35,7 +35,7 @@ module Command
|
|
35
35
|
database = Database.instance
|
36
36
|
aliases.each do |name, id|
|
37
37
|
title = database[id]["title"] rescue "(すでに削除されています)"
|
38
|
-
puts "
|
38
|
+
puts "<green>#{name}</green>=#{title}".termcolor
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
@@ -50,11 +50,11 @@ module Command
|
|
50
50
|
Helper.print_horizontal_rule if i > 0
|
51
51
|
alias_name, target = arg.split("=", 2)
|
52
52
|
unless alias_name =~ /^\w+$/
|
53
|
-
|
53
|
+
error "別名にはアルファベット・数字・アンダースコアしか使えません"
|
54
54
|
next
|
55
55
|
end
|
56
56
|
if target.nil?
|
57
|
-
|
57
|
+
error "書式が間違っています。#{alias_name}=別名 のように書いて下さい"
|
58
58
|
next
|
59
59
|
end
|
60
60
|
if target == ""
|
@@ -63,7 +63,7 @@ module Command
|
|
63
63
|
next
|
64
64
|
end
|
65
65
|
unless Downloader.novel_exists?(target)
|
66
|
-
|
66
|
+
error "#{target} は存在しません"
|
67
67
|
next
|
68
68
|
end
|
69
69
|
data = Downloader.get_data_by_target(target)
|
data/lib/command/browser.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# -*- coding:
|
1
|
+
# -*- coding: utf-8 -*-
|
2
2
|
#
|
3
3
|
# Copyright 2013 whiteleaf. All rights reserved.
|
4
4
|
#
|
@@ -16,6 +16,8 @@ module Command
|
|
16
16
|
Example:
|
17
17
|
narou browser n9669bk
|
18
18
|
narou browser musyoku
|
19
|
+
|
20
|
+
Options:
|
19
21
|
EOS
|
20
22
|
|
21
23
|
@opt.on("-v", "--vote", "指定した小説の投票・感想を投稿するページを表示する") {
|
@@ -32,7 +34,7 @@ module Command
|
|
32
34
|
argv.each do |target|
|
33
35
|
data = Downloader.get_data_by_target(target)
|
34
36
|
unless data
|
35
|
-
|
37
|
+
error "#{target} は存在しません"
|
36
38
|
next
|
37
39
|
end
|
38
40
|
toc_url = data["toc_url"]
|
data/lib/command/convert.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# -*- coding:
|
1
|
+
# -*- coding: utf-8 -*-
|
2
2
|
#
|
3
3
|
# Copyright 2013 whiteleaf. All rights reserved.
|
4
4
|
#
|
@@ -104,7 +104,7 @@ module Command
|
|
104
104
|
if @options["encoding"]
|
105
105
|
@enc = Encoding.find(@options["encoding"]) rescue nil
|
106
106
|
unless @enc
|
107
|
-
|
107
|
+
error "--enc で指定された文字コードは存在しません。sjis, eucjp, utf-8 等を指定して下さい"
|
108
108
|
return
|
109
109
|
end
|
110
110
|
end
|
@@ -126,7 +126,7 @@ module Command
|
|
126
126
|
else
|
127
127
|
@argument_target_type = :novel
|
128
128
|
unless Downloader.novel_exists?(target)
|
129
|
-
|
129
|
+
error "#{target} は存在しません"
|
130
130
|
next
|
131
131
|
end
|
132
132
|
res = NovelConverter.convert(target, @output_filename, @options["inspect"])
|
@@ -161,18 +161,17 @@ module Command
|
|
161
161
|
return NovelConverter.convert_file(target, @enc, @output_filename, @options["inspect"])
|
162
162
|
rescue ArgumentError => e
|
163
163
|
if e.message =~ /invalid byte sequence in UTF-8/
|
164
|
-
|
165
|
-
|
166
|
-
"--enc オプションでテキストの文字コードを指定して下さい"
|
164
|
+
error "テキストファイルの文字コードがUTF-8ではありません。" +
|
165
|
+
"--enc オプションでテキストの文字コードを指定して下さい"
|
167
166
|
warn "(#{e.message})"
|
168
167
|
return nil
|
169
168
|
else
|
170
169
|
raise
|
171
170
|
end
|
172
171
|
rescue Encoding::UndefinedConversionError, Encoding::InvalidByteSequenceError
|
173
|
-
warn "#{target}"
|
174
|
-
|
175
|
-
|
172
|
+
warn "#{target}:"
|
173
|
+
error "テキストファイルの文字コードは#{@options["encoding"]}ではありませんでした。" +
|
174
|
+
"正しい文字コードを指定して下さい"
|
176
175
|
return nil
|
177
176
|
end
|
178
177
|
|
@@ -189,6 +188,8 @@ module Command
|
|
189
188
|
epub_path = @converted_txt_path.sub(/.txt$/, epub_ext)
|
190
189
|
|
191
190
|
if !@device || !@device.kindle? || @options["no-mobi"]
|
191
|
+
puts File.basename(epub_path) + " を出力しました"
|
192
|
+
puts "<green>EPUBファイルを出力しました</green>".termcolor
|
192
193
|
return epub_path
|
193
194
|
end
|
194
195
|
|
@@ -203,10 +204,11 @@ module Command
|
|
203
204
|
begin
|
204
205
|
SectionStripper.strip(mobi_path, nil, false)
|
205
206
|
rescue StripException => e
|
206
|
-
|
207
|
+
error "#{e.message}"
|
207
208
|
end
|
208
209
|
end
|
209
|
-
puts "
|
210
|
+
puts File.basename(mobi_path).encode(Encoding::UTF_8) + " を出力しました"
|
211
|
+
puts "<green>MOBIファイルを出力しました</green>".termcolor
|
210
212
|
|
211
213
|
return mobi_path
|
212
214
|
end
|
@@ -218,7 +220,7 @@ module Command
|
|
218
220
|
FileUtils.copy(src_path, copy_to_dir)
|
219
221
|
return File.join(copy_to_dir, File.basename(src_path))
|
220
222
|
else
|
221
|
-
|
223
|
+
error "#{copy_to_dir} はフォルダではないかすでに削除されています。コピー出来ませんでした"
|
222
224
|
return nil
|
223
225
|
end
|
224
226
|
end
|
data/lib/command/diff.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# -*- coding:
|
1
|
+
# -*- coding: utf-8 -*-
|
2
2
|
#
|
3
3
|
# Copyright 2013 whiteleaf. All rights reserved.
|
4
4
|
#
|
@@ -77,13 +77,13 @@ module Command
|
|
77
77
|
id = Downloader.get_id_by_target(target)
|
78
78
|
end
|
79
79
|
unless id
|
80
|
-
|
80
|
+
error "#{target} は存在しません"
|
81
81
|
return
|
82
82
|
end
|
83
83
|
view_diff_version = argv.shift
|
84
84
|
if view_diff_version
|
85
85
|
if invalid_diff_version_string?(view_diff_version)
|
86
|
-
|
86
|
+
error "差分指定の書式が違います(正しい例:2013.02.21@01;39;46)"
|
87
87
|
return
|
88
88
|
end
|
89
89
|
@options["view_diff_version"] = view_diff_version
|
@@ -98,14 +98,14 @@ module Command
|
|
98
98
|
end
|
99
99
|
@difftool = GlobalSetting.get["global_setting"]["difftool"]
|
100
100
|
unless @difftool
|
101
|
-
|
101
|
+
error "difftool が設定されていません。narou setting で difftool を設定して下さい"
|
102
102
|
return
|
103
103
|
end
|
104
104
|
exec_difftool(id)
|
105
105
|
end
|
106
106
|
|
107
107
|
def invalid_diff_version_string?(str)
|
108
|
-
|
108
|
+
str !~ /^\d{4}\.\d{2}\.\d{2}@\d{2};\d{2};\d{2}$/
|
109
109
|
end
|
110
110
|
|
111
111
|
def clean_diff(id)
|
@@ -131,13 +131,13 @@ module Command
|
|
131
131
|
begin
|
132
132
|
res = Open3.capture3(diff_cmd)
|
133
133
|
rescue Errno::ENOENT => e
|
134
|
-
|
134
|
+
error e.message
|
135
135
|
exit 1
|
136
136
|
ensure
|
137
137
|
temp_paths.each { |tmp| tmp.close(true) }
|
138
138
|
end
|
139
139
|
puts res[0] unless res[0].empty?
|
140
|
-
|
140
|
+
error res[1] unless res[1].empty?
|
141
141
|
end
|
142
142
|
|
143
143
|
def create_difftool_command_string(left, right)
|
@@ -212,7 +212,7 @@ module Command
|
|
212
212
|
end
|
213
213
|
puts "差分一覧"
|
214
214
|
cache_list.each.with_index(1) do |cache_path, i|
|
215
|
-
puts File.basename(cache_path) + " -#{i}"
|
215
|
+
puts ("<yellow>" + File.basename(cache_path) + " -#{i}</yellow>").termcolor
|
216
216
|
cache_section_list = Dir.glob(File.join(cache_path, "*.yaml"))
|
217
217
|
if cache_section_list.length > 0
|
218
218
|
cache_section_list.map { |section_path|
|
data/lib/command/download.rb
CHANGED
data/lib/command/folder.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# -*- coding:
|
1
|
+
# -*- coding: utf-8 -*-
|
2
2
|
#
|
3
3
|
# Copyright 2013 whiteleaf. All rights reserved.
|
4
4
|
#
|
@@ -31,7 +31,7 @@ module Command
|
|
31
31
|
Helper.open_directory_by_os_filer(dir)
|
32
32
|
puts dir
|
33
33
|
else
|
34
|
-
|
34
|
+
error "#{target} は存在しません"
|
35
35
|
end
|
36
36
|
end
|
37
37
|
end
|
data/lib/command/freeze.rb
CHANGED
data/lib/command/help.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# -*- coding:
|
1
|
+
# -*- coding: utf-8 -*-
|
2
2
|
#
|
3
3
|
# Copyright 2013 whiteleaf. All rights reserved.
|
4
4
|
#
|
@@ -22,13 +22,13 @@ module Command
|
|
22
22
|
def display_help
|
23
23
|
puts HEADER
|
24
24
|
puts
|
25
|
-
puts " Usage:
|
25
|
+
puts " <green>Usage: narou <command> [arguments...] [options...] [--no-color]</green>".termcolor
|
26
26
|
puts
|
27
27
|
puts " コマンドの簡単な説明:"
|
28
28
|
cmd_list = Command.get_list
|
29
29
|
cmd_list.each do |key, command|
|
30
30
|
oneline = command.oneline_help.split("\n")
|
31
|
-
puts "
|
31
|
+
puts " <green>#{key.ljust(12)}</green> #{oneline.shift}".termcolor
|
32
32
|
oneline.each do |h|
|
33
33
|
puts " " * 16 + h
|
34
34
|
end
|
@@ -36,16 +36,18 @@ module Command
|
|
36
36
|
puts
|
37
37
|
puts " 各コマンドの詳細は narou <command> -h/--help を参照してください。"
|
38
38
|
puts " 各コマンドは先頭の一文字か二文字でも指定できます。"
|
39
|
-
puts " (e.g.
|
39
|
+
puts " (e.g. `<yellow>narou d n4259s</yellow>', `<yellow>narou fr musyoku</yellow>')".termcolor
|
40
|
+
puts
|
41
|
+
puts " 表示の色は--no-colorとオプションを付けるか`<yellow>narou s no-color=true</yellow>'で消せます。".termcolor
|
40
42
|
end
|
41
43
|
|
42
44
|
def display_help_first_time
|
43
45
|
puts HEADER
|
44
46
|
puts
|
45
|
-
puts " Usage:
|
47
|
+
puts " <green>Usage: narou init</green>".termcolor
|
46
48
|
puts
|
47
49
|
puts " まだこのフォルダは初期化されていません。"
|
48
|
-
puts " narou init コマンドを実行して初期化を行いましょう。"
|
50
|
+
puts " <yellow>narou init</yellow> コマンドを実行して初期化を行いましょう。".termcolor
|
49
51
|
end
|
50
52
|
end
|
51
53
|
end
|