nanoc 4.7.9 → 4.7.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (511) hide show
  1. checksums.yaml +4 -4
  2. data/Appraisals +2 -0
  3. data/Gemfile +2 -0
  4. data/Gemfile.lock +26 -27
  5. data/Guardfile +2 -0
  6. data/NEWS.md +11 -0
  7. data/README.md +1 -1
  8. data/Rakefile +2 -0
  9. data/bin/nanoc +2 -0
  10. data/lib/nanoc.rb +3 -1
  11. data/lib/nanoc/base.rb +2 -0
  12. data/lib/nanoc/base/contracts_support.rb +2 -0
  13. data/lib/nanoc/base/core_ext.rb +2 -0
  14. data/lib/nanoc/base/core_ext/array.rb +2 -0
  15. data/lib/nanoc/base/core_ext/hash.rb +2 -0
  16. data/lib/nanoc/base/core_ext/pathname.rb +2 -0
  17. data/lib/nanoc/base/core_ext/string.rb +2 -0
  18. data/lib/nanoc/base/entities.rb +2 -0
  19. data/lib/nanoc/base/entities/action_sequence.rb +2 -0
  20. data/lib/nanoc/base/entities/checksum_collection.rb +2 -0
  21. data/lib/nanoc/base/entities/code_snippet.rb +3 -0
  22. data/lib/nanoc/base/entities/configuration.rb +10 -3
  23. data/lib/nanoc/base/entities/content.rb +2 -0
  24. data/lib/nanoc/base/entities/context.rb +2 -0
  25. data/lib/nanoc/base/entities/dependency.rb +2 -0
  26. data/lib/nanoc/base/entities/directed_graph.rb +2 -0
  27. data/lib/nanoc/base/entities/document.rb +2 -0
  28. data/lib/nanoc/base/entities/identifiable_collection.rb +2 -0
  29. data/lib/nanoc/base/entities/identifier.rb +2 -0
  30. data/lib/nanoc/base/entities/item.rb +2 -0
  31. data/lib/nanoc/base/entities/item_rep.rb +2 -0
  32. data/lib/nanoc/base/entities/layout.rb +2 -0
  33. data/lib/nanoc/base/entities/lazy_value.rb +2 -0
  34. data/lib/nanoc/base/entities/outdatedness_reasons.rb +2 -0
  35. data/lib/nanoc/base/entities/outdatedness_status.rb +2 -0
  36. data/lib/nanoc/base/entities/pattern.rb +2 -0
  37. data/lib/nanoc/base/entities/processing_action.rb +2 -0
  38. data/lib/nanoc/base/entities/processing_actions.rb +2 -0
  39. data/lib/nanoc/base/entities/processing_actions/filter.rb +2 -0
  40. data/lib/nanoc/base/entities/processing_actions/layout.rb +2 -0
  41. data/lib/nanoc/base/entities/processing_actions/snapshot.rb +2 -0
  42. data/lib/nanoc/base/entities/props.rb +3 -1
  43. data/lib/nanoc/base/entities/site.rb +2 -0
  44. data/lib/nanoc/base/entities/snapshot_def.rb +2 -0
  45. data/lib/nanoc/base/error.rb +2 -0
  46. data/lib/nanoc/base/errors.rb +3 -1
  47. data/lib/nanoc/base/feature.rb +2 -0
  48. data/lib/nanoc/base/memoization.rb +2 -0
  49. data/lib/nanoc/base/repos.rb +2 -0
  50. data/lib/nanoc/base/repos/action_sequence_store.rb +2 -0
  51. data/lib/nanoc/base/repos/aggregate_data_source.rb +2 -0
  52. data/lib/nanoc/base/repos/checksum_store.rb +2 -0
  53. data/lib/nanoc/base/repos/compiled_content_cache.rb +2 -0
  54. data/lib/nanoc/base/repos/config_loader.rb +2 -0
  55. data/lib/nanoc/base/repos/data_source.rb +2 -0
  56. data/lib/nanoc/base/repos/dependency_store.rb +2 -0
  57. data/lib/nanoc/base/repos/in_mem_data_source.rb +2 -0
  58. data/lib/nanoc/base/repos/item_rep_repo.rb +2 -0
  59. data/lib/nanoc/base/repos/outdatedness_store.rb +2 -0
  60. data/lib/nanoc/base/repos/prefixed_data_source.rb +2 -0
  61. data/lib/nanoc/base/repos/site_loader.rb +2 -0
  62. data/lib/nanoc/base/repos/snapshot_repo.rb +2 -0
  63. data/lib/nanoc/base/repos/store.rb +2 -0
  64. data/lib/nanoc/base/services.rb +2 -0
  65. data/lib/nanoc/base/services/action_provider.rb +2 -0
  66. data/lib/nanoc/base/services/action_sequence_builder.rb +2 -0
  67. data/lib/nanoc/base/services/checksummer.rb +3 -1
  68. data/lib/nanoc/base/services/compilation_context.rb +2 -0
  69. data/lib/nanoc/base/services/compiler.rb +2 -0
  70. data/lib/nanoc/base/services/compiler/phases.rb +2 -0
  71. data/lib/nanoc/base/services/compiler/phases/abstract.rb +2 -0
  72. data/lib/nanoc/base/services/compiler/phases/cache.rb +2 -0
  73. data/lib/nanoc/base/services/compiler/phases/mark_done.rb +2 -0
  74. data/lib/nanoc/base/services/compiler/phases/recalculate.rb +2 -0
  75. data/lib/nanoc/base/services/compiler/phases/resume.rb +2 -0
  76. data/lib/nanoc/base/services/compiler/phases/write.rb +2 -0
  77. data/lib/nanoc/base/services/compiler/stages.rb +2 -0
  78. data/lib/nanoc/base/services/compiler/stages/build_reps.rb +2 -0
  79. data/lib/nanoc/base/services/compiler/stages/calculate_checksums.rb +2 -0
  80. data/lib/nanoc/base/services/compiler/stages/cleanup.rb +2 -0
  81. data/lib/nanoc/base/services/compiler/stages/compile_reps.rb +2 -0
  82. data/lib/nanoc/base/services/compiler/stages/determine_outdatedness.rb +2 -0
  83. data/lib/nanoc/base/services/compiler/stages/forget_outdated_dependencies.rb +2 -0
  84. data/lib/nanoc/base/services/compiler/stages/load_stores.rb +2 -0
  85. data/lib/nanoc/base/services/compiler/stages/postprocess.rb +2 -0
  86. data/lib/nanoc/base/services/compiler/stages/preprocess.rb +2 -0
  87. data/lib/nanoc/base/services/compiler/stages/prune.rb +2 -0
  88. data/lib/nanoc/base/services/compiler/stages/store_post_compilation_state.rb +2 -0
  89. data/lib/nanoc/base/services/compiler/stages/store_pre_compilation_state.rb +2 -0
  90. data/lib/nanoc/base/services/compiler_loader.rb +2 -0
  91. data/lib/nanoc/base/services/dependency_tracker.rb +2 -0
  92. data/lib/nanoc/base/services/executor.rb +2 -0
  93. data/lib/nanoc/base/services/filter.rb +3 -1
  94. data/lib/nanoc/base/services/item_rep_builder.rb +2 -0
  95. data/lib/nanoc/base/services/item_rep_router.rb +2 -0
  96. data/lib/nanoc/base/services/item_rep_selector.rb +2 -0
  97. data/lib/nanoc/base/services/item_rep_writer.rb +3 -1
  98. data/lib/nanoc/base/services/notification_center.rb +2 -0
  99. data/lib/nanoc/base/services/outdatedness_checker.rb +2 -0
  100. data/lib/nanoc/base/services/outdatedness_rule.rb +2 -0
  101. data/lib/nanoc/base/services/outdatedness_rules.rb +2 -0
  102. data/lib/nanoc/base/services/outdatedness_rules/attributes_modified.rb +2 -0
  103. data/lib/nanoc/base/services/outdatedness_rules/code_snippets_modified.rb +2 -0
  104. data/lib/nanoc/base/services/outdatedness_rules/configuration_modified.rb +2 -0
  105. data/lib/nanoc/base/services/outdatedness_rules/content_modified.rb +2 -0
  106. data/lib/nanoc/base/services/outdatedness_rules/not_written.rb +2 -0
  107. data/lib/nanoc/base/services/outdatedness_rules/rules_modified.rb +2 -0
  108. data/lib/nanoc/base/services/outdatedness_rules/uses_always_outdated_filter.rb +2 -0
  109. data/lib/nanoc/base/services/pruner.rb +4 -2
  110. data/lib/nanoc/base/services/temp_filename_factory.rb +2 -0
  111. data/lib/nanoc/base/views.rb +2 -0
  112. data/lib/nanoc/base/views/config_view.rb +2 -0
  113. data/lib/nanoc/base/views/identifiable_collection_view.rb +2 -0
  114. data/lib/nanoc/base/views/item_collection_with_reps_view.rb +2 -0
  115. data/lib/nanoc/base/views/item_collection_without_reps_view.rb +2 -0
  116. data/lib/nanoc/base/views/item_rep_collection_view.rb +2 -0
  117. data/lib/nanoc/base/views/item_rep_view.rb +2 -0
  118. data/lib/nanoc/base/views/item_with_reps_view.rb +2 -0
  119. data/lib/nanoc/base/views/item_without_reps_view.rb +2 -0
  120. data/lib/nanoc/base/views/layout_collection_view.rb +2 -0
  121. data/lib/nanoc/base/views/layout_view.rb +2 -0
  122. data/lib/nanoc/base/views/mixins/document_view_mixin.rb +2 -0
  123. data/lib/nanoc/base/views/mixins/mutable_document_view_mixin.rb +2 -0
  124. data/lib/nanoc/base/views/mixins/with_reps_view_mixin.rb +2 -0
  125. data/lib/nanoc/base/views/mutable_config_view.rb +2 -0
  126. data/lib/nanoc/base/views/mutable_identifiable_collection_view.rb +2 -0
  127. data/lib/nanoc/base/views/mutable_item_collection_view.rb +2 -0
  128. data/lib/nanoc/base/views/mutable_item_view.rb +2 -0
  129. data/lib/nanoc/base/views/mutable_layout_collection_view.rb +2 -0
  130. data/lib/nanoc/base/views/mutable_layout_view.rb +2 -0
  131. data/lib/nanoc/base/views/post_compile_item_collection_view.rb +2 -0
  132. data/lib/nanoc/base/views/post_compile_item_rep_collection_view.rb +2 -0
  133. data/lib/nanoc/base/views/post_compile_item_rep_view.rb +2 -0
  134. data/lib/nanoc/base/views/post_compile_item_view.rb +2 -0
  135. data/lib/nanoc/base/views/view.rb +2 -0
  136. data/lib/nanoc/base/views/view_context.rb +2 -0
  137. data/lib/nanoc/checking.rb +2 -0
  138. data/lib/nanoc/checking/check.rb +2 -0
  139. data/lib/nanoc/checking/checks.rb +2 -0
  140. data/lib/nanoc/checking/checks/css.rb +2 -0
  141. data/lib/nanoc/checking/checks/external_links.rb +3 -1
  142. data/lib/nanoc/checking/checks/html.rb +2 -0
  143. data/lib/nanoc/checking/checks/internal_links.rb +2 -0
  144. data/lib/nanoc/checking/checks/mixed_content.rb +2 -0
  145. data/lib/nanoc/checking/checks/stale.rb +2 -0
  146. data/lib/nanoc/checking/checks/w3c_validator.rb +2 -0
  147. data/lib/nanoc/checking/dsl.rb +2 -0
  148. data/lib/nanoc/checking/issue.rb +2 -0
  149. data/lib/nanoc/checking/runner.rb +2 -0
  150. data/lib/nanoc/cli.rb +2 -0
  151. data/lib/nanoc/cli/ansi_string_colorizer.rb +2 -0
  152. data/lib/nanoc/cli/cleaning_stream.rb +2 -0
  153. data/lib/nanoc/cli/command_runner.rb +2 -0
  154. data/lib/nanoc/cli/commands/check.rb +2 -0
  155. data/lib/nanoc/cli/commands/compile.rb +4 -2
  156. data/lib/nanoc/cli/commands/compile_listeners/abstract.rb +2 -0
  157. data/lib/nanoc/cli/commands/compile_listeners/debug_printer.rb +2 -0
  158. data/lib/nanoc/cli/commands/compile_listeners/diff_generator.rb +2 -0
  159. data/lib/nanoc/cli/commands/compile_listeners/file_action_printer.rb +2 -0
  160. data/lib/nanoc/cli/commands/compile_listeners/stack_prof_profiler.rb +3 -1
  161. data/lib/nanoc/cli/commands/compile_listeners/timing_recorder.rb +4 -14
  162. data/lib/nanoc/cli/commands/create-site.rb +229 -227
  163. data/lib/nanoc/cli/commands/deploy.rb +2 -0
  164. data/lib/nanoc/cli/commands/nanoc.rb +2 -0
  165. data/lib/nanoc/cli/commands/prune.rb +8 -6
  166. data/lib/nanoc/cli/commands/shell.rb +2 -0
  167. data/lib/nanoc/cli/commands/show-data.rb +6 -4
  168. data/lib/nanoc/cli/commands/show-plugins.rb +6 -4
  169. data/lib/nanoc/cli/commands/show-rules.rb +2 -0
  170. data/lib/nanoc/cli/commands/view.rb +6 -4
  171. data/lib/nanoc/cli/error_handler.rb +2 -0
  172. data/lib/nanoc/cli/logger.rb +2 -0
  173. data/lib/nanoc/cli/stream_cleaners.rb +2 -0
  174. data/lib/nanoc/cli/stream_cleaners/abstract.rb +2 -0
  175. data/lib/nanoc/cli/stream_cleaners/ansi_colors.rb +2 -0
  176. data/lib/nanoc/cli/stream_cleaners/utf8.rb +6 -1
  177. data/lib/nanoc/data_sources.rb +2 -0
  178. data/lib/nanoc/data_sources/filesystem.rb +2 -0
  179. data/lib/nanoc/data_sources/filesystem/errors.rb +2 -0
  180. data/lib/nanoc/data_sources/filesystem/tools.rb +2 -0
  181. data/lib/nanoc/deploying.rb +2 -0
  182. data/lib/nanoc/deploying/deployer.rb +2 -0
  183. data/lib/nanoc/deploying/deployers.rb +2 -0
  184. data/lib/nanoc/deploying/deployers/fog.rb +2 -0
  185. data/lib/nanoc/deploying/deployers/git.rb +2 -0
  186. data/lib/nanoc/deploying/deployers/rsync.rb +2 -0
  187. data/lib/nanoc/extra.rb +2 -0
  188. data/lib/nanoc/extra/core_ext.rb +2 -0
  189. data/lib/nanoc/extra/core_ext/pathname.rb +2 -0
  190. data/lib/nanoc/extra/core_ext/time.rb +2 -0
  191. data/lib/nanoc/extra/jruby_nokogiri_warner.rb +14 -12
  192. data/lib/nanoc/extra/link_collector.rb +2 -0
  193. data/lib/nanoc/extra/parallel_collection.rb +2 -0
  194. data/lib/nanoc/extra/piper.rb +2 -0
  195. data/lib/nanoc/filters.rb +2 -0
  196. data/lib/nanoc/filters/asciidoc.rb +2 -0
  197. data/lib/nanoc/filters/bluecloth.rb +2 -0
  198. data/lib/nanoc/filters/coffeescript.rb +2 -0
  199. data/lib/nanoc/filters/colorize_syntax.rb +3 -1
  200. data/lib/nanoc/filters/colorize_syntax/colorizers.rb +2 -0
  201. data/lib/nanoc/filters/erb.rb +2 -0
  202. data/lib/nanoc/filters/erubi.rb +2 -0
  203. data/lib/nanoc/filters/erubis.rb +2 -0
  204. data/lib/nanoc/filters/haml.rb +2 -0
  205. data/lib/nanoc/filters/handlebars.rb +2 -0
  206. data/lib/nanoc/filters/kramdown.rb +2 -0
  207. data/lib/nanoc/filters/less.rb +2 -0
  208. data/lib/nanoc/filters/markaby.rb +2 -0
  209. data/lib/nanoc/filters/maruku.rb +2 -0
  210. data/lib/nanoc/filters/mustache.rb +2 -0
  211. data/lib/nanoc/filters/pandoc.rb +2 -0
  212. data/lib/nanoc/filters/rainpress.rb +2 -0
  213. data/lib/nanoc/filters/rdiscount.rb +2 -0
  214. data/lib/nanoc/filters/rdoc.rb +2 -0
  215. data/lib/nanoc/filters/redcarpet.rb +2 -0
  216. data/lib/nanoc/filters/redcloth.rb +2 -0
  217. data/lib/nanoc/filters/relativize_paths.rb +8 -7
  218. data/lib/nanoc/filters/rubypants.rb +2 -0
  219. data/lib/nanoc/filters/sass.rb +2 -0
  220. data/lib/nanoc/filters/sass/sass_filesystem_importer.rb +2 -0
  221. data/lib/nanoc/filters/slim.rb +3 -1
  222. data/lib/nanoc/filters/typogruby.rb +2 -0
  223. data/lib/nanoc/filters/uglify_js.rb +2 -0
  224. data/lib/nanoc/filters/xsl.rb +2 -0
  225. data/lib/nanoc/filters/yui_compressor.rb +2 -0
  226. data/lib/nanoc/helpers.rb +2 -0
  227. data/lib/nanoc/helpers/blogging.rb +3 -1
  228. data/lib/nanoc/helpers/breadcrumbs.rb +2 -0
  229. data/lib/nanoc/helpers/capturing.rb +4 -2
  230. data/lib/nanoc/helpers/child_parent.rb +2 -0
  231. data/lib/nanoc/helpers/filtering.rb +2 -0
  232. data/lib/nanoc/helpers/html_escape.rb +2 -0
  233. data/lib/nanoc/helpers/link_to.rb +2 -0
  234. data/lib/nanoc/helpers/rendering.rb +2 -0
  235. data/lib/nanoc/helpers/tagging.rb +2 -0
  236. data/lib/nanoc/helpers/text.rb +2 -0
  237. data/lib/nanoc/helpers/xml_sitemap.rb +3 -1
  238. data/lib/nanoc/rule_dsl.rb +2 -0
  239. data/lib/nanoc/rule_dsl/action_provider.rb +2 -0
  240. data/lib/nanoc/rule_dsl/action_sequence_calculator.rb +2 -0
  241. data/lib/nanoc/rule_dsl/compiler_dsl.rb +4 -1
  242. data/lib/nanoc/rule_dsl/recording_executor.rb +2 -0
  243. data/lib/nanoc/rule_dsl/rule.rb +2 -0
  244. data/lib/nanoc/rule_dsl/rule_context.rb +2 -0
  245. data/lib/nanoc/rule_dsl/rules_collection.rb +2 -0
  246. data/lib/nanoc/rule_dsl/rules_loader.rb +2 -0
  247. data/lib/nanoc/spec.rb +3 -1
  248. data/lib/nanoc/telemetry.rb +4 -0
  249. data/lib/nanoc/telemetry/counter.rb +2 -0
  250. data/lib/nanoc/telemetry/labelled_counter.rb +2 -0
  251. data/lib/nanoc/telemetry/labelled_summary.rb +2 -0
  252. data/lib/nanoc/telemetry/registry.rb +2 -0
  253. data/lib/nanoc/telemetry/stopwatch.rb +2 -0
  254. data/lib/nanoc/telemetry/summary.rb +2 -0
  255. data/lib/nanoc/telemetry/table.rb +35 -0
  256. data/lib/nanoc/version.rb +3 -1
  257. data/nanoc.gemspec +2 -0
  258. data/spec/contributors_spec.rb +2 -0
  259. data/spec/nanoc/base/checksummer_spec.rb +2 -0
  260. data/spec/nanoc/base/compiler_spec.rb +2 -0
  261. data/spec/nanoc/base/directed_graph_spec.rb +2 -0
  262. data/spec/nanoc/base/entities/action_sequence_spec.rb +2 -0
  263. data/spec/nanoc/base/entities/code_snippet_spec.rb +51 -0
  264. data/spec/nanoc/base/entities/configuration_spec.rb +15 -0
  265. data/spec/nanoc/base/entities/content_spec.rb +2 -0
  266. data/spec/nanoc/base/entities/document_spec.rb +2 -0
  267. data/spec/nanoc/base/entities/identifiable_collection_spec.rb +2 -0
  268. data/spec/nanoc/base/entities/identifier_spec.rb +2 -0
  269. data/spec/nanoc/base/entities/item_rep_spec.rb +2 -0
  270. data/spec/nanoc/base/entities/item_spec.rb +2 -0
  271. data/spec/nanoc/base/entities/layout_spec.rb +2 -0
  272. data/spec/nanoc/base/entities/lazy_value_spec.rb +3 -1
  273. data/spec/nanoc/base/entities/outdatedness_status_spec.rb +2 -0
  274. data/spec/nanoc/base/entities/pattern_spec.rb +2 -0
  275. data/spec/nanoc/base/entities/processing_action_spec.rb +2 -0
  276. data/spec/nanoc/base/entities/processing_actions/filter_spec.rb +2 -0
  277. data/spec/nanoc/base/entities/processing_actions/layout_spec.rb +2 -0
  278. data/spec/nanoc/base/entities/processing_actions/snapshot_spec.rb +2 -0
  279. data/spec/nanoc/base/entities/props_spec.rb +2 -0
  280. data/spec/nanoc/base/entities/site_spec.rb +2 -0
  281. data/spec/nanoc/base/errors/dependency_cycle_spec.rb +8 -6
  282. data/spec/nanoc/base/feature_spec.rb +4 -2
  283. data/spec/nanoc/base/filter_spec.rb +2 -0
  284. data/spec/nanoc/base/item_rep_writer_spec.rb +2 -0
  285. data/spec/nanoc/base/memoization_spec.rb +2 -0
  286. data/spec/nanoc/base/repos/checksum_store_spec.rb +2 -0
  287. data/spec/nanoc/base/repos/compiled_content_cache_spec.rb +2 -0
  288. data/spec/nanoc/base/repos/config_loader_spec.rb +2 -0
  289. data/spec/nanoc/base/repos/dependency_store_spec.rb +2 -0
  290. data/spec/nanoc/base/repos/outdatedness_store_spec.rb +2 -0
  291. data/spec/nanoc/base/repos/site_loader_spec.rb +2 -0
  292. data/spec/nanoc/base/repos/snapshot_repo_spec.rb +2 -0
  293. data/spec/nanoc/base/repos/store_spec.rb +2 -0
  294. data/spec/nanoc/base/services/compiler/phases/abstract_spec.rb +2 -0
  295. data/spec/nanoc/base/services/compiler/phases/cache_spec.rb +2 -0
  296. data/spec/nanoc/base/services/compiler/stages/calculate_checksums_spec.rb +2 -0
  297. data/spec/nanoc/base/services/compiler/stages/cleanup_spec.rb +2 -0
  298. data/spec/nanoc/base/services/compiler/stages/compile_reps_spec.rb +2 -0
  299. data/spec/nanoc/base/services/dependency_tracker_spec.rb +2 -0
  300. data/spec/nanoc/base/services/executor_spec.rb +2 -0
  301. data/spec/nanoc/base/services/item_rep_router_spec.rb +2 -0
  302. data/spec/nanoc/base/services/item_rep_selector_spec.rb +2 -0
  303. data/spec/nanoc/base/services/outdatedness_checker_spec.rb +2 -0
  304. data/spec/nanoc/base/services/outdatedness_rules_spec.rb +2 -0
  305. data/spec/nanoc/base/services/pruner_spec.rb +2 -0
  306. data/spec/nanoc/base/services/temp_filename_factory_spec.rb +2 -0
  307. data/spec/nanoc/base/views/config_view_spec.rb +2 -0
  308. data/spec/nanoc/base/views/document_view_spec.rb +2 -0
  309. data/spec/nanoc/base/views/identifiable_collection_view_spec.rb +2 -0
  310. data/spec/nanoc/base/views/item_collection_with_reps_view_spec.rb +2 -0
  311. data/spec/nanoc/base/views/item_collection_without_reps_view_spec.rb +2 -0
  312. data/spec/nanoc/base/views/item_rep_collection_view_spec.rb +2 -0
  313. data/spec/nanoc/base/views/item_rep_view_spec.rb +2 -0
  314. data/spec/nanoc/base/views/item_view_spec.rb +2 -0
  315. data/spec/nanoc/base/views/layout_collection_view_spec.rb +2 -0
  316. data/spec/nanoc/base/views/layout_view_spec.rb +2 -0
  317. data/spec/nanoc/base/views/mutable_config_view_spec.rb +2 -0
  318. data/spec/nanoc/base/views/mutable_document_view_spec.rb +2 -0
  319. data/spec/nanoc/base/views/mutable_identifiable_collection_view_spec.rb +2 -0
  320. data/spec/nanoc/base/views/mutable_item_collection_view_spec.rb +2 -0
  321. data/spec/nanoc/base/views/mutable_item_view_spec.rb +2 -0
  322. data/spec/nanoc/base/views/mutable_layout_collection_view_spec.rb +2 -0
  323. data/spec/nanoc/base/views/mutable_layout_view_spec.rb +2 -0
  324. data/spec/nanoc/base/views/post_compile_item_rep_collection_view_spec.rb +2 -0
  325. data/spec/nanoc/base/views/post_compile_item_rep_view_spec.rb +2 -0
  326. data/spec/nanoc/base/views/post_compile_item_view_spec.rb +2 -0
  327. data/spec/nanoc/cli/commands/compile/diff_generator_spec.rb +2 -0
  328. data/spec/nanoc/cli/commands/compile/file_action_printer_spec.rb +2 -0
  329. data/spec/nanoc/cli/commands/compile/timing_recorder_spec.rb +2 -0
  330. data/spec/nanoc/cli/commands/compile_spec.rb +2 -0
  331. data/spec/nanoc/cli/commands/deploy_spec.rb +2 -0
  332. data/spec/nanoc/cli/commands/shell_spec.rb +8 -0
  333. data/spec/nanoc/cli/commands/show_data_spec.rb +2 -0
  334. data/spec/nanoc/cli/commands/show_plugins_spec.rb +2 -0
  335. data/spec/nanoc/cli/commands/show_rules_spec.rb +2 -0
  336. data/spec/nanoc/cli/commands/view_spec.rb +2 -0
  337. data/spec/nanoc/cli/stream_cleaners/utf8_spec.rb +2 -0
  338. data/spec/nanoc/data_sources/filesystem_spec.rb +2 -0
  339. data/spec/nanoc/deploying/fog_spec.rb +2 -0
  340. data/spec/nanoc/deploying/git_spec.rb +5 -2
  341. data/spec/nanoc/extra/parallel_collection_spec.rb +2 -0
  342. data/spec/nanoc/filters/colorize_syntax/rouge_spec.rb +61 -59
  343. data/spec/nanoc/filters/less_spec.rb +2 -0
  344. data/spec/nanoc/helpers/blogging_spec.rb +2 -0
  345. data/spec/nanoc/helpers/breadcrumbs_spec.rb +2 -0
  346. data/spec/nanoc/helpers/capturing_spec.rb +6 -4
  347. data/spec/nanoc/helpers/child_parent_spec.rb +2 -0
  348. data/spec/nanoc/helpers/filtering_spec.rb +2 -0
  349. data/spec/nanoc/helpers/html_escape_spec.rb +3 -1
  350. data/spec/nanoc/helpers/link_to_spec.rb +2 -0
  351. data/spec/nanoc/helpers/rendering_spec.rb +2 -0
  352. data/spec/nanoc/helpers/tagging_spec.rb +2 -0
  353. data/spec/nanoc/helpers/text_spec.rb +2 -0
  354. data/spec/nanoc/integration/compile_command_spec.rb +6 -4
  355. data/spec/nanoc/integration/outdatedness_integration_spec.rb +36 -34
  356. data/spec/nanoc/integration/partial_recompilation_spec.rb +10 -8
  357. data/spec/nanoc/regressions/gh_1015_spec.rb +2 -0
  358. data/spec/nanoc/regressions/gh_1022_spec.rb +2 -0
  359. data/spec/nanoc/regressions/gh_1031_spec.rb +2 -0
  360. data/spec/nanoc/regressions/gh_1035_spec.rb +10 -8
  361. data/spec/nanoc/regressions/gh_1037a_spec.rb +2 -0
  362. data/spec/nanoc/regressions/gh_1037b_spec.rb +2 -0
  363. data/spec/nanoc/regressions/gh_1040_spec.rb +2 -0
  364. data/spec/nanoc/regressions/gh_1045_spec.rb +14 -12
  365. data/spec/nanoc/regressions/gh_1047_spec.rb +2 -0
  366. data/spec/nanoc/regressions/gh_1064_spec.rb +2 -0
  367. data/spec/nanoc/regressions/gh_1067_spec.rb +8 -6
  368. data/spec/nanoc/regressions/gh_1082a_spec.rb +2 -0
  369. data/spec/nanoc/regressions/gh_1082b_spec.rb +2 -0
  370. data/spec/nanoc/regressions/gh_1082c_spec.rb +2 -0
  371. data/spec/nanoc/regressions/gh_1082d_spec.rb +2 -0
  372. data/spec/nanoc/regressions/gh_1093_spec.rb +2 -0
  373. data/spec/nanoc/regressions/gh_1094_spec.rb +2 -0
  374. data/spec/nanoc/regressions/gh_1097_spec.rb +2 -0
  375. data/spec/nanoc/regressions/gh_1100_spec.rb +2 -0
  376. data/spec/nanoc/regressions/gh_1102_spec.rb +2 -0
  377. data/spec/nanoc/regressions/gh_1107_spec.rb +2 -0
  378. data/spec/nanoc/regressions/gh_1130_spec.rb +8 -6
  379. data/spec/nanoc/regressions/gh_1134_spec.rb +8 -6
  380. data/spec/nanoc/regressions/gh_1145_spec.rb +7 -5
  381. data/spec/nanoc/regressions/gh_1171_spec.rb +17 -15
  382. data/spec/nanoc/regressions/gh_761_spec.rb +2 -0
  383. data/spec/nanoc/regressions/gh_767_spec.rb +2 -0
  384. data/spec/nanoc/regressions/gh_769_spec.rb +2 -0
  385. data/spec/nanoc/regressions/gh_776_spec.rb +2 -0
  386. data/spec/nanoc/regressions/gh_787_spec.rb +2 -0
  387. data/spec/nanoc/regressions/gh_795_spec.rb +2 -0
  388. data/spec/nanoc/regressions/gh_804_spec.rb +7 -5
  389. data/spec/nanoc/regressions/gh_807_spec.rb +2 -0
  390. data/spec/nanoc/regressions/gh_809_spec.rb +2 -0
  391. data/spec/nanoc/regressions/gh_813_spec.rb +2 -0
  392. data/spec/nanoc/regressions/gh_815_spec.rb +2 -0
  393. data/spec/nanoc/regressions/gh_828_spec.rb +2 -0
  394. data/spec/nanoc/regressions/gh_833_spec.rb +2 -0
  395. data/spec/nanoc/regressions/gh_841_spec.rb +2 -0
  396. data/spec/nanoc/regressions/gh_867_spec.rb +2 -0
  397. data/spec/nanoc/regressions/gh_882_spec.rb +2 -0
  398. data/spec/nanoc/regressions/gh_885_spec.rb +2 -0
  399. data/spec/nanoc/regressions/gh_891_spec.rb +2 -0
  400. data/spec/nanoc/regressions/gh_913_spec.rb +2 -0
  401. data/spec/nanoc/regressions/gh_924_spec.rb +58 -56
  402. data/spec/nanoc/regressions/gh_928_spec.rb +2 -0
  403. data/spec/nanoc/regressions/gh_937_spec.rb +7 -5
  404. data/spec/nanoc/regressions/gh_942_spec.rb +2 -0
  405. data/spec/nanoc/regressions/gh_947_spec.rb +2 -0
  406. data/spec/nanoc/regressions/gh_948_spec.rb +2 -0
  407. data/spec/nanoc/regressions/gh_951_spec.rb +2 -0
  408. data/spec/nanoc/regressions/gh_954_spec.rb +14 -12
  409. data/spec/nanoc/regressions/gh_970a_spec.rb +6 -4
  410. data/spec/nanoc/regressions/gh_970b_spec.rb +10 -8
  411. data/spec/nanoc/regressions/gh_974_spec.rb +6 -4
  412. data/spec/nanoc/regressions/gh_981_spec.rb +2 -0
  413. data/spec/nanoc/rule_dsl/action_sequence_calculator_spec.rb +2 -0
  414. data/spec/nanoc/rule_dsl/recording_executor_spec.rb +2 -0
  415. data/spec/nanoc/rule_dsl/rule_context_spec.rb +2 -0
  416. data/spec/nanoc/rule_dsl/rules_collection_spec.rb +2 -0
  417. data/spec/nanoc/spec_spec.rb +2 -0
  418. data/spec/nanoc/telemetry/counter_spec.rb +2 -0
  419. data/spec/nanoc/telemetry/labelled_counter_spec.rb +2 -0
  420. data/spec/nanoc/telemetry/labelled_summary_spec.rb +2 -0
  421. data/spec/nanoc/telemetry/stopwatch_spec.rb +2 -0
  422. data/spec/nanoc/telemetry/summary_spec.rb +2 -0
  423. data/spec/nanoc/telemetry_spec.rb +2 -0
  424. data/spec/regression_filenames_spec.rb +3 -1
  425. data/spec/spec_helper.rb +2 -0
  426. data/test/base/core_ext/array_spec.rb +2 -0
  427. data/test/base/core_ext/hash_spec.rb +2 -0
  428. data/test/base/core_ext/string_spec.rb +2 -0
  429. data/test/base/test_code_snippet.rb +2 -0
  430. data/test/base/test_compiler.rb +2 -0
  431. data/test/base/test_context.rb +2 -0
  432. data/test/base/test_data_source.rb +2 -0
  433. data/test/base/test_dependency_tracker.rb +2 -0
  434. data/test/base/test_directed_graph.rb +2 -0
  435. data/test/base/test_filter.rb +2 -0
  436. data/test/base/test_item.rb +2 -0
  437. data/test/base/test_item_array.rb +2 -0
  438. data/test/base/test_layout.rb +2 -0
  439. data/test/base/test_notification_center.rb +2 -0
  440. data/test/base/test_site.rb +17 -15
  441. data/test/base/test_store.rb +2 -0
  442. data/test/checking/checks/test_css.rb +2 -0
  443. data/test/checking/checks/test_external_links.rb +2 -0
  444. data/test/checking/checks/test_html.rb +2 -0
  445. data/test/checking/checks/test_internal_links.rb +2 -0
  446. data/test/checking/checks/test_mixed_content.rb +2 -0
  447. data/test/checking/checks/test_stale.rb +2 -0
  448. data/test/checking/test_check.rb +2 -0
  449. data/test/checking/test_dsl.rb +2 -0
  450. data/test/checking/test_runner.rb +2 -0
  451. data/test/cli/commands/test_check.rb +2 -0
  452. data/test/cli/commands/test_compile.rb +2 -0
  453. data/test/cli/commands/test_create_site.rb +2 -0
  454. data/test/cli/commands/test_help.rb +2 -0
  455. data/test/cli/commands/test_info.rb +2 -0
  456. data/test/cli/commands/test_prune.rb +2 -0
  457. data/test/cli/test_cleaning_stream.rb +2 -0
  458. data/test/cli/test_cli.rb +16 -14
  459. data/test/cli/test_error_handler.rb +2 -0
  460. data/test/cli/test_logger.rb +2 -0
  461. data/test/data_sources/test_filesystem.rb +2 -0
  462. data/test/data_sources/test_filesystem_tools.rb +2 -0
  463. data/test/deploying/test_fog.rb +2 -0
  464. data/test/deploying/test_git.rb +33 -31
  465. data/test/deploying/test_rsync.rb +2 -0
  466. data/test/extra/core_ext/test_pathname.rb +2 -0
  467. data/test/extra/core_ext/test_time.rb +2 -0
  468. data/test/extra/test_link_collector.rb +2 -0
  469. data/test/extra/test_piper.rb +2 -0
  470. data/test/filters/colorize_syntax/test_coderay.rb +43 -41
  471. data/test/filters/colorize_syntax/test_common.rb +24 -22
  472. data/test/filters/colorize_syntax/test_pygmentize.rb +2 -0
  473. data/test/filters/colorize_syntax/test_pygments.rb +2 -0
  474. data/test/filters/colorize_syntax/test_simon.rb +2 -0
  475. data/test/filters/test_asciidoc.rb +2 -0
  476. data/test/filters/test_bluecloth.rb +2 -0
  477. data/test/filters/test_coffeescript.rb +2 -0
  478. data/test/filters/test_erb.rb +2 -0
  479. data/test/filters/test_erubi.rb +2 -0
  480. data/test/filters/test_erubis.rb +2 -0
  481. data/test/filters/test_haml.rb +2 -0
  482. data/test/filters/test_handlebars.rb +2 -0
  483. data/test/filters/test_kramdown.rb +2 -0
  484. data/test/filters/test_markaby.rb +2 -0
  485. data/test/filters/test_maruku.rb +2 -0
  486. data/test/filters/test_mustache.rb +2 -0
  487. data/test/filters/test_pandoc.rb +2 -0
  488. data/test/filters/test_rainpress.rb +2 -0
  489. data/test/filters/test_rdiscount.rb +2 -0
  490. data/test/filters/test_rdoc.rb +2 -0
  491. data/test/filters/test_redcarpet.rb +2 -0
  492. data/test/filters/test_redcloth.rb +2 -0
  493. data/test/filters/test_relativize_paths.rb +52 -50
  494. data/test/filters/test_rubypants.rb +2 -0
  495. data/test/filters/test_sass.rb +2 -0
  496. data/test/filters/test_slim.rb +26 -0
  497. data/test/filters/test_typogruby.rb +2 -0
  498. data/test/filters/test_uglify_js.rb +2 -0
  499. data/test/filters/test_xsl.rb +64 -62
  500. data/test/filters/test_yui_compressor.rb +2 -0
  501. data/test/helper.rb +20 -13
  502. data/test/helpers/test_blogging.rb +2 -0
  503. data/test/helpers/test_capturing.rb +12 -10
  504. data/test/helpers/test_link_to.rb +2 -0
  505. data/test/helpers/test_xml_sitemap.rb +2 -0
  506. data/test/rule_dsl/test_action_provider.rb +2 -0
  507. data/test/rule_dsl/test_compiler_dsl.rb +42 -40
  508. data/test/rule_dsl/test_rule.rb +2 -0
  509. data/test/rule_dsl/test_rules_collection.rb +2 -0
  510. data/test/test_gem.rb +2 -0
  511. metadata +5 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ecb0f82b4846a49ddfdb86ced975609223aeb598
4
- data.tar.gz: b9554789ff878f63f7b42fe9d42576c105d93c95
3
+ metadata.gz: b056ea57fc16e94cee44d842ac7cc9d4f801b604
4
+ data.tar.gz: 743593e44dee1341ff69b3f799d322dc9361b743
5
5
  SHA512:
6
- metadata.gz: 6ef8450a139b74d4eb3cfe84f5444c568d49e18046eddb5412f6c687a7aa22f64049d023a4da5b9406f677095e5d9fd0c94c700679ff9337cfdc1a24846f480d
7
- data.tar.gz: 68b1f8b2fc52b50f2074b21271c45539b16f4db46b35c5fdf2bbee28dd0ae57ed31a975314fe2d48427eb8f2b815bb16eb4422b335a9397e68b41ed4e29394c1
6
+ metadata.gz: a6cd971e349f5d80baf44bcfe405788f6da72f9d7864ff4da44e708b72dcb0616ae26e740553037447b46390182e6d740b4e11735c8eb2dca369bba7e139ccbe
7
+ data.tar.gz: 84f84414da253488dde8866209c827928da5502c79f1d80c2a0e0dfc8bca2dbe504ebae7adbbfb7430c7ff0bb1e008926fe4589a86f4d1b54ff227b8dc40481d
data/Appraisals CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  appraise 'rouge-1' do
2
4
  group :plugins do
3
5
  gem 'rouge', '~> 1.0'
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  gemspec
data/Gemfile.lock CHANGED
@@ -1,6 +1,6 @@
1
1
  GIT
2
2
  remote: https://github.com/bbatsov/rubocop.git
3
- revision: cc04647e2b786ab5ef8337206f3dd71c0d843354
3
+ revision: 03bda6cde059c4a83f03db025c904f3fb60968c0
4
4
  specs:
5
5
  rubocop (0.48.1)
6
6
  parallel (~> 1.10)
@@ -13,7 +13,7 @@ GIT
13
13
  PATH
14
14
  remote: .
15
15
  specs:
16
- nanoc (4.7.9)
16
+ nanoc (4.7.10)
17
17
  cri (~> 2.8)
18
18
  ddplugin (~> 1.0)
19
19
  hamster (~> 3.0)
@@ -132,11 +132,10 @@ GEM
132
132
  fog-json (~> 1.0)
133
133
  fog-xml (~> 0.1)
134
134
  ipaddress (~> 0.8)
135
- fog-core (1.44.0)
135
+ fog-core (1.44.1)
136
136
  builder
137
137
  excon (~> 0.49)
138
138
  formatador (~> 0.2)
139
- xmlrpc
140
139
  fog-dynect (0.0.3)
141
140
  fog-core
142
141
  fog-json
@@ -198,7 +197,7 @@ GEM
198
197
  fog-voxel (0.1.0)
199
198
  fog-core
200
199
  fog-xml
201
- fog-vsphere (1.9.1)
200
+ fog-vsphere (1.9.2)
202
201
  fog-core
203
202
  rbvmomi (~> 1.9)
204
203
  fog-xenserver (0.3.0)
@@ -223,14 +222,15 @@ GEM
223
222
  guard-rake (1.0.0)
224
223
  guard
225
224
  rake
226
- haml (4.0.7)
225
+ haml (5.0.1)
226
+ temple (>= 0.8.0)
227
227
  tilt
228
228
  hamster (3.0.0)
229
229
  concurrent-ruby (~> 1.0)
230
230
  handlebars (0.8.0)
231
231
  handlebars-source (~> 4.0.5)
232
232
  therubyracer (~> 0.12.1)
233
- handlebars-source (4.0.7)
233
+ handlebars-source (4.0.8)
234
234
  hashdiff (0.3.4)
235
235
  inflecto (0.0.2)
236
236
  ipaddress (0.8.3)
@@ -243,7 +243,7 @@ GEM
243
243
  rb-fsevent (~> 0.9, >= 0.9.4)
244
244
  rb-inotify (~> 0.9, >= 0.9.7)
245
245
  ruby_dep (~> 1.2)
246
- lumberjack (1.0.11)
246
+ lumberjack (1.0.12)
247
247
  m (1.5.0)
248
248
  method_source (>= 0.6.7)
249
249
  rake (>= 0.9.2.2)
@@ -256,13 +256,13 @@ GEM
256
256
  mime-types-data (~> 3.2015)
257
257
  mime-types-data (3.2016.0521)
258
258
  mini_portile2 (2.1.0)
259
- minitest (5.10.1)
259
+ minitest (5.10.2)
260
260
  mocha (1.2.1)
261
261
  metaclass (~> 0.0.1)
262
262
  multi_json (1.12.1)
263
263
  mustache (1.0.5)
264
264
  nenv (0.3.0)
265
- nokogiri (1.7.1)
265
+ nokogiri (1.7.2)
266
266
  mini_portile2 (~> 2.1.0)
267
267
  nokogumbo (1.4.10)
268
268
  nokogiri
@@ -270,7 +270,7 @@ GEM
270
270
  nenv (~> 0.1)
271
271
  shellany (~> 0.0)
272
272
  pandoc-ruby (2.0.1)
273
- parallel (1.11.1)
273
+ parallel (1.11.2)
274
274
  parser (2.4.0.0)
275
275
  ast (~> 2.2)
276
276
  powerpack (0.1.1)
@@ -281,7 +281,7 @@ GEM
281
281
  public_suffix (2.0.5)
282
282
  pygments.rb (1.1.2)
283
283
  multi_json (>= 1.0.0)
284
- rack (2.0.1)
284
+ rack (2.0.2)
285
285
  rainbow (2.2.2)
286
286
  rake
287
287
  rainpress (1.0.1)
@@ -299,22 +299,22 @@ GEM
299
299
  redcarpet (3.4.0)
300
300
  ref (2.0.0)
301
301
  rouge (2.0.7)
302
- rspec (3.5.0)
303
- rspec-core (~> 3.5.0)
304
- rspec-expectations (~> 3.5.0)
305
- rspec-mocks (~> 3.5.0)
306
- rspec-core (3.5.4)
307
- rspec-support (~> 3.5.0)
308
- rspec-expectations (3.5.0)
302
+ rspec (3.6.0)
303
+ rspec-core (~> 3.6.0)
304
+ rspec-expectations (~> 3.6.0)
305
+ rspec-mocks (~> 3.6.0)
306
+ rspec-core (3.6.0)
307
+ rspec-support (~> 3.6.0)
308
+ rspec-expectations (3.6.0)
309
309
  diff-lcs (>= 1.2.0, < 2.0)
310
- rspec-support (~> 3.5.0)
310
+ rspec-support (~> 3.6.0)
311
311
  rspec-its (1.2.0)
312
312
  rspec-core (>= 3.0.0)
313
313
  rspec-expectations (>= 3.0.0)
314
- rspec-mocks (3.5.0)
314
+ rspec-mocks (3.6.0)
315
315
  diff-lcs (>= 1.2.0, < 2.0)
316
- rspec-support (~> 3.5.0)
317
- rspec-support (3.5.0)
316
+ rspec-support (~> 3.6.0)
317
+ rspec-support (3.6.0)
318
318
  ruby-progressbar (1.8.1)
319
319
  ruby_dep (1.5.0)
320
320
  rubypants (0.6.0)
@@ -326,11 +326,11 @@ GEM
326
326
  json (>= 1.8, < 3)
327
327
  simplecov-html (~> 0.10.0)
328
328
  simplecov-html (0.10.0)
329
- slim (3.0.7)
330
- temple (~> 0.7.6)
329
+ slim (3.0.8)
330
+ temple (>= 0.7.6, < 0.9)
331
331
  tilt (>= 1.3.3, < 2.1)
332
332
  slop (3.6.0)
333
- temple (0.7.7)
333
+ temple (0.8.0)
334
334
  term-ansicolor (1.6.0)
335
335
  tins (~> 1.0)
336
336
  therubyracer (0.12.3)
@@ -356,7 +356,6 @@ GEM
356
356
  crack (>= 0.3.2)
357
357
  hashdiff
358
358
  xml-simple (1.1.5)
359
- xmlrpc (0.3.0)
360
359
  yard (0.9.9)
361
360
  yard-contracts (0.1.5)
362
361
  contracts (~> 0.7)
data/Guardfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  guard 'rake', task: 'default' do
2
4
  watch(%r{^(lib|test|spec)/})
3
5
  end
data/NEWS.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Nanoc news
2
2
 
3
+ ## 4.7.10 (2017-05-14)
4
+
5
+ Fixes:
6
+
7
+ * Fixed behavior of `parent_config_file` so that it merges, rather than overwrites (#1176) [Gregory Pakosz]
8
+
9
+ Enhancements:
10
+
11
+ * Made `slim` filter show the filename in error messages (#1175) [Alexander Groß]
12
+ * Added `#use_helper` as an alternative to `#include` for enabling helpers (#1170)
13
+
3
14
  ## 4.7.9 (2017-05-01)
4
15
 
5
16
  Fixes:
data/README.md CHANGED
@@ -19,4 +19,4 @@ Contributions are greatly appreciated! Consult the [Development guidelines](http
19
19
 
20
20
  Many thanks to everyone who has contributed to Nanoc in one way or another:
21
21
 
22
- Ale Muñoz, Alexander Mankuta, Andy Drop, Arnau Siches, Ben Armston, Bil Bas, Brian Candler, Bruno Dufour, Cédric Boutillier, Chris Burkhardt, Chris Chapman, Chris Eppstein, Christian Plessl, Colin Barrett, Colin Seymour, Croath Liu, Damien Pollet, Dan Callahan, Daniel Hofstetter, Daniel Mendler, Daniel Wollschlaeger, David Alexander, David Everitt, Denis Defreyne, Dennis Sutch, Devon Luke Buchanan, Dmitry Bilunov, Eric Sunshine, Erik Hollensbe, Fabian Buch, Felix Hanley, Garen Torikian, Go Maeda, Grégory Karékinian, Gregory Pakosz, Guilherme Garnier, Hugo Peixoto, Jack Chu, Jake Benilov, Jan M. Faber, Jasper Van der Jeugt, Jeff Forcier, Jim Mendenhall, John Nishinaga, Justin Clift, Justin Hileman, Kevin Lynagh, Lorin Werthen, Louis T., Lucas Vuotto, Mathias Bynens, Matt Keveney, Matthew Frazier, Matthias Beyer, Matthias Reitinger, Matthias Vallentin, Micha Rosenbaum, Michal Cichra, Michal Papis, Mike Pennisi, Nelson Chen, Nicky Peeters, Nikhil Marathe, Oliver Byford, Paul Boone, Peter Aronoff, Raphael von der Grün, Rémi Barraquand, Remko Tronçon, Riley Goodside, Ruben Verborgh, Scott Vokes, Šime Ramov, Simon South, Spencer Whitt, Stanley Rost, Starr Horne, Stefan Bühler, Stuart Montgomery, Takashi Uchibe, Toon Willems, Tuomas Kareinen, Ursula Kallio, Vincent Driessen, Vlatko Kosturjak, whitequark, Xavier Shay, Yannick Ihmels, Zaiste de Grengolada
22
+ Ale Muñoz, Alexander Groß, Alexander Mankuta, Andy Drop, Arnau Siches, Ben Armston, Bil Bas, Brian Candler, Bruno Dufour, Cédric Boutillier, Chris Burkhardt, Chris Chapman, Chris Eppstein, Christian Plessl, Colin Barrett, Colin Seymour, Croath Liu, Damien Pollet, Dan Callahan, Daniel Hofstetter, Daniel Mendler, Daniel Wollschlaeger, David Alexander, David Everitt, Denis Defreyne, Dennis Sutch, Devon Luke Buchanan, Dmitry Bilunov, Eric Sunshine, Erik Hollensbe, Fabian Buch, Felix Hanley, Garen Torikian, Go Maeda, Grégory Karékinian, Gregory Pakosz, Guilherme Garnier, Hugo Peixoto, Jack Chu, Jake Benilov, Jan M. Faber, Jasper Van der Jeugt, Jeff Forcier, Jim Mendenhall, John Nishinaga, Justin Clift, Justin Hileman, Kevin Lynagh, Lorin Werthen, Louis T., Lucas Vuotto, Mathias Bynens, Matt Keveney, Matthew Frazier, Matthias Beyer, Matthias Reitinger, Matthias Vallentin, Micha Rosenbaum, Michal Cichra, Michal Papis, Mike Pennisi, Nelson Chen, Nicky Peeters, Nikhil Marathe, Oliver Byford, Paul Boone, Peter Aronoff, Raphael von der Grün, Rémi Barraquand, Remko Tronçon, Riley Goodside, Ruben Verborgh, Scott Vokes, Šime Ramov, Simon South, Spencer Whitt, Stanley Rost, Starr Horne, Stefan Bühler, Stuart Montgomery, Takashi Uchibe, Toon Willems, Tuomas Kareinen, Ursula Kallio, Vincent Driessen, Vlatko Kosturjak, whitequark, Xavier Shay, Yannick Ihmels, Zaiste de Grengolada
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rubocop/rake_task'
2
4
  require 'rspec/core/rake_task'
3
5
  require 'rake/testtask'
data/bin/nanoc CHANGED
@@ -1,4 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
2
4
  require 'nanoc'
3
5
  require 'nanoc/cli'
4
6
 
data/lib/nanoc.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Nanoc
2
4
  # @return [String] A string containing information about this Nanoc version
3
5
  # and its environment (Ruby engine and version, Rubygems version if any).
@@ -6,7 +8,7 @@ module Nanoc
6
8
  def self.version_information
7
9
  gem_info = defined?(Gem) ? "with RubyGems #{Gem::VERSION}" : 'without RubyGems'
8
10
  engine = defined?(RUBY_ENGINE) ? RUBY_ENGINE : 'ruby'
9
- res = ''
11
+ res = String.new
10
12
  res << "Nanoc #{Nanoc::VERSION} © 2007-2017 Denis Defreyne.\n"
11
13
  res << "Running #{engine} #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) on #{RUBY_PLATFORM} #{gem_info}.\n"
12
14
  res
data/lib/nanoc/base.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # @api private
2
4
  module Nanoc::Int
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'singleton'
2
4
 
3
5
  module Nanoc::Int
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'nanoc/base/core_ext/array'
2
4
  require 'nanoc/base/core_ext/hash'
3
5
  require 'nanoc/base/core_ext/pathname'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # @api private
2
4
  module Nanoc::ArrayExtensions
3
5
  # Returns a new array where all items' keys are recursively converted to
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # @api private
2
4
  module Nanoc::HashExtensions
3
5
  # Returns a new hash where all keys are recursively converted to symbols by
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # @api private
2
4
  module Nanoc::PathnameExtensions
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # @api private
2
4
  module Nanoc::StringExtensions
3
5
  # Transforms string into an actual identifier
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'entities/context'
2
4
  require_relative 'entities/directed_graph'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Nanoc::Int
2
4
  class ActionSequence
3
5
  include Nanoc::Int::ContractsSupport
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Nanoc::Int
2
4
  class ChecksumCollection
3
5
  include Nanoc::Int::ContractsSupport
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Nanoc::Int
2
4
  # Nanoc::Int::CodeSnippet represent a piece of custom code of a Nanoc site.
3
5
  #
@@ -32,6 +34,7 @@ module Nanoc::Int
32
34
  #
33
35
  # @return [void]
34
36
  def load
37
+ eval('def self.use_helper(mod); Nanoc::Int::Context.instance_eval { include mod }; end', TOPLEVEL_BINDING)
35
38
  eval(@data, TOPLEVEL_BINDING, @filename)
36
39
  nil
37
40
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Nanoc::Int
2
4
  # Represents the site configuration.
3
5
  #
@@ -38,8 +40,8 @@ module Nanoc::Int
38
40
 
39
41
  # Configuration environments property key
40
42
  ENVIRONMENTS_CONFIG_KEY = :environments
41
- NANOC_ENV = 'NANOC_ENV'.freeze
42
- NANOC_ENV_DEFAULT = 'default'.freeze
43
+ NANOC_ENV = 'NANOC_ENV'
44
+ NANOC_ENV_DEFAULT = 'default'
43
45
 
44
46
  contract C::KeywordArgs[hash: C::Optional[Hash], env_name: C::Maybe[String]] => C::Any
45
47
  # Creates a new configuration with the given hash.
@@ -106,9 +108,14 @@ module Nanoc::Int
106
108
  @wrapped[key] = value
107
109
  end
108
110
 
111
+ def merge_recursively(c1, c2)
112
+ c1.merge(c2) { |_, v1, v2| v1.is_a?(Hash) && v2.is_a?(Hash) ? merge_recursively(v1, v2) : v2 }
113
+ end
114
+ private :merge_recursively
115
+
109
116
  contract C::Or[Hash, self] => self
110
117
  def merge(hash)
111
- self.class.new(hash: @wrapped.merge(hash.to_h), env_name: @env_name)
118
+ self.class.new(hash: merge_recursively(@wrapped, hash.to_h), env_name: @env_name)
112
119
  end
113
120
 
114
121
  contract C::Any => self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Nanoc
2
4
  module Int
3
5
  # Abstract content.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Nanoc::Int
2
4
  # Provides a context and a binding for use in filters such as the ERB and
3
5
  # Haml ones.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Nanoc::Int
2
4
  # @api private
3
5
  # A dependency between two items/layouts.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Nanoc::Int
2
4
  # Represents a directed graph. It is used by the dependency tracker for
3
5
  # storing and querying dependencies between items.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Nanoc
2
4
  module Int
3
5
  # @api private
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Nanoc::Int
2
4
  # @api private
3
5
  class IdentifiableCollection
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Nanoc
2
4
  class Identifier
3
5
  include Comparable
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Nanoc::Int
2
4
  # @api private
3
5
  class Item < ::Nanoc::Int::Document
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Nanoc::Int
2
4
  # @api private
3
5
  class ItemRep
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Nanoc::Int
2
4
  # @api private
3
5
  class Layout < ::Nanoc::Int::Document
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Nanoc::Int
2
4
  # Holds a value that might be generated lazily.
3
5
  #
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Nanoc::Int
2
4
  # Module that contains all outdatedness reasons.
3
5
  #