narou 1.5.11 → 1.6.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 (101) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -0
  3. data/ChangeLog.md +619 -432
  4. data/Gemfile +9 -0
  5. data/README.md +101 -76
  6. data/lib/color.rb +62 -22
  7. data/lib/command.rb +21 -19
  8. data/lib/command/alias.rb +9 -9
  9. data/lib/command/backup.rb +11 -4
  10. data/lib/command/browser.rb +8 -7
  11. data/lib/command/convert.rb +25 -77
  12. data/lib/command/diff.rb +67 -36
  13. data/lib/command/download.rb +5 -4
  14. data/lib/command/flag.rb +32 -6
  15. data/lib/command/folder.rb +7 -5
  16. data/lib/command/freeze.rb +21 -11
  17. data/lib/command/help.rb +29 -17
  18. data/lib/command/init.rb +7 -7
  19. data/lib/command/inspect.rb +6 -5
  20. data/lib/command/list.rb +106 -25
  21. data/lib/command/mail.rb +6 -7
  22. data/lib/command/remove.rb +9 -7
  23. data/lib/command/send.rb +6 -5
  24. data/lib/command/setting.rb +51 -16
  25. data/lib/command/tag.rb +179 -0
  26. data/lib/command/update.rb +9 -8
  27. data/lib/command/version.rb +4 -4
  28. data/lib/commandbase.rb +79 -8
  29. data/lib/commandline.rb +14 -8
  30. data/lib/converterbase.rb +78 -28
  31. data/lib/database.rb +3 -3
  32. data/lib/device.rb +26 -13
  33. data/lib/device/ibooks.rb +116 -0
  34. data/lib/device/ibunko.rb +45 -0
  35. data/lib/device/kindle.rb +4 -0
  36. data/lib/device/kobo.rb +4 -0
  37. data/lib/device/library/windows.rb +12 -4
  38. data/lib/device/reader.rb +9 -0
  39. data/lib/diffviewer.rb +147 -0
  40. data/lib/downloader.rb +195 -80
  41. data/lib/extensions/jruby.rb +33 -0
  42. data/lib/extensions/windows.rb +8 -9
  43. data/lib/helper.rb +79 -37
  44. data/lib/illustration.rb +1 -1
  45. data/lib/inspector.rb +2 -2
  46. data/lib/inventory.rb +48 -0
  47. data/lib/logger.rb +28 -4
  48. data/lib/narou.rb +9 -7
  49. data/lib/narou/api.rb +7 -2
  50. data/lib/novelconverter.rb +46 -19
  51. data/lib/novelinfo.rb +13 -3
  52. data/lib/novelsetting.rb +17 -9
  53. data/lib/version.rb +1 -1
  54. data/narou.gemspec +106 -27
  55. data/narou.rb +2 -2
  56. data/spec/convert_spec.rb +102 -0
  57. data/spec/data/convert_test/auto_indent/correct_test_auto_indent.txt +18 -0
  58. data/spec/data/convert_test/auto_indent/test_auto_indent.txt +21 -0
  59. data/spec/data/convert_test/auto_join_bracket/correct_test_auto_join_bracket.txt +12 -0
  60. data/spec/data/convert_test/auto_join_bracket/test_auto_join_bracket.txt +16 -0
  61. data/spec/data/convert_test/auto_join_line/correct_test_auto_join_line.txt +36 -0
  62. data/spec/data/convert_test/auto_join_line/test_auto_join_line.txt +51 -0
  63. data/spec/data/convert_test/convert_page_break/correct_test_convert_page_break.txt +21 -0
  64. data/spec/data/convert_test/convert_page_break/setting.ini +5 -0
  65. data/spec/data/convert_test/convert_page_break/test_convert_page_break.txt +60 -0
  66. data/spec/data/convert_test/force_indent_special_chapter/correct_test_force_indent_special_chapter.txt +64 -0
  67. data/spec/data/convert_test/force_indent_special_chapter/test_force_indent_special_chapter.txt +61 -0
  68. data/spec/data/convert_test/horizontal_ellipsis/correct_test_horizontal_ellipsis.txt +52 -0
  69. data/spec/data/convert_test/horizontal_ellipsis/test_horizontal_ellipsis.txt +57 -0
  70. data/spec/data/convert_test/kanji_num/correct_test_kanji_num.txt +49 -0
  71. data/spec/data/convert_test/kanji_num/test_kanji_num.txt +56 -0
  72. data/spec/data/convert_test/nonokagi/correct_test_nonokagi.txt +29 -0
  73. data/spec/data/convert_test/nonokagi/test_nonokagi.txt +34 -0
  74. data/spec/data/convert_test/replace/correct_test_replace.txt +12 -0
  75. data/spec/data/convert_test/replace/replace.txt +7 -0
  76. data/spec/data/convert_test/replace/test_replace.txt +14 -0
  77. data/spec/data/convert_test/ruby/correct_test_ruby.txt +131 -0
  78. data/spec/data/convert_test/ruby/test_ruby.txt +170 -0
  79. data/spec/data/convert_test/ruby_youon/correct_test_ruby_youon.txt +12 -0
  80. data/spec/data/convert_test/ruby_youon/setting.ini +2 -0
  81. data/spec/data/convert_test/ruby_youon/test_ruby_youon.txt +14 -0
  82. data/spec/data/convert_test/sesame/correct_test_sesame.txt +40 -0
  83. data/spec/data/convert_test/sesame/test_sesame.txt +52 -0
  84. data/spec/data/convert_test/to_odd_leader/correct_test_to_odd_leader.txt +20 -0
  85. data/spec/data/convert_test/to_odd_leader/test_to_odd_leader.txt +21 -0
  86. data/spec/device_spec.rb +3 -3
  87. data/spec/generator/convert_spec_gen.rb +95 -0
  88. data/spec/html_spec.rb +9 -8
  89. data/spec/ini_spec.rb +31 -31
  90. data/spec/novelinfo_spec.rb +2 -2
  91. data/spec/num_to_kanji_spec.rb +2 -2
  92. data/template/diff.txt.erb +5 -2
  93. data/template/ibunko_novel.txt.erb +2 -1
  94. data/template/novel.txt.erb +16 -3
  95. data/template/setting.ini.erb +1 -1
  96. data/webnovel/ncode.syosetu.com.yaml +7 -7
  97. data/webnovel/novel18.syosetu.com.yaml +7 -7
  98. data/webnovel/syosetu.org.yaml +8 -11
  99. metadata +193 -23
  100. data/lib/globalsetting.rb +0 -64
  101. data/lib/localsetting.rb +0 -63
data/lib/globalsetting.rb DELETED
@@ -1,64 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- #
3
- # Copyright 2013 whiteleaf. All rights reserved.
4
- #
5
-
6
- require "yaml"
7
- require "singleton"
8
- require_relative "narou"
9
-
10
- #
11
- # ユーザープロファイルに保存するのでいつでも反映される設定
12
- #
13
- class GlobalSetting
14
- include Singleton
15
-
16
- def self.get
17
- instance
18
- end
19
-
20
- def initialize
21
- @global_settings = load_settings
22
- end
23
-
24
- def [](name)
25
- setting = @global_settings[name]
26
- unless setting
27
- setting = {}
28
- @global_settings[name] = setting
29
- end
30
- setting
31
- end
32
-
33
- def []=(name, setting)
34
- @global_settings[name] = setting
35
- end
36
-
37
- def save_settings(name = nil)
38
- if name
39
- save_list = { name => @global_settings[name] }
40
- else
41
- save_list = @global_settings
42
- end
43
- save_list.each do |sname, setting|
44
- path = File.join(Narou.get_global_setting_dir, sname + ".yaml")
45
- File.write(path, YAML.dump(setting))
46
- end
47
- end
48
-
49
- #
50
- # .narou 以下に保存されている *.yaml の拡張子を取った部分をキーとして
51
- # 設定をハッシュとして取得する
52
- #
53
- def load_settings
54
- settings = {}
55
- global_setting_dir = Narou.get_global_setting_dir
56
- if global_setting_dir
57
- Dir.glob(File.join(global_setting_dir, "*.yaml")) do |path|
58
- name = File.basename(path, ".yaml")
59
- settings[name] = YAML.load_file(path)
60
- end
61
- end
62
- settings
63
- end
64
- end
data/lib/localsetting.rb DELETED
@@ -1,63 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- #
3
- # Copyright 2013 whiteleaf. All rights reserved.
4
- #
5
-
6
- require "yaml"
7
- require "singleton"
8
-
9
- #
10
- # 管理小説のみに適用される設定
11
- #
12
- class LocalSetting
13
- include Singleton
14
-
15
- def self.get
16
- instance
17
- end
18
-
19
- def initialize
20
- @local_settings = load_settings
21
- end
22
-
23
- def [](name)
24
- setting = @local_settings[name]
25
- unless setting
26
- setting = {}
27
- @local_settings[name] = setting
28
- end
29
- setting
30
- end
31
-
32
- def []=(name, setting)
33
- @local_settings[name] = setting
34
- end
35
-
36
- def save_settings(name = nil)
37
- if name
38
- save_list = { name => @local_settings[name] }
39
- else
40
- save_list = @local_settings
41
- end
42
- save_list.each do |sname, setting|
43
- path = File.join(Narou.get_local_setting_dir, sname + ".yaml")
44
- File.write(path, YAML.dump(setting))
45
- end
46
- end
47
-
48
- #
49
- # .narou 以下に保存されている *.yaml の拡張子を取った部分をキーとして
50
- # 設定をハッシュとして取得する
51
- #
52
- def load_settings
53
- settings = {}
54
- local_setting_dir = Narou.get_local_setting_dir
55
- if local_setting_dir
56
- Dir.glob(File.join(local_setting_dir, "*.yaml")) do |path|
57
- name = File.basename(path, ".yaml")
58
- settings[name] = YAML.load_file(path)
59
- end
60
- end
61
- settings
62
- end
63
- end