nanoc 3.7.4 → 3.7.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +19 -18
  3. data/LICENSE +1 -1
  4. data/NEWS.md +14 -0
  5. data/Rakefile +1 -1
  6. data/doc/yardoc_handlers/identifier.rb +1 -5
  7. data/lib/nanoc.rb +1 -3
  8. data/lib/nanoc/base.rb +1 -4
  9. data/lib/nanoc/base/checksummer.rb +10 -12
  10. data/lib/nanoc/base/compilation/checksum_store.rb +0 -4
  11. data/lib/nanoc/base/compilation/compiled_content_cache.rb +0 -4
  12. data/lib/nanoc/base/compilation/compiler.rb +27 -31
  13. data/lib/nanoc/base/compilation/compiler_dsl.rb +3 -7
  14. data/lib/nanoc/base/compilation/dependency_tracker.rb +2 -6
  15. data/lib/nanoc/base/compilation/filter.rb +1 -7
  16. data/lib/nanoc/base/compilation/item_rep_proxy.rb +0 -4
  17. data/lib/nanoc/base/compilation/item_rep_recorder_proxy.rb +0 -4
  18. data/lib/nanoc/base/compilation/outdatedness_checker.rb +0 -4
  19. data/lib/nanoc/base/compilation/outdatedness_reasons.rb +0 -6
  20. data/lib/nanoc/base/compilation/rule.rb +1 -5
  21. data/lib/nanoc/base/compilation/rule_context.rb +7 -11
  22. data/lib/nanoc/base/compilation/rule_memory_calculator.rb +0 -4
  23. data/lib/nanoc/base/compilation/rule_memory_store.rb +0 -4
  24. data/lib/nanoc/base/compilation/rules_collection.rb +5 -9
  25. data/lib/nanoc/base/context.rb +0 -3
  26. data/lib/nanoc/base/core_ext.rb +0 -1
  27. data/lib/nanoc/base/core_ext/array.rb +0 -2
  28. data/lib/nanoc/base/core_ext/hash.rb +0 -2
  29. data/lib/nanoc/base/core_ext/pathname.rb +0 -2
  30. data/lib/nanoc/base/core_ext/string.rb +0 -2
  31. data/lib/nanoc/base/directed_graph.rb +0 -4
  32. data/lib/nanoc/base/errors.rb +1 -39
  33. data/lib/nanoc/base/memoization.rb +0 -4
  34. data/lib/nanoc/base/notification_center.rb +1 -7
  35. data/lib/nanoc/base/plugin_registry.rb +4 -10
  36. data/lib/nanoc/base/result_data/item_rep.rb +8 -16
  37. data/lib/nanoc/base/source_data/code_snippet.rb +1 -5
  38. data/lib/nanoc/base/source_data/configuration.rb +0 -4
  39. data/lib/nanoc/base/source_data/data_source.rb +2 -5
  40. data/lib/nanoc/base/source_data/item.rb +3 -7
  41. data/lib/nanoc/base/source_data/item_array.rb +1 -5
  42. data/lib/nanoc/base/source_data/layout.rb +2 -6
  43. data/lib/nanoc/base/source_data/site.rb +20 -23
  44. data/lib/nanoc/base/store.rb +1 -5
  45. data/lib/nanoc/base/temp_filename_factory.rb +0 -4
  46. data/lib/nanoc/cli.rb +3 -5
  47. data/lib/nanoc/cli/ansi_string_colorizer.rb +6 -10
  48. data/lib/nanoc/cli/cleaning_stream.rb +2 -6
  49. data/lib/nanoc/cli/command_runner.rb +1 -5
  50. data/lib/nanoc/cli/commands/autocompile.rb +2 -6
  51. data/lib/nanoc/cli/commands/check.rb +0 -4
  52. data/lib/nanoc/cli/commands/compile.rb +12 -27
  53. data/lib/nanoc/cli/commands/create-item.rb +1 -5
  54. data/lib/nanoc/cli/commands/create-layout.rb +0 -4
  55. data/lib/nanoc/cli/commands/create-site.rb +2 -8
  56. data/lib/nanoc/cli/commands/deploy.rb +3 -7
  57. data/lib/nanoc/cli/commands/prune.rb +2 -6
  58. data/lib/nanoc/cli/commands/shell.rb +4 -8
  59. data/lib/nanoc/cli/commands/show-data.rb +3 -7
  60. data/lib/nanoc/cli/commands/show-plugins.rb +3 -7
  61. data/lib/nanoc/cli/commands/show-rules.rb +11 -15
  62. data/lib/nanoc/cli/commands/sync.rb +0 -4
  63. data/lib/nanoc/cli/commands/update.rb +1 -7
  64. data/lib/nanoc/cli/commands/validate-css.rb +0 -4
  65. data/lib/nanoc/cli/commands/validate-html.rb +0 -4
  66. data/lib/nanoc/cli/commands/validate-links.rb +0 -4
  67. data/lib/nanoc/cli/commands/view.rb +3 -7
  68. data/lib/nanoc/cli/commands/watch.rb +4 -10
  69. data/lib/nanoc/cli/error_handler.rb +9 -13
  70. data/lib/nanoc/cli/logger.rb +8 -12
  71. data/lib/nanoc/cli/stream_cleaners.rb +0 -4
  72. data/lib/nanoc/cli/stream_cleaners/abstract.rb +1 -5
  73. data/lib/nanoc/cli/stream_cleaners/ansi_colors.rb +0 -4
  74. data/lib/nanoc/cli/stream_cleaners/utf8.rb +1 -5
  75. data/lib/nanoc/data_sources.rb +2 -4
  76. data/lib/nanoc/data_sources/deprecated/delicious.rb +6 -10
  77. data/lib/nanoc/data_sources/deprecated/last_fm.rb +7 -11
  78. data/lib/nanoc/data_sources/deprecated/twitter.rb +2 -6
  79. data/lib/nanoc/data_sources/filesystem.rb +10 -13
  80. data/lib/nanoc/data_sources/filesystem_unified.rb +0 -4
  81. data/lib/nanoc/data_sources/filesystem_verbose.rb +0 -4
  82. data/lib/nanoc/data_sources/static.rb +4 -8
  83. data/lib/nanoc/extra.rb +2 -4
  84. data/lib/nanoc/extra/auto_compiler.rb +2 -6
  85. data/lib/nanoc/extra/checking.rb +0 -4
  86. data/lib/nanoc/extra/checking/check.rb +0 -4
  87. data/lib/nanoc/extra/checking/checks.rb +0 -2
  88. data/lib/nanoc/extra/checking/checks/css.rb +6 -6
  89. data/lib/nanoc/extra/checking/checks/external_links.rb +3 -11
  90. data/lib/nanoc/extra/checking/checks/html.rb +6 -6
  91. data/lib/nanoc/extra/checking/checks/internal_links.rb +3 -7
  92. data/lib/nanoc/extra/checking/checks/stale.rb +3 -7
  93. data/lib/nanoc/extra/checking/dsl.rb +0 -4
  94. data/lib/nanoc/extra/checking/issue.rb +0 -4
  95. data/lib/nanoc/extra/checking/runner.rb +4 -7
  96. data/lib/nanoc/extra/chick.rb +7 -17
  97. data/lib/nanoc/extra/core_ext.rb +0 -1
  98. data/lib/nanoc/extra/core_ext/pathname.rb +0 -4
  99. data/lib/nanoc/extra/core_ext/time.rb +0 -2
  100. data/lib/nanoc/extra/deployer.rb +0 -4
  101. data/lib/nanoc/extra/deployers.rb +0 -4
  102. data/lib/nanoc/extra/deployers/fog.rb +7 -11
  103. data/lib/nanoc/extra/deployers/rsync.rb +1 -5
  104. data/lib/nanoc/extra/file_proxy.rb +1 -5
  105. data/lib/nanoc/extra/filesystem_tools.rb +37 -12
  106. data/lib/nanoc/extra/jruby_nokogiri_warner.rb +0 -4
  107. data/lib/nanoc/extra/link_collector.rb +3 -7
  108. data/lib/nanoc/extra/piper.rb +0 -6
  109. data/lib/nanoc/extra/pruner.rb +1 -7
  110. data/lib/nanoc/extra/validators.rb +0 -4
  111. data/lib/nanoc/extra/validators/links.rb +0 -4
  112. data/lib/nanoc/extra/validators/w3c.rb +0 -4
  113. data/lib/nanoc/extra/vcs.rb +3 -7
  114. data/lib/nanoc/extra/vcses.rb +0 -2
  115. data/lib/nanoc/extra/vcses/bazaar.rb +0 -4
  116. data/lib/nanoc/extra/vcses/dummy.rb +0 -4
  117. data/lib/nanoc/extra/vcses/git.rb +0 -4
  118. data/lib/nanoc/extra/vcses/mercurial.rb +0 -4
  119. data/lib/nanoc/extra/vcses/subversion.rb +0 -4
  120. data/lib/nanoc/filters.rb +0 -2
  121. data/lib/nanoc/filters/asciidoc.rb +1 -5
  122. data/lib/nanoc/filters/bluecloth.rb +0 -2
  123. data/lib/nanoc/filters/coderay.rb +0 -2
  124. data/lib/nanoc/filters/coffeescript.rb +0 -4
  125. data/lib/nanoc/filters/colorize_syntax.rb +17 -15
  126. data/lib/nanoc/filters/erb.rb +1 -3
  127. data/lib/nanoc/filters/erubis.rb +2 -4
  128. data/lib/nanoc/filters/haml.rb +2 -4
  129. data/lib/nanoc/filters/handlebars.rb +0 -4
  130. data/lib/nanoc/filters/kramdown.rb +7 -4
  131. data/lib/nanoc/filters/less.rb +1 -3
  132. data/lib/nanoc/filters/markaby.rb +0 -2
  133. data/lib/nanoc/filters/maruku.rb +0 -2
  134. data/lib/nanoc/filters/mustache.rb +1 -5
  135. data/lib/nanoc/filters/pandoc.rb +0 -2
  136. data/lib/nanoc/filters/rainpress.rb +0 -2
  137. data/lib/nanoc/filters/rdiscount.rb +0 -2
  138. data/lib/nanoc/filters/rdoc.rb +0 -2
  139. data/lib/nanoc/filters/redcarpet.rb +0 -4
  140. data/lib/nanoc/filters/redcloth.rb +0 -2
  141. data/lib/nanoc/filters/relativize_paths.rb +2 -4
  142. data/lib/nanoc/filters/rubypants.rb +0 -2
  143. data/lib/nanoc/filters/sass.rb +2 -4
  144. data/lib/nanoc/filters/sass/sass_filesystem_importer.rb +0 -2
  145. data/lib/nanoc/filters/slim.rb +2 -6
  146. data/lib/nanoc/filters/typogruby.rb +0 -4
  147. data/lib/nanoc/filters/uglify_js.rb +0 -2
  148. data/lib/nanoc/filters/xsl.rb +1 -5
  149. data/lib/nanoc/filters/yui_compressor.rb +0 -4
  150. data/lib/nanoc/helpers.rb +0 -2
  151. data/lib/nanoc/helpers/blogging.rb +12 -20
  152. data/lib/nanoc/helpers/breadcrumbs.rb +0 -4
  153. data/lib/nanoc/helpers/capturing.rb +2 -10
  154. data/lib/nanoc/helpers/filtering.rb +0 -4
  155. data/lib/nanoc/helpers/html_escape.rb +3 -7
  156. data/lib/nanoc/helpers/link_to.rb +0 -4
  157. data/lib/nanoc/helpers/rendering.rb +8 -12
  158. data/lib/nanoc/helpers/tagging.rb +0 -4
  159. data/lib/nanoc/helpers/text.rb +1 -5
  160. data/lib/nanoc/helpers/xml_sitemap.rb +3 -7
  161. data/lib/nanoc/tasks/clean.rb +1 -7
  162. data/lib/nanoc/tasks/deploy/rsync.rake +0 -2
  163. data/lib/nanoc/tasks/validate.rake +0 -4
  164. data/lib/nanoc/version.rb +1 -3
  165. data/nanoc.gemspec +12 -9
  166. data/tasks/rubocop.rake +1 -1
  167. data/tasks/test.rake +6 -7
  168. data/test/base/checksummer_spec.rb +28 -44
  169. data/test/base/core_ext/array_spec.rb +1 -9
  170. data/test/base/core_ext/hash_spec.rb +7 -19
  171. data/test/base/core_ext/pathname_spec.rb +2 -4
  172. data/test/base/core_ext/string_spec.rb +0 -4
  173. data/test/base/temp_filename_factory_spec.rb +0 -8
  174. data/test/base/test_checksum_store.rb +0 -2
  175. data/test/base/test_code_snippet.rb +0 -2
  176. data/test/base/test_compiler.rb +15 -17
  177. data/test/base/test_compiler_dsl.rb +7 -9
  178. data/test/base/test_context.rb +2 -4
  179. data/test/base/test_data_source.rb +0 -2
  180. data/test/base/test_dependency_tracker.rb +0 -2
  181. data/test/base/test_directed_graph.rb +2 -4
  182. data/test/base/test_filter.rb +5 -7
  183. data/test/base/test_item.rb +17 -13
  184. data/test/base/test_item_array.rb +2 -4
  185. data/test/base/test_item_rep.rb +79 -73
  186. data/test/base/test_layout.rb +3 -5
  187. data/test/base/test_memoization.rb +13 -21
  188. data/test/base/test_notification_center.rb +0 -2
  189. data/test/base/test_outdatedness_checker.rb +34 -36
  190. data/test/base/test_plugin.rb +0 -2
  191. data/test/base/test_rule.rb +3 -5
  192. data/test/base/test_rule_context.rb +4 -6
  193. data/test/base/test_site.rb +9 -17
  194. data/test/base/test_store.rb +2 -6
  195. data/test/cli/commands/test_check.rb +1 -3
  196. data/test/cli/commands/test_compile.rb +24 -15
  197. data/test/cli/commands/test_create_item.rb +1 -3
  198. data/test/cli/commands/test_create_layout.rb +0 -2
  199. data/test/cli/commands/test_create_site.rb +0 -3
  200. data/test/cli/commands/test_deploy.rb +9 -11
  201. data/test/cli/commands/test_help.rb +0 -2
  202. data/test/cli/commands/test_info.rb +0 -2
  203. data/test/cli/commands/test_prune.rb +6 -8
  204. data/test/cli/commands/test_sync.rb +0 -2
  205. data/test/cli/commands/test_update.rb +0 -2
  206. data/test/cli/commands/test_watch.rb +4 -6
  207. data/test/cli/test_cleaning_stream.rb +4 -6
  208. data/test/cli/test_cli.rb +9 -5
  209. data/test/cli/test_error_handler.rb +9 -7
  210. data/test/cli/test_logger.rb +0 -2
  211. data/test/data_sources/test_filesystem.rb +8 -10
  212. data/test/data_sources/test_filesystem_unified.rb +35 -34
  213. data/test/data_sources/test_filesystem_verbose.rb +31 -33
  214. data/test/data_sources/test_static.rb +20 -21
  215. data/test/extra/checking/checks/test_css.rb +23 -2
  216. data/test/extra/checking/checks/test_external_links.rb +2 -4
  217. data/test/extra/checking/checks/test_html.rb +4 -3
  218. data/test/extra/checking/checks/test_internal_links.rb +1 -3
  219. data/test/extra/checking/checks/test_stale.rb +4 -6
  220. data/test/extra/checking/test_check.rb +0 -2
  221. data/test/extra/checking/test_dsl.rb +1 -3
  222. data/test/extra/checking/test_runner.rb +0 -2
  223. data/test/extra/core_ext/test_pathname.rb +0 -3
  224. data/test/extra/core_ext/test_time.rb +0 -2
  225. data/test/extra/deployers/test_fog.rb +13 -15
  226. data/test/extra/deployers/test_rsync.rb +4 -6
  227. data/test/extra/test_auto_compiler.rb +47 -25
  228. data/test/extra/test_file_proxy.rb +1 -3
  229. data/test/extra/test_filesystem_tools.rb +47 -7
  230. data/test/extra/test_link_collector.rb +0 -2
  231. data/test/extra/test_piper.rb +3 -5
  232. data/test/extra/test_vcs.rb +0 -2
  233. data/test/extra/validators/test_links.rb +0 -1
  234. data/test/extra/validators/test_w3c.rb +2 -4
  235. data/test/filters/test_asciidoc.rb +0 -2
  236. data/test/filters/test_bluecloth.rb +0 -2
  237. data/test/filters/test_coderay.rb +2 -4
  238. data/test/filters/test_coffeescript.rb +0 -2
  239. data/test/filters/test_colorize_syntax.rb +16 -18
  240. data/test/filters/test_erb.rb +12 -14
  241. data/test/filters/test_erubis.rb +4 -6
  242. data/test/filters/test_haml.rb +7 -9
  243. data/test/filters/test_handlebars.rb +10 -12
  244. data/test/filters/test_kramdown.rb +13 -1
  245. data/test/filters/test_less.rb +9 -11
  246. data/test/filters/test_markaby.rb +0 -2
  247. data/test/filters/test_maruku.rb +0 -2
  248. data/test/filters/test_mustache.rb +4 -6
  249. data/test/filters/test_pandoc.rb +1 -3
  250. data/test/filters/test_rainpress.rb +1 -3
  251. data/test/filters/test_rdiscount.rb +1 -3
  252. data/test/filters/test_rdoc.rb +0 -2
  253. data/test/filters/test_redcarpet.rb +6 -8
  254. data/test/filters/test_redcloth.rb +1 -3
  255. data/test/filters/test_relativize_paths.rb +29 -34
  256. data/test/filters/test_rubypants.rb +0 -2
  257. data/test/filters/test_sass.rb +8 -10
  258. data/test/filters/test_slim.rb +2 -4
  259. data/test/filters/test_typogruby.rb +0 -3
  260. data/test/filters/test_uglify_js.rb +2 -4
  261. data/test/filters/test_xsl.rb +16 -18
  262. data/test/filters/test_yui_compressor.rb +3 -5
  263. data/test/fixtures/vcr_cassettes/css_run_parse_error.yml +65 -0
  264. data/test/gem_loader.rb +1 -1
  265. data/test/helper.rb +11 -15
  266. data/test/helpers/test_blogging.rb +61 -63
  267. data/test/helpers/test_breadcrumbs.rb +0 -2
  268. data/test/helpers/test_capturing.rb +4 -6
  269. data/test/helpers/test_filtering.rb +2 -4
  270. data/test/helpers/test_html_escape.rb +0 -2
  271. data/test/helpers/test_link_to.rb +5 -6
  272. data/test/helpers/test_rendering.rb +2 -4
  273. data/test/helpers/test_tagging.rb +9 -11
  274. data/test/helpers/test_text.rb +6 -8
  275. data/test/helpers/test_xml_sitemap.rb +11 -13
  276. data/test/tasks/test_clean.rb +0 -2
  277. data/test/test_gem.rb +1 -3
  278. metadata +15 -14
  279. data/Gemfile.lock +0 -252
  280. data/lib/nanoc/base/core_ext/date.rb +0 -29
  281. data/lib/nanoc/base/ordered_hash.rb +0 -228
  282. data/lib/nanoc/extra/core_ext/enumerable.rb +0 -33
  283. data/test/base/core_ext/date_spec.rb +0 -15
  284. data/test/extra/core_ext/test_enumerable.rb +0 -28
@@ -9,9 +9,7 @@ current site, along with dependency information.
9
9
  EOS
10
10
 
11
11
  module Nanoc::CLI::Commands
12
-
13
12
  class ShowData < ::Nanoc::CLI::CommandRunner
14
-
15
13
  def run
16
14
  load_site
17
15
 
@@ -35,7 +33,7 @@ module Nanoc::CLI::Commands
35
33
 
36
34
  def sorted_with_prev(objects)
37
35
  prev = nil
38
- objects.sort_by { |o| o.identifier }.each do |object|
36
+ objects.sort_by(&:identifier).each do |object|
39
37
  yield(object, prev)
40
38
  prev = object
41
39
  end
@@ -43,7 +41,7 @@ module Nanoc::CLI::Commands
43
41
 
44
42
  def sorted_reps_with_prev(items)
45
43
  prev = nil
46
- items.sort_by { |i| i.identifier }.each do |item|
44
+ items.sort_by(&:identifier).each do |item|
47
45
  item.reps.sort_by { |r| r.name.to_s }.each do |rep|
48
46
  yield(rep, prev)
49
47
  prev = rep
@@ -89,7 +87,7 @@ module Nanoc::CLI::Commands
89
87
  end
90
88
  length = rep.raw_paths.keys.map { |s| s.to_s.length }.max
91
89
  rep.raw_paths.each do |snapshot_name, raw_path|
92
- puts " [ %-#{length}s ] %s" % [snapshot_name, raw_path]
90
+ puts format(" [ %-#{length}s ] %s", snapshot_name, raw_path)
93
91
  end
94
92
  end
95
93
  end
@@ -124,9 +122,7 @@ module Nanoc::CLI::Commands
124
122
  puts
125
123
  end
126
124
  end
127
-
128
125
  end
129
-
130
126
  end
131
127
 
132
128
  runner Nanoc::CLI::Commands::ShowData
@@ -9,9 +9,7 @@ If the current directory contains a nanoc web site, the plugins defined in this
9
9
  EOS
10
10
 
11
11
  module Nanoc::CLI::Commands
12
-
13
12
  class ShowPlugins < ::Nanoc::CLI::CommandRunner
14
-
15
13
  def run
16
14
  # Check arguments
17
15
  if arguments.size != 0
@@ -35,8 +33,8 @@ module Nanoc::CLI::Commands
35
33
 
36
34
  PLUGIN_CLASS_ORDER.each do |superclass|
37
35
  plugins_with_this_superclass = {
38
- :builtin => plugins_builtin.select { |p| p[:superclass] == superclass },
39
- :custom => plugins_custom.select { |p| p[:superclass] == superclass }
36
+ builtin: plugins_builtin.select { |p| p[:superclass] == superclass },
37
+ custom: plugins_custom.select { |p| p[:superclass] == superclass }
40
38
  }
41
39
 
42
40
  # Print kind
@@ -59,7 +57,7 @@ module Nanoc::CLI::Commands
59
57
  # Print plugins
60
58
  relevant_plugins.sort_by { |k| k[:identifiers].join(', ') }.each do |plugin|
61
59
  # Display
62
- puts sprintf(
60
+ puts format(
63
61
  " %-#{max_identifiers_length}s (%s)",
64
62
  plugin[:identifiers].join(', '),
65
63
  plugin[:class].to_s.sub(/^::/, '')
@@ -90,9 +88,7 @@ module Nanoc::CLI::Commands
90
88
  def name_for_plugin_class(klass)
91
89
  PLUGIN_CLASSES[klass]
92
90
  end
93
-
94
91
  end
95
-
96
92
  end
97
93
 
98
94
  runner Nanoc::CLI::Commands::ShowPlugins
@@ -8,18 +8,16 @@ Prints the rules used for all items and layouts in the current site.
8
8
  "
9
9
 
10
10
  module Nanoc::CLI::Commands
11
-
12
11
  class ShowRules < ::Nanoc::CLI::CommandRunner
13
-
14
12
  def run
15
13
  require_site
16
14
 
17
15
  @c = Nanoc::CLI::ANSIStringColorizer
18
16
  @calc = site.compiler.rule_memory_calculator
19
17
 
20
- # TODO explain /foo/
21
- # TODO explain content/foo.html
22
- # TODO explain output/foo/index.html
18
+ # TODO: explain /foo/
19
+ # TODO: explain content/foo.html
20
+ # TODO: explain output/foo/index.html
23
21
 
24
22
  site.items.each { |i| explain_item(i) }
25
23
  site.layouts.each { |l| explain_layout(l) }
@@ -36,16 +34,16 @@ module Nanoc::CLI::Commands
36
34
  puts ' (nothing)'
37
35
  else
38
36
  @calc[rep].each do |mem|
39
- puts ' %s %s' % [
37
+ puts format(' %s %s',
40
38
  @c.c(format('%-10s', mem[0].to_s), :blue),
41
- mem[1..-1].map { |m| m.inspect }.join(', ')
42
- ]
39
+ mem[1..-1].map(&:inspect).join(', ')
40
+ )
43
41
  end
44
42
  if rep.raw_path
45
- puts ' %s %s' % [
43
+ puts format(' %s %s',
46
44
  @c.c(format('%-10s', 'write to'), :blue),
47
45
  rep.raw_path
48
- ]
46
+ )
49
47
  end
50
48
  end
51
49
  end
@@ -55,15 +53,13 @@ module Nanoc::CLI::Commands
55
53
  def explain_layout(layout)
56
54
  puts "#{@c.c('Layout ' + layout.identifier, :bold, :yellow)}:"
57
55
  puts " (from #{layout[:filename]})" if layout[:filename]
58
- puts ' %s %s' % [
56
+ puts format(' %s %s',
59
57
  @c.c(format('%-10s', 'filter'), :blue),
60
- @calc[layout].map { |m| m.inspect }.join(', ')
61
- ]
58
+ @calc[layout].map(&:inspect).join(', ')
59
+ )
62
60
  puts
63
61
  end
64
-
65
62
  end
66
-
67
63
  end
68
64
 
69
65
  runner Nanoc::CLI::Commands::ShowRules
@@ -8,9 +8,7 @@ for data sources which rely on slow external APIs.
8
8
  EOS
9
9
 
10
10
  module Nanoc::CLI::Commands
11
-
12
11
  class Sync < ::Nanoc::CLI::CommandRunner
13
-
14
12
  def run
15
13
  # Check arguments
16
14
  if arguments.size != 0
@@ -28,9 +26,7 @@ module Nanoc::CLI::Commands
28
26
  end
29
27
  end
30
28
  end
31
-
32
29
  end
33
-
34
30
  end
35
31
 
36
32
  runner Nanoc::CLI::Commands::Sync
@@ -16,9 +16,7 @@ required :c, :vcs, 'select the VCS to use'
16
16
  flag :y, :yes, 'update the data without warning'
17
17
 
18
18
  module Nanoc::CLI::Commands
19
-
20
19
  class Update < ::Nanoc::CLI::CommandRunner
21
-
22
20
  def run
23
21
  # Check arguments
24
22
  if arguments.size != 0
@@ -57,13 +55,9 @@ module Nanoc::CLI::Commands
57
55
  end
58
56
 
59
57
  # Update
60
- site.data_sources.each do |data_source|
61
- data_source.update
62
- end
58
+ site.data_sources.each(&:update)
63
59
  end
64
-
65
60
  end
66
-
67
61
  end
68
62
 
69
63
  runner Nanoc::CLI::Commands::Update
@@ -9,16 +9,12 @@ Validates the site’s CSS files.
9
9
  "
10
10
 
11
11
  module Nanoc::CLI::Commands
12
-
13
12
  class ValidateCSS < ::Nanoc::CLI::CommandRunner
14
-
15
13
  def run
16
14
  warn 'The `validate-css` command is deprecated. Please use the new `check` command instead.'
17
15
  Nanoc::CLI.run %w( check css )
18
16
  end
19
-
20
17
  end
21
-
22
18
  end
23
19
 
24
20
  runner Nanoc::CLI::Commands::ValidateCSS
@@ -9,16 +9,12 @@ Validates the site’s HTML files.
9
9
  "
10
10
 
11
11
  module Nanoc::CLI::Commands
12
-
13
12
  class ValidateHTML < ::Nanoc::CLI::CommandRunner
14
-
15
13
  def run
16
14
  warn 'The `validate-html` command is deprecated. Please use the new `check` command instead.'
17
15
  Nanoc::CLI.run %w( check html )
18
16
  end
19
-
20
17
  end
21
-
22
18
  end
23
19
 
24
20
  runner Nanoc::CLI::Commands::ValidateHTML
@@ -12,9 +12,7 @@ flag :i, :internal, 'validate internal links only'
12
12
  flag :e, :external, 'validate external links only'
13
13
 
14
14
  module Nanoc::CLI::Commands
15
-
16
15
  class ValidateLinks < ::Nanoc::CLI::CommandRunner
17
-
18
16
  def run
19
17
  warn 'The `validate-links` command is deprecated. Please use the new `check` command instead.'
20
18
 
@@ -23,9 +21,7 @@ module Nanoc::CLI::Commands
23
21
  checks << 'elinks' if options[:external]
24
22
  Nanoc::CLI.run ['check', checks].flatten
25
23
  end
26
-
27
24
  end
28
-
29
25
  end
30
26
 
31
27
  runner Nanoc::CLI::Commands::ValidateLinks
@@ -13,9 +13,7 @@ required :o, :host, 'specify the host to listen on (default: 0.0.0.0)'
13
13
  required :p, :port, 'specify the port to listen on (default: 3000)'
14
14
 
15
15
  module Nanoc::CLI::Commands
16
-
17
16
  class View < ::Nanoc::CLI::CommandRunner
18
-
19
17
  DEFAULT_HANDLER_NAME = :thin
20
18
 
21
19
  def run
@@ -27,8 +25,8 @@ module Nanoc::CLI::Commands
27
25
 
28
26
  # Set options
29
27
  options_for_rack = {
30
- :Port => (options[:port] || 3000).to_i,
31
- :Host => (options[:host] || '0.0.0.0')
28
+ Port: (options[:port] || 3000).to_i,
29
+ Host: (options[:host] || '0.0.0.0')
32
30
  }
33
31
 
34
32
  # Get handler
@@ -49,7 +47,7 @@ module Nanoc::CLI::Commands
49
47
  use Rack::ShowExceptions
50
48
  use Rack::Lint
51
49
  use Rack::Head
52
- use Adsf::Rack::IndexFileFinder, :root => site.config[:output_dir]
50
+ use Adsf::Rack::IndexFileFinder, root: site.config[:output_dir]
53
51
  run Rack::File.new(site.config[:output_dir])
54
52
  end.to_app
55
53
 
@@ -80,9 +78,7 @@ module Nanoc::CLI::Commands
80
78
  # Done
81
79
  exit 1
82
80
  end
83
-
84
81
  end
85
-
86
82
  end
87
83
 
88
84
  runner Nanoc::CLI::Commands::View
@@ -8,9 +8,7 @@ Start the watcher. When a change is detected, the site will be recompiled.
8
8
  EOS
9
9
 
10
10
  module Nanoc::CLI::Commands
11
-
12
11
  class Watch < ::Nanoc::CLI::CommandRunner
13
-
14
12
  def run
15
13
  warn 'WARNING: The `watch` command is deprecated. Please consider using `guard-nanoc` instead (see https://github.com/nanoc/guard-nanoc).'
16
14
 
@@ -44,7 +42,7 @@ module Nanoc::CLI::Commands
44
42
  begin
45
43
  site.compile
46
44
 
47
- # TODO include icon (--image misc/success-icon.png)
45
+ # TODO: include icon (--image misc/success-icon.png)
48
46
  notify_on_compilation_success = watcher_config.fetch(:notify_on_compilation_success) { true }
49
47
  if notify_on_compilation_success
50
48
  @notifier.notify('Compilation complete')
@@ -53,7 +51,7 @@ module Nanoc::CLI::Commands
53
51
  time_spent = ((Time.now - start) * 1000.0).round
54
52
  puts "done in #{format '%is %ims', *(time_spent.divmod(1000))}"
55
53
  rescue Exception => e
56
- # TODO include icon (--image misc/error-icon.png)
54
+ # TODO: include icon (--image misc/error-icon.png)
57
55
  notify_on_compilation_failure = watcher_config.fetch(:notify_on_compilation_failure) { true }
58
56
  if notify_on_compilation_failure
59
57
  @notifier.notify('Compilation failed')
@@ -84,7 +82,7 @@ module Nanoc::CLI::Commands
84
82
  end
85
83
 
86
84
  listener = Listen::Listener.new(*dirs_to_watch).change(&callback)
87
- listener_root = Listen::Listener.new('.', :filter => files_to_watch, :ignore => ignore_dir).change(&callback)
85
+ listener_root = Listen::Listener.new('.', filter: files_to_watch, ignore: ignore_dir).change(&callback)
88
86
 
89
87
  begin
90
88
  listener_root.start
@@ -97,7 +95,6 @@ module Nanoc::CLI::Commands
97
95
 
98
96
  # Allows sending user notifications in a cross-platform way.
99
97
  class Notifier
100
-
101
98
  # A list of commandline tool names that can be used to send notifications
102
99
  TOOLS = %w( growlnotify notify-send ) unless defined? TOOLS
103
100
 
@@ -146,7 +143,7 @@ module Nanoc::CLI::Commands
146
143
  end
147
144
 
148
145
  def terminal_notify(message)
149
- TerminalNotifier.notify(message, :title => 'nanoc')
146
+ TerminalNotifier.notify(message, title: 'nanoc')
150
147
  end
151
148
 
152
149
  def growlnotify_cmd_for(message)
@@ -172,11 +169,8 @@ module Nanoc::CLI::Commands
172
169
  def on_windows?
173
170
  Nanoc.on_windows?
174
171
  end
175
-
176
172
  end
177
-
178
173
  end
179
-
180
174
  end
181
175
 
182
176
  runner Nanoc::CLI::Commands::Watch
@@ -1,12 +1,10 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc::CLI
4
-
5
4
  # Catches errors and prints nice diagnostic messages, then exits.
6
5
  #
7
6
  # @api private
8
7
  class ErrorHandler
9
-
10
8
  # @option params [Nanoc::CLI::Command, nil] command The command that is
11
9
  # currently being executed, or nil if there is none
12
10
  def initialize(params = {})
@@ -146,15 +144,15 @@ module Nanoc::CLI
146
144
  stream.puts "Crashlog created at #{Time.now}"
147
145
 
148
146
  # Sections
149
- write_error_message(stream, error, :verbose => true)
150
- write_compilation_stack(stream, error, :verbose => true)
151
- write_stack_trace(stream, error, :verbose => true)
152
- write_version_information(stream, :verbose => true)
153
- write_system_information(stream, :verbose => true)
154
- write_installed_gems(stream, :verbose => true)
155
- write_environment(stream, :verbose => true)
156
- write_gemfile_lock(stream, :verbose => true)
157
- write_load_paths(stream, :verbose => true)
147
+ write_error_message(stream, error, verbose: true)
148
+ write_compilation_stack(stream, error, verbose: true)
149
+ write_stack_trace(stream, error, verbose: true)
150
+ write_version_information(stream, verbose: true)
151
+ write_system_information(stream, verbose: true)
152
+ write_installed_gems(stream, verbose: true)
153
+ write_environment(stream, verbose: true)
154
+ write_gemfile_lock(stream, verbose: true)
155
+ write_load_paths(stream, verbose: true)
158
156
  end
159
157
 
160
158
  protected
@@ -356,7 +354,5 @@ module Nanoc::CLI
356
354
  stream.puts " #{index}. #{i}"
357
355
  end
358
356
  end
359
-
360
357
  end
361
-
362
358
  end
@@ -3,19 +3,17 @@
3
3
  require 'singleton'
4
4
 
5
5
  module Nanoc::CLI
6
-
7
6
  # Nanoc::CLI::Logger is a singleton class responsible for generating
8
7
  # feedback in the terminal.
9
8
  class Logger
10
-
11
9
  # Maps actions (`:create`, `:update`, `:identical`, `:skip` and `:delete`)
12
10
  # onto their ANSI color codes.
13
11
  ACTION_COLORS = {
14
- :create => "\e[32m", # green
15
- :update => "\e[33m", # yellow
16
- :identical => '', # (nothing)
17
- :skip => '', # (nothing)
18
- :delete => "\e[31m" # red
12
+ create: "\e[32m", # green
13
+ update: "\e[33m", # yellow
14
+ identical: '', # (nothing)
15
+ skip: '', # (nothing)
16
+ delete: "\e[31m" # red
19
17
  }
20
18
 
21
19
  include Singleton
@@ -43,13 +41,13 @@ module Nanoc::CLI
43
41
  def file(level, action, name, duration = nil)
44
42
  log(
45
43
  level,
46
- '%s%12s%s %s%s' % [
44
+ format('%s%12s%s %s%s',
47
45
  ACTION_COLORS[action.to_sym],
48
46
  action,
49
47
  "\e[0m",
50
- duration.nil? ? '' : '[%2.2fs] ' % [duration],
48
+ duration.nil? ? '' : format('[%2.2fs] ', duration),
51
49
  name
52
- ]
50
+ )
53
51
  )
54
52
  end
55
53
 
@@ -69,7 +67,5 @@ module Nanoc::CLI
69
67
  # Log when level permits it
70
68
  io.puts(message) if @level == :low || @level == level
71
69
  end
72
-
73
70
  end
74
-
75
71
  end
@@ -1,13 +1,9 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc::CLI
4
-
5
4
  module StreamCleaners
6
-
7
5
  autoload 'Abstract', 'nanoc/cli/stream_cleaners/abstract'
8
6
  autoload 'ANSIColors', 'nanoc/cli/stream_cleaners/ansi_colors'
9
7
  autoload 'UTF8', 'nanoc/cli/stream_cleaners/utf8'
10
-
11
8
  end
12
-
13
9
  end