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
@@ -1,7 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc::Extra::VCSes
4
-
5
4
  autoload 'Bazaar', 'nanoc/extra/vcses/bazaar'
6
5
  autoload 'Dummy', 'nanoc/extra/vcses/dummy'
7
6
  autoload 'Git', 'nanoc/extra/vcses/git'
@@ -13,5 +12,4 @@ module Nanoc::Extra::VCSes
13
12
  Nanoc::Extra::VCS.register '::Nanoc::Extra::VCSes::Git', :git
14
13
  Nanoc::Extra::VCS.register '::Nanoc::Extra::VCSes::Mercurial', :mercurial, :hg
15
14
  Nanoc::Extra::VCS.register '::Nanoc::Extra::VCSes::Subversion', :subversion, :svn
16
-
17
15
  end
@@ -1,10 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc::Extra::VCSes
4
-
5
4
  # @see Nanoc::Extra::VCS
6
5
  class Bazaar < Nanoc::Extra::VCS
7
-
8
6
  # @see Nanoc::Extra::VCS#add
9
7
  def add(filename)
10
8
  system('bzr', 'add', filename)
@@ -19,7 +17,5 @@ module Nanoc::Extra::VCSes
19
17
  def move(src, dst)
20
18
  system('bzr', 'mv', src, dst)
21
19
  end
22
-
23
20
  end
24
-
25
21
  end
@@ -1,10 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc::Extra::VCSes
4
-
5
4
  # @see Nanoc::Extra::VCS
6
5
  class Dummy < Nanoc::Extra::VCS
7
-
8
6
  # @see Nanoc::Extra::VCS#add
9
7
  def add(_filename)
10
8
  end
@@ -18,7 +16,5 @@ module Nanoc::Extra::VCSes
18
16
  def move(src, dst)
19
17
  FileUtils.move(src, dst)
20
18
  end
21
-
22
19
  end
23
-
24
20
  end
@@ -1,10 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc::Extra::VCSes
4
-
5
4
  # @see Nanoc::Extra::VCS
6
5
  class Git < Nanoc::Extra::VCS
7
-
8
6
  # @see Nanoc::Extra::VCS#add
9
7
  def add(filename)
10
8
  system('git', 'add', filename)
@@ -19,7 +17,5 @@ module Nanoc::Extra::VCSes
19
17
  def move(src, dst)
20
18
  system('git', 'mv', src, dst)
21
19
  end
22
-
23
20
  end
24
-
25
21
  end
@@ -1,10 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc::Extra::VCSes
4
-
5
4
  # @see Nanoc::Extra::VCS
6
5
  class Mercurial < Nanoc::Extra::VCS
7
-
8
6
  # @see Nanoc::Extra::VCS#add
9
7
  def add(filename)
10
8
  system('hg', 'add', filename)
@@ -19,7 +17,5 @@ module Nanoc::Extra::VCSes
19
17
  def move(src, dst)
20
18
  system('hg', 'mv', src, dst)
21
19
  end
22
-
23
20
  end
24
-
25
21
  end
@@ -1,10 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc::Extra::VCSes
4
-
5
4
  # @see Nanoc::Extra::VCS
6
5
  class Subversion < Nanoc::Extra::VCS
7
-
8
6
  # @see Nanoc::Extra::VCS#add
9
7
  def add(filename)
10
8
  system('svn', 'add', filename)
@@ -19,7 +17,5 @@ module Nanoc::Extra::VCSes
19
17
  def move(src, dst)
20
18
  system('svn', 'mv', src, dst)
21
19
  end
22
-
23
20
  end
24
-
25
21
  end
@@ -1,7 +1,6 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc::Filters
4
-
5
4
  autoload 'AsciiDoc', 'nanoc/filters/asciidoc'
6
5
  autoload 'BlueCloth', 'nanoc/filters/bluecloth'
7
6
  autoload 'CodeRay', 'nanoc/filters/coderay'
@@ -59,5 +58,4 @@ module Nanoc::Filters
59
58
  Nanoc::Filter.register '::Nanoc::Filters::UglifyJS', :uglify_js
60
59
  Nanoc::Filter.register '::Nanoc::Filters::XSL', :xsl
61
60
  Nanoc::Filter.register '::Nanoc::Filters::YUICompressor', :yui_compressor
62
-
63
61
  end
@@ -1,10 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc::Filters
4
-
5
4
  # @since 3.2.0
6
5
  class AsciiDoc < Nanoc::Filter
7
-
8
6
  # Runs the content through [AsciiDoc](http://www.methods.co.nz/asciidoc/).
9
7
  # This method takes no options.
10
8
  #
@@ -14,11 +12,9 @@ module Nanoc::Filters
14
12
  def run(content, _params = {})
15
13
  stdout = StringIO.new
16
14
  stderr = $stderr
17
- piper = Nanoc::Extra::Piper.new(:stdout => stdout, :stderr => stderr)
15
+ piper = Nanoc::Extra::Piper.new(stdout: stdout, stderr: stderr)
18
16
  piper.run(%w( asciidoc -o - - ), content)
19
17
  stdout.string
20
18
  end
21
-
22
19
  end
23
-
24
20
  end
@@ -2,7 +2,6 @@
2
2
 
3
3
  module Nanoc::Filters
4
4
  class BlueCloth < Nanoc::Filter
5
-
6
5
  requires 'bluecloth'
7
6
 
8
7
  # Runs the content through [BlueCloth](http://deveiate.org/projects/BlueCloth).
@@ -14,6 +13,5 @@ module Nanoc::Filters
14
13
  def run(content, _params = {})
15
14
  ::BlueCloth.new(content).to_html
16
15
  end
17
-
18
16
  end
19
17
  end
@@ -2,7 +2,6 @@
2
2
 
3
3
  module Nanoc::Filters
4
4
  class CodeRay < Nanoc::Filter
5
-
6
5
  requires 'coderay'
7
6
 
8
7
  # @deprecated Use the `:colorize_syntax` filter instead.
@@ -16,6 +15,5 @@ module Nanoc::Filters
16
15
  # Get result
17
16
  ::CodeRay.scan(content, params[:language]).html
18
17
  end
19
-
20
18
  end
21
19
  end
@@ -1,10 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc::Filters
4
-
5
4
  # @since 3.3.0
6
5
  class CoffeeScript < Nanoc::Filter
7
-
8
6
  requires 'coffee-script'
9
7
 
10
8
  # Runs the content through [CoffeeScript](http://coffeescript.org/).
@@ -16,7 +14,5 @@ module Nanoc::Filters
16
14
  def run(content, _params = {})
17
15
  ::CoffeeScript.compile(content)
18
16
  end
19
-
20
17
  end
21
-
22
18
  end
@@ -2,7 +2,6 @@
2
2
 
3
3
  module Nanoc::Filters
4
4
  class ColorizeSyntax < Nanoc::Filter
5
-
6
5
  requires 'nokogiri', 'stringio', 'open3'
7
6
 
8
7
  # The default colorizer to use for a language if the colorizer for that
@@ -142,7 +141,7 @@ module Nanoc::Filters
142
141
  end
143
142
 
144
143
  method = "to_#{syntax}".to_sym
145
- doc.send(method, :encoding => 'UTF-8')
144
+ doc.send(method, encoding: 'UTF-8')
146
145
  end
147
146
 
148
147
  # Parses the given content using the given class. This method also handles
@@ -197,7 +196,7 @@ module Nanoc::Filters
197
196
  #
198
197
  # @return [String] The colorized output, which is identical to the input
199
198
  # in this case
200
- def dummy(code, _language, _params = {})
199
+ def dummy(code, language, params = {}) # rubocop:disable Lint/UnusedMethodArgument
201
200
  code
202
201
  end
203
202
 
@@ -224,7 +223,7 @@ module Nanoc::Filters
224
223
 
225
224
  stdout = StringIO.new
226
225
  stderr = $stderr
227
- piper = Nanoc::Extra::Piper.new(:stdout => stdout, :stderr => stderr)
226
+ piper = Nanoc::Extra::Piper.new(stdout: stdout, stderr: stderr)
228
227
  piper.run(cmd, code)
229
228
 
230
229
  stdout.string
@@ -253,9 +252,9 @@ module Nanoc::Filters
253
252
  end
254
253
 
255
254
  SIMON_HIGHLIGHT_OPT_MAP = {
256
- :wrap => '-W',
257
- :include_style => '-I',
258
- :line_numbers => '-l',
255
+ wrap: '-W',
256
+ include_style: '-I',
257
+ line_numbers: '-l',
259
258
  }
260
259
 
261
260
  # Runs the content through [Highlight](http://www.andre-simon.de/doku/highlight/en/highlight.html).
@@ -279,7 +278,7 @@ module Nanoc::Filters
279
278
  if SIMON_HIGHLIGHT_OPT_MAP[key]
280
279
  cmd << SIMON_HIGHLIGHT_OPT_MAP[key]
281
280
  else
282
- # TODO allow passing other options
281
+ # TODO: allow passing other options
283
282
  case key
284
283
  when :style
285
284
  cmd << '--style' << params[:style]
@@ -289,7 +288,7 @@ module Nanoc::Filters
289
288
 
290
289
  stdout = StringIO.new
291
290
  stderr = $stderr
292
- piper = Nanoc::Extra::Piper.new(:stdout => stdout, :stderr => stderr)
291
+ piper = Nanoc::Extra::Piper.new(stdout: stdout, stderr: stderr)
293
292
  piper.run(cmd, code)
294
293
 
295
294
  stdout.string
@@ -327,7 +326,7 @@ module Nanoc::Filters
327
326
  require 'rouge'
328
327
 
329
328
  formatter_options = {
330
- :css_class => params.fetch(:css_class, 'highlight'),
329
+ css_class: params.fetch(:css_class, 'highlight'),
331
330
  }
332
331
  formatter = Rouge::Formatters::HTML.new(formatter_options)
333
332
  lexer = Rouge::Lexer.find_fancy(language, code) || Rouge::Lexers::PlainText
@@ -338,7 +337,7 @@ module Nanoc::Filters
338
337
  #
339
338
  # Before:
340
339
  #
341
- # <pre><code class="language-ruby"><pre><code class="highlight">
340
+ # <pre><code class="language-ruby"><pre class="highlight"><code>
342
341
  #
343
342
  # After:
344
343
  #
@@ -348,11 +347,15 @@ module Nanoc::Filters
348
347
 
349
348
  code1 = element.xpath('code').first
350
349
  return if code1.nil?
351
- code2 = code1.xpath('pre/code').first
350
+
351
+ pre = code1.xpath('pre').first
352
+ return if pre.nil?
353
+
354
+ code2 = pre.xpath('code').first
352
355
  return if code2.nil?
353
356
 
354
357
  code1.inner_html = code2.inner_html
355
- code1['class'] = [code1['class'], code2['class']].compact.join(' ')
358
+ code1['class'] = [code1['class'], pre['class']].compact.join(' ')
356
359
  end
357
360
 
358
361
  protected
@@ -386,9 +389,8 @@ module Nanoc::Filters
386
389
  end
387
390
 
388
391
  def check_availability(*cmd)
389
- piper = Nanoc::Extra::Piper.new(:stdout => StringIO.new, :stderr => StringIO.new)
392
+ piper = Nanoc::Extra::Piper.new(stdout: StringIO.new, stderr: StringIO.new)
390
393
  piper.run(cmd, nil)
391
394
  end
392
-
393
395
  end
394
396
  end
@@ -2,7 +2,6 @@
2
2
 
3
3
  module Nanoc::Filters
4
4
  class ERB < Nanoc::Filter
5
-
6
5
  requires 'erb'
7
6
 
8
7
  # Runs the content through [ERB](http://ruby-doc.org/stdlib/libdoc/erb/rdoc/classes/ERB.html).
@@ -23,7 +22,7 @@ module Nanoc::Filters
23
22
  context = ::Nanoc::Context.new(assigns)
24
23
 
25
24
  # Get binding
26
- proc = assigns[:content] ? lambda { assigns[:content] } : nil
25
+ proc = assigns[:content] ? -> { assigns[:content] } : nil
27
26
  assigns_binding = context.get_binding(&proc)
28
27
 
29
28
  # Get result
@@ -33,6 +32,5 @@ module Nanoc::Filters
33
32
  erb.filename = filename
34
33
  erb.result(assigns_binding)
35
34
  end
36
-
37
35
  end
38
36
  end
@@ -2,7 +2,6 @@
2
2
 
3
3
  module Nanoc::Filters
4
4
  class Erubis < Nanoc::Filter
5
-
6
5
  requires 'erubis'
7
6
 
8
7
  # The same as `::Erubis::Eruby` but adds `_erbout` as an alias for the
@@ -23,12 +22,11 @@ module Nanoc::Filters
23
22
  context = ::Nanoc::Context.new(assigns)
24
23
 
25
24
  # Get binding
26
- proc = assigns[:content] ? lambda { assigns[:content] } : nil
25
+ proc = assigns[:content] ? -> { assigns[:content] } : nil
27
26
  assigns_binding = context.get_binding(&proc)
28
27
 
29
28
  # Get result
30
- ErubisWithErbout.new(content, :filename => filename).result(assigns_binding)
29
+ ErubisWithErbout.new(content, filename: filename).result(assigns_binding)
31
30
  end
32
-
33
31
  end
34
32
  end
@@ -2,7 +2,6 @@
2
2
 
3
3
  module Nanoc::Filters
4
4
  class Haml < Nanoc::Filter
5
-
6
5
  requires 'haml'
7
6
 
8
7
  # Runs the content through [Haml](http://haml-lang.com/).
@@ -13,15 +12,14 @@ module Nanoc::Filters
13
12
  # @return [String] The filtered content
14
13
  def run(content, params = {})
15
14
  # Get options
16
- options = params.merge(:filename => filename)
15
+ options = params.merge(filename: filename)
17
16
 
18
17
  # Create context
19
18
  context = ::Nanoc::Context.new(assigns)
20
19
 
21
20
  # Get result
22
- proc = assigns[:content] ? lambda { assigns[:content] } : nil
21
+ proc = assigns[:content] ? -> { assigns[:content] } : nil
23
22
  ::Haml::Engine.new(content, options).render(context, assigns, &proc)
24
23
  end
25
-
26
24
  end
27
25
  end
@@ -1,10 +1,8 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Nanoc::Filters
4
-
5
4
  # @since 3.4.0
6
5
  class Handlebars < Nanoc::Filter
7
-
8
6
  requires 'handlebars'
9
7
 
10
8
  # Runs the content through
@@ -28,7 +26,5 @@ module Nanoc::Filters
28
26
  template = handlebars.compile(content)
29
27
  template.call(context)
30
28
  end
31
-
32
29
  end
33
-
34
30
  end
@@ -2,7 +2,6 @@
2
2
 
3
3
  module Nanoc::Filters
4
4
  class Kramdown < Nanoc::Filter
5
-
6
5
  requires 'kramdown'
7
6
 
8
7
  # Runs the content through [Kramdown](http://kramdown.gettalong.org/).
@@ -12,9 +11,13 @@ module Nanoc::Filters
12
11
  #
13
12
  # @return [String] The filtered content
14
13
  def run(content, params = {})
15
- # Get result
16
- ::Kramdown::Document.new(content, params).to_html
17
- end
14
+ document = ::Kramdown::Document.new(content, params)
18
15
 
16
+ document.warnings.each do |warning|
17
+ $stderr.puts "kramdown warning: #{warning}"
18
+ end
19
+
20
+ document.to_html
21
+ end
19
22
  end
20
23
  end
@@ -2,7 +2,6 @@
2
2
 
3
3
  module Nanoc::Filters
4
4
  class Less < Nanoc::Filter
5
-
6
5
  requires 'less'
7
6
 
8
7
  # Runs the content through [LESS](http://lesscss.org/).
@@ -45,9 +44,8 @@ module Nanoc::Filters
45
44
 
46
45
  # Add filename to load path
47
46
  paths = [File.dirname(@item[:content_filename])]
48
- parser = ::Less::Parser.new(:paths => paths)
47
+ parser = ::Less::Parser.new(paths: paths)
49
48
  parser.parse(content).to_css params
50
49
  end
51
-
52
50
  end
53
51
  end
@@ -2,7 +2,6 @@
2
2
 
3
3
  module Nanoc::Filters
4
4
  class Markaby < Nanoc::Filter
5
-
6
5
  requires 'markaby'
7
6
 
8
7
  # Runs the content through [Markaby](http://markaby.github.io/).
@@ -15,6 +14,5 @@ module Nanoc::Filters
15
14
  # Get result
16
15
  ::Markaby::Builder.new(assigns).instance_eval(content).to_s
17
16
  end
18
-
19
17
  end
20
18
  end