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.

Files changed (62) hide show
  1. data/ChangeLog.md +17 -1
  2. data/README.md +18 -12
  3. data/bin/narou +1 -1
  4. data/lib/color.rb +89 -0
  5. data/lib/command.rb +1 -1
  6. data/lib/command/alias.rb +5 -5
  7. data/lib/command/browser.rb +4 -2
  8. data/lib/command/convert.rb +14 -12
  9. data/lib/command/diff.rb +8 -8
  10. data/lib/command/download.rb +1 -1
  11. data/lib/command/folder.rb +2 -2
  12. data/lib/command/freeze.rb +1 -1
  13. data/lib/command/help.rb +8 -6
  14. data/lib/command/init.rb +8 -8
  15. data/lib/command/inspect.rb +2 -2
  16. data/lib/command/interactive.rb +1 -1
  17. data/lib/command/list.rb +5 -2
  18. data/lib/command/new.rb +1 -1
  19. data/lib/command/remove.rb +2 -2
  20. data/lib/command/send.rb +7 -7
  21. data/lib/command/setting.rb +8 -8
  22. data/lib/command/update.rb +2 -2
  23. data/lib/command/version.rb +1 -1
  24. data/lib/commandbase.rb +6 -4
  25. data/lib/commandline.rb +2 -2
  26. data/lib/converterbase.rb +81 -44
  27. data/lib/database.rb +1 -1
  28. data/lib/device.rb +3 -3
  29. data/lib/device/kindle.rb +1 -1
  30. data/lib/device/kobo.rb +1 -1
  31. data/lib/device/library/windows.rb +2 -14
  32. data/lib/downloader.rb +41 -14
  33. data/lib/extensions/windows.rb +58 -0
  34. data/lib/globalsetting.rb +1 -1
  35. data/lib/helper.rb +1 -1
  36. data/lib/illustration.rb +1 -1
  37. data/lib/ini.rb +1 -1
  38. data/lib/inspector.rb +2 -2
  39. data/lib/kindlestrip.rb +1 -1
  40. data/lib/loadconverter.rb +2 -2
  41. data/lib/localsetting.rb +1 -1
  42. data/lib/logger.rb +26 -9
  43. data/lib/narou.rb +1 -1
  44. data/lib/narou/api.rb +41 -0
  45. data/lib/novelconverter.rb +14 -14
  46. data/lib/novelsetting.rb +7 -2
  47. data/lib/progressbar.rb +1 -1
  48. data/lib/ruby.rb +1 -1
  49. data/lib/sitesetting.rb +1 -1
  50. data/lib/template.rb +3 -3
  51. data/lib/version.rb +2 -2
  52. data/narou.gemspec +3 -2
  53. data/narou.rb +5 -3
  54. data/template/converter.rb.erb +1 -1
  55. data/template/diff.txt.erb +1 -1
  56. data/template/novel.txt.erb +2 -1
  57. data/template/replace.txt.erb +2 -2
  58. data/template/setting.ini.erb +1 -1
  59. data/webnovel/ncode.syosetu.com.yaml +2 -1
  60. data/webnovel/novel18.syosetu.com.yaml +2 -1
  61. metadata +48 -19
  62. 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
- - `…` の偶数化を1つからするように変更
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
- - `…` の偶数化を1つからするように変更
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
@@ -1,6 +1,6 @@
1
1
  #! ruby
2
2
  # -*- mode: ruby -*-
3
- # -*- coding: UTF-8 -*-
3
+ # -*- coding: utf-8 -*-
4
4
  #
5
5
  # Narou.rb ― 小説家になろうダウンロード&整形スクリプト
6
6
  #
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
@@ -1,4 +1,4 @@
1
- # -*- coding: UTF-8 -*-
1
+ # -*- coding: utf-8 -*-
2
2
  #
3
3
  # Copyright 2013 whiteleaf. All rights reserved.
4
4
  #
data/lib/command/alias.rb CHANGED
@@ -1,4 +1,4 @@
1
- # -*- coding: UTF-8 -*-
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 "#{name} = #{title}"
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
- warn "別名にはアルファベット・数字・アンダースコアしか使えません"
53
+ error "別名にはアルファベット・数字・アンダースコアしか使えません"
54
54
  next
55
55
  end
56
56
  if target.nil?
57
- warn "書式が間違っています。#{alias_name}=別名 のように書いて下さい"
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
- warn "#{target} は存在しません"
66
+ error "#{target} は存在しません"
67
67
  next
68
68
  end
69
69
  data = Downloader.get_data_by_target(target)
@@ -1,4 +1,4 @@
1
- # -*- coding: UTF-8 -*-
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
- warn "#{target} は存在しません"
37
+ error "#{target} は存在しません"
36
38
  next
37
39
  end
38
40
  toc_url = data["toc_url"]
@@ -1,4 +1,4 @@
1
- # -*- coding: UTF-8 -*-
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
- warn "--enc で指定された文字コードは存在しません。sjis, eucjp, utf-8 等を指定して下さい"
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
- warn "#{target} は存在しません"
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
- warn "#{target}"
165
- warn "テキストファイルの文字コードがUTF-8ではありません。" +
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
- warn "テキストファイルの文字コードは#{@options["encoding"]}ではありませんでした。" +
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
- warn "Error: #{e.message}"
207
+ error "#{e.message}"
207
208
  end
208
209
  end
209
- puts "MOBIファイルを出力しました"
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
- warn "#{copy_to_dir} はフォルダではないかすでに削除されています。コピー出来ませんでした"
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: UTF-8 -*-
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
- warn "#{target} は存在しません"
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
- warn "差分指定の書式が違います(正しい例:2013.02.21@01;39;46)"
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
- warn "difftool が設定されていません。narou setting で difftool を設定して下さい"
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
- !str =~ /^\d{4}\.\d{2}\.\d{2}@\d{2};\d{2};\d{2}$/
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
- warn e.message
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
- warn res[1] unless res[1].empty?
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|
@@ -1,4 +1,4 @@
1
- # -*- coding: UTF-8 -*-
1
+ # -*- coding: utf-8 -*-
2
2
  #
3
3
  # Copyright 2013 whiteleaf. All rights reserved.
4
4
  #
@@ -1,4 +1,4 @@
1
- # -*- coding: UTF-8 -*-
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
- warn "#{target} は存在しません"
34
+ error "#{target} は存在しません"
35
35
  end
36
36
  end
37
37
  end
@@ -1,4 +1,4 @@
1
- # -*- coding: UTF-8 -*-
1
+ # -*- coding: utf-8 -*-
2
2
  #
3
3
  # Copyright 2013 whiteleaf. All rights reserved.
4
4
  #
data/lib/command/help.rb CHANGED
@@ -1,4 +1,4 @@
1
- # -*- coding: UTF-8 -*-
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: #{@opt.program_name} <command> [arguments...] [options...]"
25
+ puts " <green>Usage: narou &lt;command&gt; [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 " #{key.ljust(12)} #{oneline.shift}"
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. `#{@opt.program_name} d n4259s', `#{@opt.program_name} fr musyoku')"
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: #{@opt.program_name} init"
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