NEWS.md in nanoc-4.11.15 vs NEWS.md in nanoc-4.11.16

- old
+ new

@@ -1,1118 +1,1129 @@ # Nanoc news +## 4.11.16 (2020-04-26) + +Fixes: + +- Fixed uninitialized constant/undefined method bug with guard-nanoc (#1494, #1495) +- Removed remaining more “Using the last argument …” warnings (#1498) + +Enhancements: + +- Ignore redirects to self (misued for cookies) (#1496) [Daniel Aleksandersen] + ## 4.11.15 (2020-03-07) Enhancements: -* Made `prune` print files to delete when using dry run (#1474, #1476) -* Made Nanoc emit a warning when the `contracts` library is loaded, as it can cause severe slowdowns (#1483, #1489) -* Made the default Rules handle `index.*` files (#1485, #1490) +- Made `prune` print files to delete when using dry run (#1474, #1476) +- Made Nanoc emit a warning when the `contracts` library is loaded, as it can cause severe slowdowns (#1483, #1489) +- Made the default Rules handle `index.*` files (#1485, #1490) Fixes: -* Fixed warnings on Ruby 2.7 -* Made `@rep` (not just `@item_rep`) available in the Rendering helper (#1484, #1488) -* Made the `:relativize_paths` filter relativize the `value` attribute, not the `content` one, of the `param` HTML element (#1491) -* Made the `:relativize_paths` filter support relativizing paths in `srcset` attributes (#1475, #1492) -* Fixed an issue that could cause items to be marked as outdated when they shouldn’t be (#1471, #1493). +- Fixed warnings on Ruby 2.7 +- Made `@rep` (not just `@item_rep`) available in the Rendering helper (#1484, #1488) +- Made the `:relativize_paths` filter relativize the `value` attribute, not the `content` one, of the `param` HTML element (#1491) +- Made the `:relativize_paths` filter support relativizing paths in `srcset` attributes (#1475, #1492) +- Fixed an issue that could cause items to be marked as outdated when they shouldn’t be (#1471, #1493). ## 4.11.14 (2019-11-10) Fixes: -* Fixed an issue where removing and re-adding an item would not cause dependent items to be recompiled (#1463, #1464) +- Fixed an issue where removing and re-adding an item would not cause dependent items to be recompiled (#1463, #1464) ## 4.11.13 (2019-11-02) Fixes: -* Fixed an issue which could cause Nanoc to freeze when generating the output diff on Windows +- Fixed an issue which could cause Nanoc to freeze when generating the output diff on Windows ## 4.11.12 (2019-09-21) Fixes: -* Fixed an issue with the output diff, where some hunks would not appear (#1457) +- Fixed an issue with the output diff, where some hunks would not appear (#1457) ## 4.11.11 (2019-09-07) Fixes: -* Made output diff more reliable (#1455, #1456) +- Made output diff more reliable (#1455, #1456) ## 4.11.10 (2019-08-31) Fixes: -* Fixed problem with sporadic `DDMetrics::Stopwatch::AlreadyRunningError` (#1445) +- Fixed problem with sporadic `DDMetrics::Stopwatch::AlreadyRunningError` (#1445) ## 4.11.9 (2019-08-17) Enhancements: -* Allowed specifying excluded files across all checks (#1438) -* Replace handlebars.rb with ruby-handlebars (#1443) -* Improved dependency tracking for Sass imports (#1451, #1452) [Romain Goyet] +- Allowed specifying excluded files across all checks (#1438) +- Replace handlebars.rb with ruby-handlebars (#1443) +- Improved dependency tracking for Sass imports (#1451, #1452) [Romain Goyet] ## 4.11.8 (2019-08-08) Fixes: -* Fixed issue with `#find_all` yielding incorrect objects, causing a crash when attempting to access attributes (#1446, #1447) +- Fixed issue with `#find_all` yielding incorrect objects, causing a crash when attempting to access attributes (#1446, #1447) ## 4.11.7 (2019-07-28) Fixes: -* Fixed handling of protocol-relative URLs (#1444) +- Fixed handling of protocol-relative URLs (#1444) ## 4.11.6 (2019-07-06) Fixes: -* Fixed crash in the `show-data` command when printing layout outdatedness (#1432) -* Fixed crash in the `view` command when host/port is not specified +- Fixed crash in the `show-data` command when printing layout outdatedness (#1432) +- Fixed crash in the `view` command when host/port is not specified Enhancements: -* Added `#env_name` to `@config` (#1437) -* Made the `external_links` checker detect more kinds of broken links (#1422) [Daniel Aleksandersen] -* Made the `external_links` checker shuffle the list of links (#1429) [Daniel Aleksandersen] +- Added `#env_name` to `@config` (#1437) +- Made the `external_links` checker detect more kinds of broken links (#1422) [Daniel Aleksandersen] +- Made the `external_links` checker shuffle the list of links (#1429) [Daniel Aleksandersen] ## 4.11.5 (2019-04-30) Fixes: -* Fixed an incompatibility introduced in Cri 2.15.4 (#1423, #1426) +- Fixed an incompatibility introduced in Cri 2.15.4 (#1423, #1426) ## 4.11.4 (2019-04-28) Fixes: -* Fixed an issue which could cause `#compiled_content` to sometimes return compiled content that erroneously includes the layout (#1412, #1421) +- Fixed an issue which could cause `#compiled_content` to sometimes return compiled content that erroneously includes the layout (#1412, #1421) ## 4.11.3 (2019-04-27) Enhancements: -* Set a User-Agent for HTTP requests made by the `external_links` check (#1417) [Daniel Aleksandersen] -* Added `atom:link[type]` attributes (#1415) [Daniel Aleksandersen] -* Made the `external_links` check treat permanent redirects as errors (#1419) [Daniel Aleksandersen] +- Set a User-Agent for HTTP requests made by the `external_links` check (#1417) [Daniel Aleksandersen] +- Added `atom:link[type]` attributes (#1415) [Daniel Aleksandersen] +- Made the `external_links` check treat permanent redirects as errors (#1419) [Daniel Aleksandersen] ## 4.11.2 (2019-02-16) Fixes: -* Fixed issue which prevented Sass (not SCSS) files from being imported (#1397, #1407) [Alexander Groß] +- Fixed issue which prevented Sass (not SCSS) files from being imported (#1397, #1407) [Alexander Groß] ## 4.11.1 (2019-02-09) Fixes: -* Fixed an issue which caused hardlinking to fail in certain situations (#1405, #1406) +- Fixed an issue which caused hardlinking to fail in certain situations (#1405, #1406) ## 4.11.0 (2018-12-01) Features: -* Added support for generating inline source maps for Sass (#1376) [Gregory Pakosz] -* Added `:tiebreaker` option to the breadcrumbs helper, so that it can deal with ambiguity (#1368) +- Added support for generating inline source maps for Sass (#1376) [Gregory Pakosz] +- Added `:tiebreaker` option to the breadcrumbs helper, so that it can deal with ambiguity (#1368) ## 4.10.4 (2018-12-01) Fixes: -* Fixed an error when importing a Sass/SCSS file outside of Nanoc’s content directory (#1378, #1379) +- Fixed an error when importing a Sass/SCSS file outside of Nanoc’s content directory (#1378, #1379) ## 4.10.3 (2018-10-28) Fixes: -* Fixed an issue which could cause `write nil` to still invoke the routing rule (#1374, #1375) +- Fixed an issue which could cause `write nil` to still invoke the routing rule (#1374, #1375) ## 4.10.2 (2018-10-21) Fixes: -* Fixed an issue where changing a layout rule’s parameters would not recompile items that use the layout for this layout rule (#1372, #1373) +- Fixed an issue where changing a layout rule’s parameters would not recompile items that use the layout for this layout rule (#1372, #1373) ## 4.10.1 (2018-10-16) Fixes: -* Made Nanoc no longer crash when the Sass gem is not available (#1371) +- Made Nanoc no longer crash when the Sass gem is not available (#1371) ## 4.10.0 (2018-10-14) Features: -* Added source map support to the Sass filter (#1365) [Gregory Pakosz] -* Added a `nanoc()` Sass function (#1365) [Gregory Pakosz] +- Added source map support to the Sass filter (#1365) [Gregory Pakosz] +- Added a `nanoc()` Sass function (#1365) [Gregory Pakosz] Fixes: -* Ensured breadcrumb trail always ends in item itself (#1367) +- Ensured breadcrumb trail always ends in item itself (#1367) Enhancemens: -* Made Nanoc error when meta-file cannot be unambiguously associated (#1370) +- Made Nanoc error when meta-file cannot be unambiguously associated (#1370) ## 4.9.9 (2018-10-06) Fixes: -* Allowed `items_root` and `layouts_root` to be null +- Allowed `items_root` and `layouts_root` to be null ## 4.9.8 (2018-10-05) Fixes: -* Fixed missing `configuration-schema.json` file +- Fixed missing `configuration-schema.json` file ## 4.9.7 (2018-10-05) Enhancements: -* Added `title_proc:` option to the blogging helper (#1362, #1363) [Thomas Hochstein] -* Dropped Ruby 2.3 support, as it is no longer maintained (#1361) -* Added static configuration file verification (#1360) +- Added `title_proc:` option to the blogging helper (#1362, #1363) [Thomas Hochstein] +- Dropped Ruby 2.3 support, as it is no longer maintained (#1361) +- Added static configuration file verification (#1360) ## 4.9.6 (2018-09-19) Fixes: -* Fixed an issue which would cause the checksum of binary items created by the filesystem data source not to be updated when the content changes (#1358, #1359) +- Fixed an issue which would cause the checksum of binary items created by the filesystem data source not to be updated when the content changes (#1358, #1359) ## 4.9.5 (2018-09-15) Fixes: -* Fixed an issue which would cause Nanoc to trip up when the working directory changes during compilation (#1338, #1353, #1354, #1357) +- Fixed an issue which would cause Nanoc to trip up when the working directory changes during compilation (#1338, #1353, #1354, #1357) ## 4.9.4 (2018-08-19) Fixes: -* Fixed an issue where compiled content of items generated in the preprocessor would not be available in the postprocessor (#1341, #1348) +- Fixed an issue where compiled content of items generated in the preprocessor would not be available in the postprocessor (#1341, #1348) ## 4.9.3 (2018-06-09) Enhancements: -* Added an `:exclude` option to `relativize_paths`, to exclude certain paths from being relativized (#1340) +- Added an `:exclude` option to `relativize_paths`, to exclude certain paths from being relativized (#1340) ## 4.9.2 (2018-03-30) Fixes: -* Fixed bug which caused `output_dir` not to be ignored when checking for excludes in pruner (#1313, #1324) -* Fixed bug which caused `Filter#depend_on` not to create a proper dependency when the depended-on item has no representations (#1330) +- Fixed bug which caused `output_dir` not to be ignored when checking for excludes in pruner (#1313, #1324) +- Fixed bug which caused `Filter#depend_on` not to create a proper dependency when the depended-on item has no representations (#1330) Enhancements: -* Made Nanoc use hardlinks instead of copying files when possible (#1321) [Antonio Terceiro] -* Made Nanoc show an understandable error when a filter returns `nil` by accident (#1323, #1326) -* Made the checks also consider `.xhtml` and `.htm` files (#1328, #1329) -* Made Nanoc not report thread exceptions, which would freeze Ruby (#1332) +- Made Nanoc use hardlinks instead of copying files when possible (#1321) [Antonio Terceiro] +- Made Nanoc show an understandable error when a filter returns `nil` by accident (#1323, #1326) +- Made the checks also consider `.xhtml` and `.htm` files (#1328, #1329) +- Made Nanoc not report thread exceptions, which would freeze Ruby (#1332) ## 4.9.1 (2018-02-22) Fixes: -* Fixed issue which could cause terminal output to be jumbled up (#1312, #1316) -* Made pruner ignore `output_dir` configuration attribute when checking for excludes (#1313, #1317) -* Fixed handling of interrupts (SIGINT) in the `shell` command (#1309, #1318) -* Added workaround for `relativize_paths` mangling `gcse:search` elements (#1319, #1320) +- Fixed issue which could cause terminal output to be jumbled up (#1312, #1316) +- Made pruner ignore `output_dir` configuration attribute when checking for excludes (#1313, #1317) +- Fixed handling of interrupts (SIGINT) in the `shell` command (#1309, #1318) +- Added workaround for `relativize_paths` mangling `gcse:search` elements (#1319, #1320) Enhancements: -* Allowed overriding `<id>` and `<link rel="alternate">` elements in Atom feed generator (#1301) [Ian Young] -* Made `sh` an alias for the `shell` command (#1308) -* Simplified the default configuration (#1311) -* Removed routing rules from newly-created sites (#1310) +- Allowed overriding `<id>` and `<link rel="alternate">` elements in Atom feed generator (#1301) [Ian Young] +- Made `sh` an alias for the `shell` command (#1308) +- Simplified the default configuration (#1311) +- Removed routing rules from newly-created sites (#1310) ## 4.9.0 (2018-01-31) Features: -* Added `Identifier#match?` (#1305) -* Added `Nanoc::Check.define` -* Made Nanoc read checks configuration from `nanoc.yaml` (#1296) +- Added `Identifier#match?` (#1305) +- Added `Nanoc::Check.define` +- Made Nanoc read checks configuration from `nanoc.yaml` (#1296) Enhancements: -* Made Nanoc write out files asynchronously (#1288) -* Made the filesystem data source ignore an initial blank line after the frontmatter (#1292, #1293) -* Made the `check` command run deploy checks by default (#1304) -* Made Nanoc honor the `NO_COLOR` environment variable (#1306) +- Made Nanoc write out files asynchronously (#1288) +- Made the filesystem data source ignore an initial blank line after the frontmatter (#1292, #1293) +- Made the `check` command run deploy checks by default (#1304) +- Made Nanoc honor the `NO_COLOR` environment variable (#1306) Bugs: -* Fixed a potential deadlock in the `external_links` check (#1294, #1295) -* Fixed the `external_links` check’s handling of redirects without a `Location` header (#1297, #1302) -* Fixed the `external_links` check’s handling of URLs with invalid components (#1303) +- Fixed a potential deadlock in the `external_links` check (#1294, #1295) +- Fixed the `external_links` check’s handling of redirects without a `Location` header (#1297, #1302) +- Fixed the `external_links` check’s handling of URLs with invalid components (#1303) ## 4.8.19 (2018-01-01) Enhancements: -* Made `write nil` skip routing rule (#1286) +- Made `write nil` skip routing rule (#1286) ## 4.8.18 (2017-12-28) Enhancements: -* Added `.tex` to the default list of text extensions (#1280) [Rien Maertens] +- Added `.tex` to the default list of text extensions (#1280) [Rien Maertens] Fixes: -* Made `#breadcrumbs_trail` smarter about picking the right parent when there is ambiguity (#1278, #1279) -* Made `#find_all` be callable with block instead of an argument (like `Enumerable#find_all`) (#1284, #1285) +- Made `#breadcrumbs_trail` smarter about picking the right parent when there is ambiguity (#1278, #1279) +- Made `#find_all` be callable with block instead of an argument (like `Enumerable#find_all`) (#1284, #1285) ## 4.8.17 (2017-12-16) Enhancements: -* Made `LoadError` be printed more nicely (#1273, #1274, #1275) +- Made `LoadError` be printed more nicely (#1273, #1274, #1275) ## 4.8.16 (2017-12-09) Fixes: -* Made `adsf-live` not be required for `nanoc view`, unless running with `--live-reload` +- Made `adsf-live` not be required for `nanoc view`, unless running with `--live-reload` ## 4.8.15 (2017-12-02) Fixes: -* Made `nanoc` show item being compiled in crash logs of all errors, not just errors inheriting from `StandardError` (#1258) -* Made Erubi stack traces include the filename of the item or layout that is being compiled (#1255, #1259) -* Prevented `view --live-reload` from crashing when the output directory does not exist (#1254, #1261) +- Made `nanoc` show item being compiled in crash logs of all errors, not just errors inheriting from `StandardError` (#1258) +- Made Erubi stack traces include the filename of the item or layout that is being compiled (#1255, #1259) +- Prevented `view --live-reload` from crashing when the output directory does not exist (#1254, #1261) Enhancements: -* Made pruner not remove the output directory if it’s empty (#1260) +- Made pruner not remove the output directory if it’s empty (#1260) ## 4.8.14 (2017-11-27) Same as 4.8.13, but published with the proper release date. ## 4.8.13 (2017-11-27) Enhancements: -* Added `-L`/`--live-reload` option to `nanoc view` (#1251) +- Added `-L`/`--live-reload` option to `nanoc view` (#1251) ## 4.8.12 (2017-11-16) Fixes: -* Fixed issue where changing `:output_dir` during preprocessing would prevent Nanoc from performing incremental compilation (#1248, #1249) +- Fixed issue where changing `:output_dir` during preprocessing would prevent Nanoc from performing incremental compilation (#1248, #1249) Enhancements: -* Allowed creation of pattern from symbols, not just strings (#1247) [Gregory Pakosz] +- Allowed creation of pattern from symbols, not just strings (#1247) [Gregory Pakosz] ## 4.8.11 (2017-10-28) Enhancements: -* Added `:save_with` parameter to `relativize_paths` filter (#1237) [Gregory Pakosz] -* Made error messages more compact and easier to read +- Added `:save_with` parameter to `relativize_paths` filter (#1237) [Gregory Pakosz] +- Made error messages more compact and easier to read ## 4.8.10 (2017-10-08) Fixes: -* Fixed handling of four dashes for separating metadata (#1222, #1223) -* Made `#raw_path` unavailable in rules context (#1231) +- Fixed handling of four dashes for separating metadata (#1222, #1223) +- Made `#raw_path` unavailable in rules context (#1231) ## 4.8.9 (2017-09-22) Fixes: -* Fixed “uninitialized constant DisabledContracts::Args” error +- Fixed “uninitialized constant DisabledContracts::Args” error ## 4.8.8 (2017-09-22) Enhancements: -* Added `#dig` to configuration (#1221) [Gregory Pakosz] +- Added `#dig` to configuration (#1221) [Gregory Pakosz] ## 4.8.7 (2017-09-18) Fixes: -* Fixed “uninitialized constant CGI” issue (#1218) +- Fixed “uninitialized constant CGI” issue (#1218) ## 4.8.6 (2017-09-17) Fixes: -* Fixed issue which would cause items not to be considered as outdated when their content and/or attributes are changed in the preprocessor (#1216, #1217) +- Fixed issue which would cause items not to be considered as outdated when their content and/or attributes are changed in the preprocessor (#1216, #1217) ## 4.8.5 (2017-09-07) Enhancements: -* Made `nanoc check` accept hyphenated check names (e.g. `internal-links`, in addition to `internal_links`). -* `compile --verbose` now prints “cached” rather than “identical” when cached compiled content is used. (#1214) +- Made `nanoc check` accept hyphenated check names (e.g. `internal-links`, in addition to `internal_links`). +- `compile --verbose` now prints “cached” rather than “identical” when cached compiled content is used. (#1214) ## 4.8.4 (2017-09-03) Fixes: -* Fixed issue which caused the CLI to load the site at the wrong moment (#1211, #1212, #1213) +- Fixed issue which caused the CLI to load the site at the wrong moment (#1211, #1212, #1213) ## 4.8.3 (2017-08-30) Fixes: -* Disallowed full identifiers from ending with a slash (#1206) -* Made `nanoc view` listen on 127.0.0.1, not 0.0.0.0, by default (#1205) +- Disallowed full identifiers from ending with a slash (#1206) +- Made `nanoc view` listen on 127.0.0.1, not 0.0.0.0, by default (#1205) Enhancements: -* Made `nanoc view` print site URL (#1204) -* Made `nanoc` search for parent directory containing Nanoc site (#1210) +- Made `nanoc view` print site URL (#1204) +- Made `nanoc` search for parent directory containing Nanoc site (#1210) ## 4.8.2 (2017-08-19) Fixes: -* Fixed compatibility issue with guard-nanoc +- Fixed compatibility issue with guard-nanoc ## 4.8.1 (2017-08-06) Enhancements: -* Various speed improvements +- Various speed improvements ## 4.8 (2017-07-17) Features: -* Added `asciidoctor` filter (#1199) +- Added `asciidoctor` filter (#1199) ## 4.7.14 (2017-07-16) Enhancements: -* Various speed improvements (#1195, #1198) +- Various speed improvements (#1195, #1198) ## 4.7.13 (2017-07-02) Enhancements: -* Made adding an item or a layout only recompile items that likely depend on it (#1191, #1193) +- Made adding an item or a layout only recompile items that likely depend on it (#1191, #1193) ## 4.7.12 (2017-06-23) Fixes: -* Fixed an issue in which the fog deployer could run out of open file descriptors (#1189) +- Fixed an issue in which the fog deployer could run out of open file descriptors (#1189) Enhancements: -* Made changes to `@config` only cause outdatedness of items that depend on `@config` (#1188) +- Made changes to `@config` only cause outdatedness of items that depend on `@config` (#1188) ## 4.7.11 (2017-06-17) Fixes: -* Made the `external_links` check always use GET, not HEAD (#1178, #1179) -* Fixed an issue where changing identifiers during preprocessing could cause a crash (#1184, #1185) +- Made the `external_links` check always use GET, not HEAD (#1178, #1179) +- Fixed an issue where changing identifiers during preprocessing could cause a crash (#1184, #1185) Enhancements: -* Added `--preprocess` to `shell` command, to load preprocessed site data (#1180) +- Added `--preprocess` to `shell` command, to load preprocessed site data (#1180) ## 4.7.10 (2017-05-14) Fixes: -* Fixed behavior of `parent_config_file` so that it merges, rather than overwrites (#1176) [Gregory Pakosz] +- Fixed behavior of `parent_config_file` so that it merges, rather than overwrites (#1176) [Gregory Pakosz] Enhancements: -* Made `slim` filter show the filename in error messages (#1175) [Alexander Groß] -* Added `#use_helper` as an alternative to `#include` for enabling helpers (#1170) +- Made `slim` filter show the filename in error messages (#1175) [Alexander Groß] +- Added `#use_helper` as an alternative to `#include` for enabling helpers (#1170) ## 4.7.9 (2017-05-01) Fixes: -* Fixed character set handling of code snippets (#1171, #1174) +- Fixed character set handling of code snippets (#1171, #1174) Enhancements: -* Added `xml:base` support (#1172, #1173) [Chris Burkhardt] +- Added `xml:base` support (#1172, #1173) [Chris Burkhardt] This release drops support for Ruby 2.2, as it is no longer maintained. ## 4.7.8 (2017-04-22) Fixes: -* Fixed a crash when printing dependency cycle error messages (#1164, #1166) -* Fixed incorrect ordering in dependency cycle error messages (#1167, #1168) -* Fixed a crash when attempting to print malformed UTF-8 strings (#1163, #1165) +- Fixed a crash when printing dependency cycle error messages (#1164, #1166) +- Fixed incorrect ordering in dependency cycle error messages (#1167, #1168) +- Fixed a crash when attempting to print malformed UTF-8 strings (#1163, #1165) Enhancements: -* Added various speed improvements (#1158, #1159, #1160) +- Added various speed improvements (#1158, #1159, #1160) ## 4.7.7 (2017-04-16) Enhancements: -* Added `--diff` option to `compile` command as a one-time alternative to `enable_output_diff` (#1155) -* Sped up incremental compilation (#1156, #1157) +- Added `--diff` option to `compile` command as a one-time alternative to `enable_output_diff` (#1155) +- Sped up incremental compilation (#1156, #1157) ## 4.7.6 (2017-04-15) Enhancements: -* Added support for `:html5` in `relativize_paths` and `colorize_syntax` filters (#1153) +- Added support for `:html5` in `relativize_paths` and `colorize_syntax` filters (#1153) ## 4.7.5 (2017-04-01) Fixes: -* Made `--verbose` be recognised when calling `nanoc` without subcommand (#1145, #1146) +- Made `--verbose` be recognised when calling `nanoc` without subcommand (#1145, #1146) Enhancements: -* Made `show-data` print all outdatedness reasons, not just the first (#1142) -* Sped up `@items.find_all` (#1147) +- Made `show-data` print all outdatedness reasons, not just the first (#1142) +- Sped up `@items.find_all` (#1147) ## 4.7.4 (2017-03-29) Enhancements: -* Made attribute dependencies cause outdatedness less often (#1136, #1137, #1138) -* Improved speed of Rules file handling (#1140) +- Made attribute dependencies cause outdatedness less often (#1136, #1137, #1138) +- Improved speed of Rules file handling (#1140) ## 4.7.3 (2017-03-26) Fixes: -* Fixed an issue which could cause a missing file for a snapshot that is not `:last` not to be regenerated when compiling (#1134, #1135) +- Fixed an issue which could cause a missing file for a snapshot that is not `:last` not to be regenerated when compiling (#1134, #1135) ## 4.7.2 (2017-03-21) Fixes: -* Fixed crash when calling `#raw_path` in the Checks file (#1130, #1131) +- Fixed crash when calling `#raw_path` in the Checks file (#1130, #1131) ## 4.7.1 (2017-03-19) Fixes: -* Fixed issue with `:xsl` filter not recompiling when it should (#924, #1127) +- Fixed issue with `:xsl` filter not recompiling when it should (#924, #1127) Enhancements: -* Made `compile --verbose` print percentiles rather than averages (#1122) -* Improved dependency cycle error messages (#1123) +- Made `compile --verbose` print percentiles rather than averages (#1122) +- Improved dependency cycle error messages (#1123) ## 4.7 (2017-03-15) Features: -* Added `:erubi` filter (#1103) [Jan M. Faber] -* Added `write ext: 'something'` shortcut (#1079) +- Added `:erubi` filter (#1103) [Jan M. Faber] +- Added `write ext: 'something'` shortcut (#1079) ## 4.6.4 (2017-03-10) Fixes: -* Fixed issue where `compile --verbose` would show misleading timing information (#1113) +- Fixed issue where `compile --verbose` would show misleading timing information (#1113) ## 4.6.3 (2017-03-05) Fixes: -* Fixed `Errno::ENOENT` crash (#1094, #1109) -* Fixed undefined method `#reverse_each` crash (#1107, #1108) -* Fixed compilation speed issue introduced in 4.6.2 (#1106) +- Fixed `Errno::ENOENT` crash (#1094, #1109) +- Fixed undefined method `#reverse_each` crash (#1107, #1108) +- Fixed compilation speed issue introduced in 4.6.2 (#1106) ## 4.6.2 (2017-03-04) Fixes: -* Fixed crash in `#binary?` (#1082, #1083, #1084) -* Fixed issue which would cause the file referenced by `#raw_path` not to exist (#1097, #1099) +- Fixed crash in `#binary?` (#1082, #1083, #1084) +- Fixed issue which would cause the file referenced by `#raw_path` not to exist (#1097, #1099) Enhancements: -* Allowed calling `#write` multiple times in the same rule (#1037, #1085) -* Changed the `html` check to use validator.nu (#1104) +- Allowed calling `#write` multiple times in the same rule (#1037, #1085) +- Changed the `html` check to use validator.nu (#1104) ## 4.6.1 (2017-01-29) Fixes: -* Fixed table formatting in `compile --verbose` (#1074) [Hugo Peixoto] +- Fixed table formatting in `compile --verbose` (#1074) [Hugo Peixoto] Enhancements: -* Reduced memory usage (#1075, #1076, #1077, #1078) +- Reduced memory usage (#1075, #1076, #1077, #1078) ## 4.6 (2017-01-22) Features: -* Made `#content_for` accept a string as well as a block, to allow setting captured content outside of ERB (#1066, #1073) -* Added `#raw_content=` to items and layouts during preprocessing (#1057) -* Added `#snapshot?` to item rep views (#1056) +- Made `#content_for` accept a string as well as a block, to allow setting captured content outside of ERB (#1066, #1073) +- Added `#raw_content=` to items and layouts during preprocessing (#1057) +- Added `#snapshot?` to item rep views (#1056) Enhancements: -* Prevented useless recompilations when switching Nanoc environments (#1070, #1071) +- Prevented useless recompilations when switching Nanoc environments (#1070, #1071) ## 4.5.4 (2017-01-16) Fixes: -* Fixed issue with site not being recompiled fully when switching between environments (#1067, #1069) +- Fixed issue with site not being recompiled fully when switching between environments (#1067, #1069) ## 4.5.3 (2017-01-15) Fixes: -* Fixed “Fixnum is deprecated” message (#1061, #1062) -* Fixed `:pre` snapshot not being created for items that are not laid out (#1064, #1065) +- Fixed “Fixnum is deprecated” message (#1061, #1062) +- Fixed `:pre` snapshot not being created for items that are not laid out (#1064, #1065) ## 4.5.2 (2017-01-11) Fixes: -* Fixed handling of periods in full identifiers (#1022, #1059) -* Fixed “cannot layout binary items” error message (#1058) -* Fixed escaping of URLs in sitemaps (#1052, #1054) +- Fixed handling of periods in full identifiers (#1022, #1059) +- Fixed “cannot layout binary items” error message (#1058) +- Fixed escaping of URLs in sitemaps (#1052, #1054) ## 4.5.1 (2017-01-09) Fixes: -* Fixed crash when Nokogiri is not installed (#1053) +- Fixed crash when Nokogiri is not installed (#1053) ## 4.5 (2017-01-09) Features: -* Added Git deployer (#997) +- Added Git deployer (#997) ## 4.4.7 (2017-01-05) Fixes: -* Fixed issue that caused an item not to be considered outdated when only the mtime has changed (#1046) -* Removed stray `require 'parallel'` which could break the `external_links` check (#1051) [Cédric Boutillier] +- Fixed issue that caused an item not to be considered outdated when only the mtime has changed (#1046) +- Removed stray `require 'parallel'` which could break the `external_links` check (#1051) [Cédric Boutillier] Enhancements: -* Made Nanoc not recompile compiled items after an exception occurs (#1044) +- Made Nanoc not recompile compiled items after an exception occurs (#1044) ## 4.4.6 (2016-12-28) Fixes: -* Fixed issue where `#compiled_content` would not return the correct content (#1040, #1041) +- Fixed issue where `#compiled_content` would not return the correct content (#1040, #1041) ## 4.4.5 (2016-12-24) Fixes: -* Prevented stale data from making it into the checksum store and thereby blowing up in memory (#1004, #1027) -* Fixed slow recompile after adding many items to a site (#1028) -* Fixed wrong capturing helper output when the output field separator (`$,`) is set -* Fixed issue that could cause items with multiple reps not to be recompiled when needed (#1031, #1032) -* Fixed error when fetching textual content of item whose `:last` snapshot is binary (#1035, #1036) +- Prevented stale data from making it into the checksum store and thereby blowing up in memory (#1004, #1027) +- Fixed slow recompile after adding many items to a site (#1028) +- Fixed wrong capturing helper output when the output field separator (`$,`) is set +- Fixed issue that could cause items with multiple reps not to be recompiled when needed (#1031, #1032) +- Fixed error when fetching textual content of item whose `:last` snapshot is binary (#1035, #1036) ## 4.4.4 (2016-12-19) Enhancements: -* Improved speed of incremental compilations (#1017, #1019, #1024) +- Improved speed of incremental compilations (#1017, #1019, #1024) ## 4.4.3 (2016-12-17) Fixes: -* Prevented stale data from making it into the compiled content cache and thereby blowing up in memory (#1004, #1013) -* Fixed “about” and “IRC channel” links in default site -* Fixed accuracy of `<updated>` in Atom feed (use most recent `updated_at` or `created_at`) (#1007, #1014) +- Prevented stale data from making it into the compiled content cache and thereby blowing up in memory (#1004, #1013) +- Fixed “about” and “IRC channel” links in default site +- Fixed accuracy of `<updated>` in Atom feed (use most recent `updated_at` or `created_at`) (#1007, #1014) Enhancements: -* Added support for non-legacy identifiers in `#breadcrumbs_trail` (#1010, #1011) -* Defined checksum for `Nanoc::Int::Context` to make outdatedness checker more precise (#1008, #1012) -* Made Nanoc raise an error when item reps are routed to a path that does not start with a slash (#1015, #1016) +- Added support for non-legacy identifiers in `#breadcrumbs_trail` (#1010, #1011) +- Defined checksum for `Nanoc::Int::Context` to make outdatedness checker more precise (#1008, #1012) +- Made Nanoc raise an error when item reps are routed to a path that does not start with a slash (#1015, #1016) ## 4.4.2 (2016-11-27) Fixes: -* Fixed “Maximum call stack size exceeded” issue in the `less` filter (#1001) -* Fixed issue that could cause the `less` filter to not generate all necessary dependencies (#1003) +- Fixed “Maximum call stack size exceeded” issue in the `less` filter (#1001) +- Fixed issue that could cause the `less` filter to not generate all necessary dependencies (#1003) Enhancements: -* Improved the way that the crash log displays the item rep that is being compiled (#1000) +- Improved the way that the crash log displays the item rep that is being compiled (#1000) ## 4.4.1 (2016-11-21) Fixes: -* Fixed an issue where the `xsl` filter would not generate a correct dependency on the layout (#996) +- Fixed an issue where the `xsl` filter would not generate a correct dependency on the layout (#996) Enhancements: -* Made `view` command use index filenames specified in the `index_filenames` site configuration attribute (#998) +- Made `view` command use index filenames specified in the `index_filenames` site configuration attribute (#998) ## 4.4 (2016-11-19) Features: -* Added support for Nanoc environments (#859) +- Added support for Nanoc environments (#859) ## 4.3.8 (2016-11-18) Enhancements: -* Improved support for Rouge 1.x and 2.x (#880) [Rémi Barraquand] -* Added `#include` to the `nanoc shell` command (#973) -* Improved speed of full and incremental compilations (#977, #985) +- Improved support for Rouge 1.x and 2.x (#880) [Rémi Barraquand] +- Added `#include` to the `nanoc shell` command (#973) +- Improved speed of full and incremental compilations (#977, #985) Fixes: -* Made routing rules and `#write` calls accept an identifier, and not just a string (#976) -* Removed GC speed-up hacks, which became counterproductive in Ruby 2.2 (#975) -* Fixed issue which caused items to be always recompiled if `rep`/`item_rep` or `self` are used in those items’ rules (#982) +- Made routing rules and `#write` calls accept an identifier, and not just a string (#976) +- Removed GC speed-up hacks, which became counterproductive in Ruby 2.2 (#975) +- Fixed issue which caused items to be always recompiled if `rep`/`item_rep` or `self` are used in those items’ rules (#982) ## 4.3.7 (2016-10-29) Fixes: -* Fixed issue with `show-data` and `show-rules` commands not showing all data (#970) [Chris Chapman] +- Fixed issue with `show-data` and `show-rules` commands not showing all data (#970) [Chris Chapman] Enhancements: -* Improved speed of `compile` command (#968) -* Improved speed of `prune` command (#969) -* Made kramdown warnings include affected item rep (#967) [Gregory Pakosz] -* Made kramdown warnings configurable (#967) [Gregory Pakosz] +- Improved speed of `compile` command (#968) +- Improved speed of `prune` command (#969) +- Made kramdown warnings include affected item rep (#967) [Gregory Pakosz] +- Made kramdown warnings configurable (#967) [Gregory Pakosz] ## 4.3.6 (2016-10-23) Fixes: -* Made legacy patterns properly support full identifiers (#957) -* Fixed timezone issues in `#to_iso8601_date` (#961) -* Fixed error when accessing item (rep) paths in shell command (#963) -* Fixed issue that caused `#path` to be nil inside compilation rules (#964) -* Made `__FILE__` in Checks file be a absolute path (#966) +- Made legacy patterns properly support full identifiers (#957) +- Fixed timezone issues in `#to_iso8601_date` (#961) +- Fixed error when accessing item (rep) paths in shell command (#963) +- Fixed issue that caused `#path` to be nil inside compilation rules (#964) +- Made `__FILE__` in Checks file be a absolute path (#966) Enhancements: -* Made the command line write status information to stderr, not stdout (#958) +- Made the command line write status information to stderr, not stdout (#958) ## 4.3.5 (2016-10-14) Fixes: -* Handle `form/@action` in `relativize_paths` filter (#950) [Lorin Werthen] +- Handle `form/@action` in `relativize_paths` filter (#950) [Lorin Werthen] Experimental features: -* `profiler`: adds `--profile` option to the `compile` command to profile compilation (#903) -* `environments`: adds support for Nanoc environments (#859) +- `profiler`: adds `--profile` option to the `compile` command to profile compilation (#903) +- `environments`: adds support for Nanoc environments (#859) ## 4.3.4 (2016-10-02) Fixes: -* Fixed compilation crash when output directory does not exist and auto-pruning is enabled (#948, #949) +- Fixed compilation crash when output directory does not exist and auto-pruning is enabled (#948, #949) ## 4.3.3 (2016-09-26) Fixes: -* Fixed issue causing `Bundler::GemfileNotFound` to be thrown (#936) [Lorin Werthen] -* Fixed issue when replacing a directory with a file or vice versa (#942, #946) +- Fixed issue causing `Bundler::GemfileNotFound` to be thrown (#936) [Lorin Werthen] +- Fixed issue when replacing a directory with a file or vice versa (#942, #946) Enhancements: -* Modified the `compile` command to allow specifying the deploy target as argument (#945) +- Modified the `compile` command to allow specifying the deploy target as argument (#945) ## 4.3.2 (2016-08-23) Identical to 4.3.1, but with corrected release notes. ## 4.3.1 (2016-08-23) Fixes: -* Fixed “outdatedness of LayoutView” error (#927, #931) -* Fixed bug causing some checks not to appear in `nanoc check --list` (#928, #930) -* Fixed `@item`, … not being accessible in filters defined with `Nanoc::Filter.define` (#932, #934) +- Fixed “outdatedness of LayoutView” error (#927, #931) +- Fixed bug causing some checks not to appear in `nanoc check --list` (#928, #930) +- Fixed `@item`, … not being accessible in filters defined with `Nanoc::Filter.define` (#932, #934) ## 4.3 (2016-08-21) Features: -* Added `Nanoc::Filter.define`, to easily define filters (#895) -* Made the `nanoc` Gemfile group be auto-required when Nanoc starts (#910) [whitequark] +- Added `Nanoc::Filter.define`, to easily define filters (#895) +- Made the `nanoc` Gemfile group be auto-required when Nanoc starts (#910) [whitequark] ## 4.2.4 (2016-07-24) Fixes: -* Fixed `UnmetDependency` errors in postprocessor (#913, #917) +- Fixed `UnmetDependency` errors in postprocessor (#913, #917) Enhancements: -* Sped up Nanoc by not releasing cache memory as quickly (#902) -* Let `internal_links` check also verify resource paths, such as scripts and images (#912) [Lorin Werthen] -* Improved error reporting for errors in the Rules file (#908, #914, #915, #916) -* Removed `win32console` support, as it’s deprecated and causing problems (#900, #918) +- Sped up Nanoc by not releasing cache memory as quickly (#902) +- Let `internal_links` check also verify resource paths, such as scripts and images (#912) [Lorin Werthen] +- Improved error reporting for errors in the Rules file (#908, #914, #915, #916) +- Removed `win32console` support, as it’s deprecated and causing problems (#900, #918) ## 4.2.3 (2016-07-03) Fixes: -* Fixed issue with `#inspect` raising a `WeakRef::RefError` (#877, #897) +- Fixed issue with `#inspect` raising a `WeakRef::RefError` (#877, #897) Enhancements: -* Sped up compiler (#894) -* Improved `#inspect` output of some classes (#896) -* Deprecated `Item#modified` and replaced it with `Item#modified_reps` (#898) +- Sped up compiler (#894) +- Improved `#inspect` output of some classes (#896) +- Deprecated `Item#modified` and replaced it with `Item#modified_reps` (#898) ## 4.2.2 (2016-07-02) Fixes: -* Fixed confusing “invalid prefix” error message (#873, #879) -* Ensured filter arguments are frozen, to prevent outdatedness checker errors (#881, #886) -* Fixed issue with dependencies of items generated in the preprocessor not being tracked (#885, #891, #893) +- Fixed confusing “invalid prefix” error message (#873, #879) +- Ensured filter arguments are frozen, to prevent outdatedness checker errors (#881, #886) +- Fixed issue with dependencies of items generated in the preprocessor not being tracked (#885, #891, #893) Enhancements: -* Added specific handling for `Sass::Importers::Filesystem` in the checksummer, which should reduce unnecessary recompiles in sites using Compass (#866, #884) -* Improved speed of checksummer (#864, #887) +- Added specific handling for `Sass::Importers::Filesystem` in the checksummer, which should reduce unnecessary recompiles in sites using Compass (#866, #884) +- Improved speed of checksummer (#864, #887) ## 4.2.1 (2016-06-19) Fixes: -* Fixed an occasional `WeakRef::RefError` (#863, #865) -* Fixed `show-data` command not running preprocessor (#867, #870) +- Fixed an occasional `WeakRef::RefError` (#863, #865) +- Fixed `show-data` command not running preprocessor (#867, #870) ## 4.2 (2016-06-04) Enhancements: -* Dropped Ruby 2.1 support (#856) +- Dropped Ruby 2.1 support (#856) This release also includes the changes from 4.2.0b1. ## 4.1.6 (2016-04-17) Fixes: -* Strip index.html only if it is a full component (#850, #851) -* Force UTF-8 for item rep paths (#837, #852) +- Strip index.html only if it is a full component (#850, #851) +- Force UTF-8 for item rep paths (#837, #852) ## 4.2.0b1 (2016-04-17) Features: -* Allow creating items and layouts with a pre-calculated checksum (#793) [Ruben Verborgh] -* Allow lazy-loading item/layout content and attributes (#794) [Ruben Verborgh] -* Added `exclude_origins` configuration option to internal links checker (#847) -* Added `ChildParent` helper, providing `#children_of` and `#parent_of` (#849) +- Allow creating items and layouts with a pre-calculated checksum (#793) [Ruben Verborgh] +- Allow lazy-loading item/layout content and attributes (#794) [Ruben Verborgh] +- Added `exclude_origins` configuration option to internal links checker (#847) +- Added `ChildParent` helper, providing `#children_of` and `#parent_of` (#849) Enhancements: -* Made `#html_escape` raise an appropriate error when the given argument is not a String (#840) [Micha Rosenbaum] -* Improved memory usage of memoized values by using weak refs (#846) +- Made `#html_escape` raise an appropriate error when the given argument is not a String (#840) [Micha Rosenbaum] +- Improved memory usage of memoized values by using weak refs (#846) ## 4.1.5 (2016-03-24) Fixes: -* Fixed crash in `show-data` command (#833, #835) -* Fixed preprocessor not being invoked before running checks (#841, #842) +- Fixed crash in `show-data` command (#833, #835) +- Fixed preprocessor not being invoked before running checks (#841, #842) ## 4.1.4 (2016-02-13) Fixes: -* Added missing `Configuration#key?` method (#815, #820) -* Made output diff use correct snapshot rather than `:last` (#813, #814) +- Added missing `Configuration#key?` method (#815, #820) +- Made output diff use correct snapshot rather than `:last` (#813, #814) Enhancements: -* Sped up item resolution in Sass filter (#821) -* Made `#link_to` more resilient to unsupported argument types (#816, #819) +- Sped up item resolution in Sass filter (#821) +- Made `#link_to` more resilient to unsupported argument types (#816, #819) ## 4.1.3 (2016-01-30) Fixes: -* Fixed crash in `check` command when the subject of an issue is nil (#804, #811) -* Made stale check not ignore non-final snapshot paths (#809, #810) +- Fixed crash in `check` command when the subject of an issue is nil (#804, #811) +- Made stale check not ignore non-final snapshot paths (#809, #810) ## 4.1.2 (2016-01-16) Fixes: -* Made @-variables (e.g. `@items`) report their frozenness properly, so that optimisations based on frozenness work once again (#795, #797) -* Removed environment from `crash.log` to prevent leaking sensitive information (#798, #800) +- Made @-variables (e.g. `@items`) report their frozenness properly, so that optimisations based on frozenness work once again (#795, #797) +- Removed environment from `crash.log` to prevent leaking sensitive information (#798, #800) Enhancements: -* Removed redundant checksum calculation (#789) [Ruben Verborgh] +- Removed redundant checksum calculation (#789) [Ruben Verborgh] ## 4.1.1 (2015-12-30) Fixes: -* Fixed preprocessor not being run before check/deploy/prune commands (#763, #784, #787, #788) +- Fixed preprocessor not being run before check/deploy/prune commands (#763, #784, #787, #788) Enhancements: -* Made `#breadcrumbs_trail` explicitly fail when using full identifiers (#781, #783) +- Made `#breadcrumbs_trail` explicitly fail when using full identifiers (#781, #783) ## 4.1 (2015-12-18) Fixes: -* Fixed crash when attempting to `#puts` an object that’s not a string (#778) -* Made pruner not prune away files from routes defined for custom snapshots (#779) -* Wrapped `@layout` in a layout view (#773) +- Fixed crash when attempting to `#puts` an object that’s not a string (#778) +- Made pruner not prune away files from routes defined for custom snapshots (#779) +- Wrapped `@layout` in a layout view (#773) Enhancements: -* Added a base path to the Checks file, so that it supports `#require_relative` (#774) +- Added a base path to the Checks file, so that it supports `#require_relative` (#774) This release also includes the changes from 4.1.0a1 to 4.1.0rc2. ## 4.1.0rc2 (2015-12-13) Fixes: -* Fixed children of the root item not having a parent (#769, #770) +- Fixed children of the root item not having a parent (#769, #770) Enhancements: -* Made `#path`, `#compiled_content` and `#reps` unavailable during pre-processing, compilation and routing, because they do not make sense in these contexts (#571, #767, #768) +- Made `#path`, `#compiled_content` and `#reps` unavailable during pre-processing, compilation and routing, because they do not make sense in these contexts (#571, #767, #768) ## 4.1.0rc1 (2015-12-12) Fixes: -* Fixed `@item.compiled_content` in a layout raising an exception (#761, #766) +- Fixed `@item.compiled_content` in a layout raising an exception (#761, #766) ## 4.1.0b1 (2015-12-11) Fixes: -* Fixed issue with `:pre` snapshot not being generated properly (#764) +- Fixed issue with `:pre` snapshot not being generated properly (#764) Enhancements: -* Updated default site to use `#write` (#759) +- Updated default site to use `#write` (#759) ## 4.1.0a1 (2015-12-05) Features: -* Added `postprocess` block (#726) [Garen Torikian] -* Added `#write` compilation instruction and `path` option to `#snapshot` (#753) +- Added `postprocess` block (#726) [Garen Torikian] +- Added `#write` compilation instruction and `path` option to `#snapshot` (#753) Fixes: -* Fixed crash when printing non-string object (#712) [Garen Torikian] -* Removed English text from `#link_to` helper (#736) [Lucas Vuotto] +- Fixed crash when printing non-string object (#712) [Garen Torikian] +- Removed English text from `#link_to` helper (#736) [Lucas Vuotto] Enhancements: -* Allowed excluding URLs from external links check (#686) [Yannick Ihmels] -* Added `atom` to list of text extensions (#657) [Yannick Ihmels] -* Added `#each` to `Nanoc::ConfigView` (#705) [Garen Torikian] -* Made `#attribute_to_time` handle `DateTime` (#717) [Micha Rosenbaum] -* Added `Identifier#components` (#677) -* Added `:existing` option to `#content_for` (can be `:error`, `:overwrite` and `:append`) (#744) +- Allowed excluding URLs from external links check (#686) [Yannick Ihmels] +- Added `atom` to list of text extensions (#657) [Yannick Ihmels] +- Added `#each` to `Nanoc::ConfigView` (#705) [Garen Torikian] +- Made `#attribute_to_time` handle `DateTime` (#717) [Micha Rosenbaum] +- Added `Identifier#components` (#677) +- Added `:existing` option to `#content_for` (can be `:error`, `:overwrite` and `:append`) (#744) ## 4.0.2 (2015-11-30) Fixes: -* Properly set required Ruby version to 2.1 in the gem specification (#747) -* Fixed issue with CLI commands not being loaded as UTF-8 (#742) -* Added missing `#identifier=` method to items and layouts during preprocessing (#750) +- Properly set required Ruby version to 2.1 in the gem specification (#747) +- Fixed issue with CLI commands not being loaded as UTF-8 (#742) +- Added missing `#identifier=` method to items and layouts during preprocessing (#750) Enhancements: -* Let attempts to fetch an item rep by number, rather than symbol, fail with a meaningful error (#749) +- Let attempts to fetch an item rep by number, rather than symbol, fail with a meaningful error (#749) ## 4.0.1 (2015-11-28) Fixes: -* Fixed params documentation for :rdiscount filter (#722) -* Fixed crash when comparing item rep views (#735, #738) +- Fixed params documentation for :rdiscount filter (#722) +- Fixed crash when comparing item rep views (#735, #738) Enhancements: -* Lowered minimum required Ruby version from 2.2 to 2.1 (#732) +- Lowered minimum required Ruby version from 2.2 to 2.1 (#732) ## 4.0 (2015-11-07) Enhancements: -* `#parent` and `#children` now raise an exception when used on items with a non-legacy identifier (#710) +- `#parent` and `#children` now raise an exception when used on items with a non-legacy identifier (#710) This release also includes the changes from 4.0.0a1 to 4.0.0rc3. ## 4.0.0rc3 (2015-09-20) Features: -* Added `Identifier#without_exts` and `Identifier#exts` (#644, #696) [Rémi Barraquand] -* Added `DocumentView#attributes` (#699, #702) +- Added `Identifier#without_exts` and `Identifier#exts` (#644, #696) [Rémi Barraquand] +- Added `DocumentView#attributes` (#699, #702) Fixes: -* Fixed issue when comparing document views (#680, #693) +- Fixed issue when comparing document views (#680, #693) Enhancements: -* Made `#base_url` argument in `#tags_for` optional (#687) [Croath Liu] -* Allowed `IdentifiableCollection#[]` to be passed an identifier (#681, #695) -* Improved `Pattern.from` error message (#683, #692) -* Let default site use a direct link to the stylesheet (#685, #701) +- Made `#base_url` argument in `#tags_for` optional (#687) [Croath Liu] +- Allowed `IdentifiableCollection#[]` to be passed an identifier (#681, #695) +- Improved `Pattern.from` error message (#683, #692) +- Let default site use a direct link to the stylesheet (#685, #701) Changes: -* Removed `Identifier#with_ext` because its behavior was confusing (#697, #700) -* Disallowed storing document (views) in attributes (#682, #694) +- Removed `Identifier#with_ext` because its behavior was confusing (#697, #700) +- Disallowed storing document (views) in attributes (#682, #694) ## 4.0.0rc2 (2015-07-11) Fixes: -* Fixed broken `shell` command (#672) [Jim Mendenhall] -* Fixed absolute path check on Windows (#656) +- Fixed broken `shell` command (#672) [Jim Mendenhall] +- Fixed absolute path check on Windows (#656) Enhancements: -* Made Nanoc error when multiple items have the same output path (#665, #669) -* Improved error message for non-hash frontmatter (#670, #673) +- Made Nanoc error when multiple items have the same output path (#665, #669) +- Improved error message for non-hash frontmatter (#670, #673) Changes: -* nanoc is now called Nanoc +- nanoc is now called Nanoc ## 4.0.0rc1 (2015-06-21) Fixes: -* Fixed double-wrapping of `@layout` in rendering helper (#631) -* Fixed `show-rules` command (#633) +- Fixed double-wrapping of `@layout` in rendering helper (#631) +- Fixed `show-rules` command (#633) ## 4.0.0b4 (2015-06-10) Fixes: -* Added missing `#ext` method to identifiers (#612) -* Fixed issue where identifiers would have the wrong extension (#611) -* Fixed rule context exposing entities rather than views (#614, #615) -* Fixed `#key?` and `#fetch` not being available on layout views (#618) -* Fixed `#update_attributes` not being available on mutable layout views (#619) +- Added missing `#ext` method to identifiers (#612) +- Fixed issue where identifiers would have the wrong extension (#611) +- Fixed rule context exposing entities rather than views (#614, #615) +- Fixed `#key?` and `#fetch` not being available on layout views (#618) +- Fixed `#update_attributes` not being available on mutable layout views (#619) ## 4.0.0b3 (2015-05-31) Changes: -* Removed `filesystem_verbose` data source (#599) -* Set minimum required Ruby version to 2.2 +- Removed `filesystem_verbose` data source (#599) +- Set minimum required Ruby version to 2.2 Enhancements: -* Made `@config`, `@items` and `@layouts` available in checks (#598) -* Made `filesystem` an alias for `filesystem_unified` (#599) -* Made specific reps for an item accessible using `@item.reps[:name]` (#586, #607) -* Removed `allow_periods_in_identifiers` documentation (#605) -* Made fog deployer not upload files with identical ETags to AWS (#480, #536, #552) [Paul Boone] +- Made `@config`, `@items` and `@layouts` available in checks (#598) +- Made `filesystem` an alias for `filesystem_unified` (#599) +- Made specific reps for an item accessible using `@item.reps[:name]` (#586, #607) +- Removed `allow_periods_in_identifiers` documentation (#605) +- Made fog deployer not upload files with identical ETags to AWS (#480, #536, #552) [Paul Boone] Fixes: -* Made `ItemView#parent` return nil if parent is nil (#600, #602) -* Added missing `identifier_type` documentation (#604) +- Made `ItemView#parent` return nil if parent is nil (#600, #602) +- Added missing `identifier_type` documentation (#604) ## 4.0.0b2 (2015-05-23) Changes: -* Removed `ItemCollectionView#at` (#582) -* Removed support for calling `ItemCollectionView#[]` with an integer (#582) -* Renamed `identifier_style` to `identifier_type`, and made its values be `"full"` or `"legacy"` (#593) -* Renamed `pattern_syntax` to `string_pattern_type`, and made its values be `"glob"` or `"legacy"` (#593) -* Made `"full"` the default for `identifier_type` (#592, #594) -* Made `"glob"` the default for `string_pattern_type` (#592) -* Enabled auto-pruning by default for new sites (#590) +- Removed `ItemCollectionView#at` (#582) +- Removed support for calling `ItemCollectionView#[]` with an integer (#582) +- Renamed `identifier_style` to `identifier_type`, and made its values be `"full"` or `"legacy"` (#593) +- Renamed `pattern_syntax` to `string_pattern_type`, and made its values be `"glob"` or `"legacy"` (#593) +- Made `"full"` the default for `identifier_type` (#592, #594) +- Made `"glob"` the default for `string_pattern_type` (#592) +- Enabled auto-pruning by default for new sites (#590) Enhancements: -* Added `--force` to `create-site` command (#580) [David Alexander] -* Made default Rules file more future-proof (#591) +- Added `--force` to `create-site` command (#580) [David Alexander] +- Made default Rules file more future-proof (#591) Fixes: -* Fixed `LayoutCollectionView#[]` documentation (it mentioned items) -* Fixed `ItemCollectionView#[]` returning an array when passed a regex -* Fixed an issue with mutable collection views’ `#delete_if` not yielding mutable views -* Fixed an issue with collection views’ `#find_all` returning entities instead of views +- Fixed `LayoutCollectionView#[]` documentation (it mentioned items) +- Fixed `ItemCollectionView#[]` returning an array when passed a regex +- Fixed an issue with mutable collection views’ `#delete_if` not yielding mutable views +- Fixed an issue with collection views’ `#find_all` returning entities instead of views ## 4.0.0b1 (2015-05-14) Changes: -* Removed tasks -* Removed several private methods in the view API -* Removed default `base_url` in tagging helper +- Removed tasks +- Removed several private methods in the view API +- Removed default `base_url` in tagging helper Enhancements: -* Removed unused options from CLI -* Added `Nanoc::Identifier#without_ext` -* Made `Nanoc::Identifier#=~` work with a glob -* Added `Nanoc::LayoutCollectionView#[]` -* Allowed creation of site in current directory (#549) [David Alexander] +- Removed unused options from CLI +- Added `Nanoc::Identifier#without_ext` +- Made `Nanoc::Identifier#=~` work with a glob +- Added `Nanoc::LayoutCollectionView#[]` +- Allowed creation of site in current directory (#549) [David Alexander] Fixes: -* Fixed `#passthrough` for identifiers with extensions -* Fixed rendering helper for identifiers with extensions -* Fixed filtering helper +- Fixed `#passthrough` for identifiers with extensions +- Fixed rendering helper for identifiers with extensions +- Fixed filtering helper ## 4.0.0a2 (2015-05-12) Features: -* Glob patterns (opt-in by setting `pattern_syntax` to `"glob"` in the site configuration) -* Identifiers with extensions (opt-in by setting `identifier_style` to `"full"` in the data source configuration) +- Glob patterns (opt-in by setting `pattern_syntax` to `"glob"` in the site configuration) +- Identifiers with extensions (opt-in by setting `identifier_style` to `"full"` in the data source configuration) Enhancements: -* Added several convenience methods to view classes (#570, #572) +- Added several convenience methods to view classes (#570, #572) See the [nanoc 4 upgrade guide](https://nanoc.ws/doc/nanoc-4-upgrade-guide/) for details. ## 4.0.0a1 (2015-05-09) @@ -1122,100 +1133,100 @@ ## 3.8 (2015-05-04) Features: -* Added `mixed_content` check (#542, #543) [Mike Pennisi] -* Added `commands_dirs` configuration option for specifying directories to read commands from (#475) [Gregory Pakosz] -* Added `:cdn_id` option to fog deployer for invalidating CDN objects (#451) [Vlatko Kosturjak] -* Add access to regular expressions group matches in rules (#478) [Michal Papis] -* Allow filtering the items array by regex (#458) [Mike Pennisi] +- Added `mixed_content` check (#542, #543) [Mike Pennisi] +- Added `commands_dirs` configuration option for specifying directories to read commands from (#475) [Gregory Pakosz] +- Added `:cdn_id` option to fog deployer for invalidating CDN objects (#451) [Vlatko Kosturjak] +- Add access to regular expressions group matches in rules (#478) [Michal Papis] +- Allow filtering the items array by regex (#458) [Mike Pennisi] Enhancements: -* Added `:preserve_order` option to preserve order in Atom feed (#533, #534) -* Allowed accessing `:pre` snapshot from within item itself (#537, #538, #548) +- Added `:preserve_order` option to preserve order in Atom feed (#533, #534) +- Allowed accessing `:pre` snapshot from within item itself (#537, #538, #548) Fixes: -* Allowed passing generic Pandoc options with :args (#526, #535) -* Fix crash when compiling extensionless binary items (#524, #525) -* Fix double snapshot creation error (#547) +- Allowed passing generic Pandoc options with :args (#526, #535) +- Fix crash when compiling extensionless binary items (#524, #525) +- Fix double snapshot creation error (#547) ## 3.7.5 (2015-01-12) Enhancements: -* Allowed extra patterns to be specified in the data source configuration, so that dotfiles are no longer necessary ignored (e.g. `extra_files: ['.htaccess']`) (#492, #498) [Andy Drop, Michal Papis] -* Removed Ruby 1.8.x support ([details](https://groups.google.com/forum/#!topic/nanoc/pSL1i15EFz8)) (#517) -* Improved CSS and HTML error messages (#484, #504) -* Let kramdown filter print warnings (#459, #519) +- Allowed extra patterns to be specified in the data source configuration, so that dotfiles are no longer necessary ignored (e.g. `extra_files: ['.htaccess']`) (#492, #498) [Andy Drop, Michal Papis] +- Removed Ruby 1.8.x support ([details](https://groups.google.com/forum/#!topic/nanoc/pSL1i15EFz8)) (#517) +- Improved CSS and HTML error messages (#484, #504) +- Let kramdown filter print warnings (#459, #519) Fixes: -* Fixed HTML class names for recent Rouge versions (#502) -* Fixed crash when using items or layouts in attributes (#469, #518) +- Fixed HTML class names for recent Rouge versions (#502) +- Fixed crash when using items or layouts in attributes (#469, #518) ## 3.7.4 (2014-11-23) Enhancements: -* Made `check` command fail when output directory is missing (#472) [Mike Pennisi] -* Made external links check timeouts start small and grow (#483) [Michal Papis] -* Made code and API adhere much more closely to the Ruby style guide (#476) +- Made `check` command fail when output directory is missing (#472) [Mike Pennisi] +- Made external links check timeouts start small and grow (#483) [Michal Papis] +- Made code and API adhere much more closely to the Ruby style guide (#476) Fixes: -* Fixed potential “parent directory is world writable” error (#465, #474) -* Fixed retrying requests in the external link checker (#483) [Michal Papis] -* Fixed issue with data sources not being unloaded (#491) [Michal Papis] +- Fixed potential “parent directory is world writable” error (#465, #474) +- Fixed retrying requests in the external link checker (#483) [Michal Papis] +- Fixed issue with data sources not being unloaded (#491) [Michal Papis] ## 3.7.3 (2014-08-31) Fixes: -* Fixed issue which caused metadata sections not be recognised in files that use CRLF line endings (#470, #471) [Gregory Pakosz] +- Fixed issue which caused metadata sections not be recognised in files that use CRLF line endings (#470, #471) [Gregory Pakosz] ## 3.7.2 (2014-08-17) Fixes: -* Fixed broken links to the now defunct RubyForge (#454, #467) -* Fixed crash when Gemfile is missing but Bundler is installed (#464) -* Made filesystem data source not strip any whitespace (#463) [Gregory Pakosz] +- Fixed broken links to the now defunct RubyForge (#454, #467) +- Fixed crash when Gemfile is missing but Bundler is installed (#464) +- Made filesystem data source not strip any whitespace (#463) [Gregory Pakosz] Enhancements: -* Fixed issue which could cause items to be unnecessarily marked as outdated (#461) [Gregory Pakosz] -* Prevented binary layouts from being generated (#468) [Gregory Pakosz] +- Fixed issue which could cause items to be unnecessarily marked as outdated (#461) [Gregory Pakosz] +- Prevented binary layouts from being generated (#468) [Gregory Pakosz] ## 3.7.1 (2014-06-16) Fixes: -* Fixed bug which would cause nanoc to crash if no Gemfile is present (#447, #449) +- Fixed bug which would cause nanoc to crash if no Gemfile is present (#447, #449) ## 3.7 (2014-06-08) New features: -* Allowed excluding links from the internal links check (`@config[:checks][:internal_links][:exclude]`) (#242) [Remko Tronçon] -* Added Rouge syntax coloring filter (#398) [Guilherme Garnier] -* Backported `after_setup` from nanoc 4 to make it easier to create CLI plugins (#407) [Rémi Barraquand] -* Make lib dirs configurable using `lib_dirs` config attribute (#424) [Gregory Pakosz] -* Added support for setting parent config dir using `parent_config_file` config attribute (#419) [Gregory Pakosz] +- Allowed excluding links from the internal links check (`@config[:checks][:internal_links][:exclude]`) (#242) [Remko Tronçon] +- Added Rouge syntax coloring filter (#398) [Guilherme Garnier] +- Backported `after_setup` from nanoc 4 to make it easier to create CLI plugins (#407) [Rémi Barraquand] +- Make lib dirs configurable using `lib_dirs` config attribute (#424) [Gregory Pakosz] +- Added support for setting parent config dir using `parent_config_file` config attribute (#419) [Gregory Pakosz] Enhancements: -* Added `:with_toc` support to RedCarpet (#222, #232) -* Added `slim` to the list of text extensions (#316) -* Made `content/` and `layouts/` dirs configurable (#412) [Gregory Pakosz] -* Allowed included rules files to have their own preprocess block (#420) [Gregory Pakosz] +- Added `:with_toc` support to RedCarpet (#222, #232) +- Added `slim` to the list of text extensions (#316) +- Made `content/` and `layouts/` dirs configurable (#412) [Gregory Pakosz] +- Allowed included rules files to have their own preprocess block (#420) [Gregory Pakosz] Fixes: -* Fixed bug which caused temporary directories not to be removed (#440, #444) +- Fixed bug which caused temporary directories not to be removed (#440, #444) ## 3.6.11 (2014-05-09) Identical to 3.6.10 but published with corrected release notes. @@ -1223,752 +1234,752 @@ ## 3.6.10 (2014-05-09) Fixes: -* Fixed occasional "no such file" error on JRuby (#422) -* Prevented multiple items and layouts from having the same identifier (#434, #435) +- Fixed occasional "no such file" error on JRuby (#422) +- Prevented multiple items and layouts from having the same identifier (#434, #435) Enhancements: -* Set default encoding to UTF-8 (#428) -* Improved checksummer to reduce number of unnecessary recompiles (#310, #431) -* Disabled USR1 on JRuby in order to suppress warning (#425, #426) -* Made pandoc filter argument passing more generic (#210, #433) +- Set default encoding to UTF-8 (#428) +- Improved checksummer to reduce number of unnecessary recompiles (#310, #431) +- Disabled USR1 on JRuby in order to suppress warning (#425, #426) +- Made pandoc filter argument passing more generic (#210, #433) ## 3.6.9 (2014-04-15) Fixes: -* Fixed path to default stylesheet (#410, #411) -* Improved reliability of piping from/to external processes in JRuby (#417) -* Added workaround for “cannot modify” errors when using Nokogiri on JRuby (#416) -* Made corrupted cached data auto-repair itself if possible (#409, #418) +- Fixed path to default stylesheet (#410, #411) +- Improved reliability of piping from/to external processes in JRuby (#417) +- Added workaround for “cannot modify” errors when using Nokogiri on JRuby (#416) +- Made corrupted cached data auto-repair itself if possible (#409, #418) ## 3.6.8 (2014-03-22) Fixes: -* Fixed issue with missing compilation durations (#374, #379) -* Made XSL filter transform item rather than layout (#399, #401) [Simon South] -* Made XSL filter honor omit-xml-declaration (#403, #404) [Simon South] -* Removed "see full crash log" line from crash log (#397, #402) +- Fixed issue with missing compilation durations (#374, #379) +- Made XSL filter transform item rather than layout (#399, #401) [Simon South] +- Made XSL filter honor omit-xml-declaration (#403, #404) [Simon South] +- Removed "see full crash log" line from crash log (#397, #402) Enhancements: -* Added warning when multiple preprocessors are defined (#389) -* Improve stylesheet handling in default site (#339, #395) +- Added warning when multiple preprocessors are defined (#389) +- Improve stylesheet handling in default site (#339, #395) ## 3.6.7 (2013-12-09) Fixes: -* Made Handlebars filter usable outside layouts (#346, #348) -* Fixed ANSI color support on Windows (#352, #356) -* Made fog deployer handle prefixes properly (#351) [Oliver Byford] -* Fixed crash in watcher (#358) -* Fixed huge durations when showing skipped items after compilation (#360, #364) -* Fixed output of `--verbose` compilation statistics (#359, #365) -* Fixed issue with Sass files not recompiling (#350, #370) +- Made Handlebars filter usable outside layouts (#346, #348) +- Fixed ANSI color support on Windows (#352, #356) +- Made fog deployer handle prefixes properly (#351) [Oliver Byford] +- Fixed crash in watcher (#358) +- Fixed huge durations when showing skipped items after compilation (#360, #364) +- Fixed output of `--verbose` compilation statistics (#359, #365) +- Fixed issue with Sass files not recompiling (#350, #370) Enhancements: -* Fixed Windows compatibility issues in test suite (#353) [Raphael von der Grün] -* Hid deprecated `autocompile` and `watch` commands in help -* Made CLI swallow broken pipe errors when piping to a process that terminates prematurely (#318, #369) +- Fixed Windows compatibility issues in test suite (#353) [Raphael von der Grün] +- Hid deprecated `autocompile` and `watch` commands in help +- Made CLI swallow broken pipe errors when piping to a process that terminates prematurely (#318, #369) ## 3.6.6 (2013-11-08) Enhancements: -* Reduced number of dependencies generated by Sass filter (#306) [Gregory Pakosz] -* Recognised lowercase `utf` in language value (e.g. `en_US.utf8`) as being UTF-8 (#335, #338) -* Set [Thin](https://github.com/macournoyer/thin) as the default server for `nanoc view` (#342, #345) -* Removed watcher section from the default configuration file (#343, #344) +- Reduced number of dependencies generated by Sass filter (#306) [Gregory Pakosz] +- Recognised lowercase `utf` in language value (e.g. `en_US.utf8`) as being UTF-8 (#335, #338) +- Set [Thin](https://github.com/macournoyer/thin) as the default server for `nanoc view` (#342, #345) +- Removed watcher section from the default configuration file (#343, #344) Fixes: -* Prevented capturing helper from erroneously compiling items twice (#331, #337) +- Prevented capturing helper from erroneously compiling items twice (#331, #337) ## 3.6.5 (2013-09-29) Fixes: -* Fixed bug which could cause incorrect dependencies to be generated in some cases (#329) -* Fixed handling of index filenames when allowing periods in identifiers (#330) +- Fixed bug which could cause incorrect dependencies to be generated in some cases (#329) +- Fixed handling of index filenames when allowing periods in identifiers (#330) ## 3.6.4 (2013-05-29) Enhancements: -* Deprecated `watch` and `autocompile` commands in favour of [`guard-nanoc`](https://github.com/guard/guard-nanoc) +- Deprecated `watch` and `autocompile` commands in favour of [`guard-nanoc`](https://github.com/guard/guard-nanoc) Fixes: -* Fixed bug which could cause the `tmp/` dir to blow up in size -* Unescaped URLs when checking internal links +- Fixed bug which could cause the `tmp/` dir to blow up in size +- Unescaped URLs when checking internal links ## 3.6.3 (2013-04-24) Fixes: -* Added support for growlnotify on Windows (#253, #267) -* Fixed bug which caused the external links checker to ignore the query string (#279, #297) -* Removed weird treatment of `DOCTYPE`s in the `relativize_paths` filter (#296) -* Fixed CodeRay syntax coloring on Ruby 2.0 -* Silenced "Could not find files for the given pattern(s)" message on Windows (#298) -* Fixed issue which could cause `output.diff` not to be generated correctly (#255, #301) -* Let filesystem and static data sources follow symlinks (#299, #302) -* Added compatibility with Listen 1.0 (#309) -* Let `#passthrough` in Rules work well with the static data source (#251) [Gregory Pakosz] -* Made timing information be more accurate (#303) +- Added support for growlnotify on Windows (#253, #267) +- Fixed bug which caused the external links checker to ignore the query string (#279, #297) +- Removed weird treatment of `DOCTYPE`s in the `relativize_paths` filter (#296) +- Fixed CodeRay syntax coloring on Ruby 2.0 +- Silenced "Could not find files for the given pattern(s)" message on Windows (#298) +- Fixed issue which could cause `output.diff` not to be generated correctly (#255, #301) +- Let filesystem and static data sources follow symlinks (#299, #302) +- Added compatibility with Listen 1.0 (#309) +- Let `#passthrough` in Rules work well with the static data source (#251) [Gregory Pakosz] +- Made timing information be more accurate (#303) ## 3.6.2 (2013-03-23) Fixes: -* Removed the list of available deployers from the `deploy` help text and moved +- Removed the list of available deployers from the `deploy` help text and moved them into a new `--list-deployers` option [Damien Pollet] -* Fixed warning about `__send__` and `object_id` being redefined on Ruby +- Fixed warning about `__send__` and `object_id` being redefined on Ruby 1.8.x [Justin Hileman] Enhancements: -* Added possible alternative names for the `Checks` file for consistency with +- Added possible alternative names for the `Checks` file for consistency with the `Rules` file: `Checks.rb`, `checks`, `checks.rb` [Damien Pollet] -* Made sure unchanged files never have their mtime updated [Justin Hileman] -* Made link checker retry 405 Method Not Allowed results with GET instead of +- Made sure unchanged files never have their mtime updated [Justin Hileman] +- Made link checker retry 405 Method Not Allowed results with GET instead of HEAD [Daniel Hofstetter] ## 3.6.1 (2013-02-25) Fixes: -* Fixed bug which could cause the Sass filter to raise a load error [Damien Pollet] -* Fixed warnings about `__send__` and `object_id` being redefined [Justin Hileman] -* Made `files_to_watch` contain `nanoc.yaml`, not `config.yaml` by default +- Fixed bug which could cause the Sass filter to raise a load error [Damien Pollet] +- Fixed warnings about `__send__` and `object_id` being redefined [Justin Hileman] +- Made `files_to_watch` contain `nanoc.yaml`, not `config.yaml` by default ## 3.6 (2013-02-24) Features: -* Added `sync` command, allowing data sources to update local caches of +- Added `sync` command, allowing data sources to update local caches of external data [Justin Hileman] -* Added `#ignore` compiler DSL method -* Allowed accessing items by identifier using e.g. `@items['/about/']` -* Added `shell` command +- Added `#ignore` compiler DSL method +- Allowed accessing items by identifier using e.g. `@items['/about/']` +- Added `shell` command Enhancements: -* Renamed the nanoc configuration file from `config.yaml` to `nanoc.yaml` +- Renamed the nanoc configuration file from `config.yaml` to `nanoc.yaml` Fixes: -* Updated references to old web site and old repository -* Made `require` errors mention Bundler if appropriate -* Fixed bug which caused pruner not to delete directories in some cases [Matthias Reitinger] -* Made `check` command exit with the proper exit status -* Added support for the `HTML_TOC` Redcarpet renderer -* Made `stale` check honor files excluded by the pruner +- Updated references to old web site and old repository +- Made `require` errors mention Bundler if appropriate +- Fixed bug which caused pruner not to delete directories in some cases [Matthias Reitinger] +- Made `check` command exit with the proper exit status +- Added support for the `HTML_TOC` Redcarpet renderer +- Made `stale` check honor files excluded by the pruner ## 3.5 (2013-01-27) Major changes: -* Added checks +- Added checks Minor changes: -* Added `#include_rules` for modularising Rules files [Justin Hileman] -* Replaced FSSM with Listen [Takashi Uchibe] -* Made USR1 print stack trace (not on Windows) -* Added ability to configure autocompiler host/port in config.yaml [Stuart Montgomery] -* Added static data source -* Added `:rep_select` parameter to XML sitemap to allow filtering reps -* Removed use of bright/bold colors for compatibility with Solarized +- Added `#include_rules` for modularising Rules files [Justin Hileman] +- Replaced FSSM with Listen [Takashi Uchibe] +- Made USR1 print stack trace (not on Windows) +- Added ability to configure autocompiler host/port in config.yaml [Stuart Montgomery] +- Added static data source +- Added `:rep_select` parameter to XML sitemap to allow filtering reps +- Removed use of bright/bold colors for compatibility with Solarized Exensions: -* Added support for parameters in Less filter [Ruben Verborgh] -* Added support for icon and logo in Atom feed [Ruben Verborgh] +- Added support for parameters in Less filter [Ruben Verborgh] +- Added support for icon and logo in Atom feed [Ruben Verborgh] Fixes: -* Made syntax colorizer only use the first non-empty line when extracting the +- Made syntax colorizer only use the first non-empty line when extracting the language comment -* Fixed XSL filter +- Fixed XSL filter ## 3.4.3 (2012-12-09) Improvements: -* Item reps are now accessible in a consistent way: in Rules and during +- Item reps are now accessible in a consistent way: in Rules and during compilation, they can be accessed using both `@rep` and `@item_rep` Fixes: -* Made cleaning streams (stdout/stderr as used by nanoc) compatible with +- Made cleaning streams (stdout/stderr as used by nanoc) compatible with Ruby’s built-in Logger -* Made prune work when the output directory is a symlink -* Made Handlebars filter compatible with the latest version -* Made `show-data` command show more accurate dependencies [Stefan Bühler] -* Restored compatibility with Sass 3.2.2 +- Made prune work when the output directory is a symlink +- Made Handlebars filter compatible with the latest version +- Made `show-data` command show more accurate dependencies [Stefan Bühler] +- Restored compatibility with Sass 3.2.2 ## 3.4.2 (2012-11-01) Fixes: -* Made passthrough rules be inserted in the right place [Gregory Pakosz] -* Fixed crashes in the progress indicator when compiling -* Made auto-pruning honor excluded files [Grégory Karékinian] -* Made lack of which/where not crash watch command +- Made passthrough rules be inserted in the right place [Gregory Pakosz] +- Fixed crashes in the progress indicator when compiling +- Made auto-pruning honor excluded files [Grégory Karékinian] +- Made lack of which/where not crash watch command Improvements: -* Fixed constant reinitialization warnings [Damien Pollet] -* Made UTF-8 not be decomposed when outputting to a file from a non-UTF-8 terminal -* Made syntax colorizer wrap CodeRay output in required CodeRay divs -* Made fog delete after upload, not before [Go Maeda] -* Made requesting compiled content of binary item impossible +- Fixed constant reinitialization warnings [Damien Pollet] +- Made UTF-8 not be decomposed when outputting to a file from a non-UTF-8 terminal +- Made syntax colorizer wrap CodeRay output in required CodeRay divs +- Made fog delete after upload, not before [Go Maeda] +- Made requesting compiled content of binary item impossible ## 3.4.1 (2012-09-22) Fixes: -* Fixed auto-pruning -* Made slim filter work with the capturing helper [Bil Bas] +- Fixed auto-pruning +- Made slim filter work with the capturing helper [Bil Bas] Improvements: -* Made several speed improvements -* Added prune configuration to config.yaml -* Made nanoc check for presence of nanoc in Gemfile -* Made compile command not show identicals (use `--verbose` if you want them) -* Made `relativize_paths` filter recognise more paths to relativize [Arnau Siches] -* Fixed #passthrough for items without extensions [Justin Hileman] -* Added more IO/File proxy methods to cleaning streams +- Made several speed improvements +- Added prune configuration to config.yaml +- Made nanoc check for presence of nanoc in Gemfile +- Made compile command not show identicals (use `--verbose` if you want them) +- Made `relativize_paths` filter recognise more paths to relativize [Arnau Siches] +- Fixed #passthrough for items without extensions [Justin Hileman] +- Added more IO/File proxy methods to cleaning streams ## 3.4 (2012-06-09) -* Improved error output and added crash log -* Renamed `debug` and `info` commands to `show-data` and `show-plugins`, respectively -* Added `show-rules` command (aka `explain`) +- Improved error output and added crash log +- Renamed `debug` and `info` commands to `show-data` and `show-plugins`, respectively +- Added `show-rules` command (aka `explain`) Extensions: -* Added `:yield` key for Mustache filter -* Added Handebars filter -* Added Pandoc filter -* Made the deployer use the `default` target if no target is specified -* Converted HTML/CSS/link validation tasks to commands -* Made link validator follow relative redirects +- Added `:yield` key for Mustache filter +- Added Handebars filter +- Added Pandoc filter +- Made the deployer use the `default` target if no target is specified +- Converted HTML/CSS/link validation tasks to commands +- Made link validator follow relative redirects ## 3.3.7 (2012-05-28) -* Added filename to YAML parser errors -* Fixed issue which caused extra dependencies to be generated -* Made timing information take filtering helper into account +- Added filename to YAML parser errors +- Fixed issue which caused extra dependencies to be generated +- Made timing information take filtering helper into account ## 3.3.6 (2012-04-27) -* Fixed issue with relative_link_to stripping HTML boilerplate +- Fixed issue with relative_link_to stripping HTML boilerplate ## 3.3.5 (2012-04-23) -* Fixed issue with relative_link_to not working properly +- Fixed issue with relative_link_to not working properly ## 3.3.4 (2012-04-23) -* Fixed bug which caused the compilation stack to be empty -* Restored Ruby 1.8 compatibility +- Fixed bug which caused the compilation stack to be empty +- Restored Ruby 1.8 compatibility ## 3.3.3 (2012-04-11) -* Fixed directed graph implementation on Rubinius -* Made capturing helper not remember content between runs -* Fixed Date#freeze issue on Ruby 1.8.x -* Made it possible to have any kind of object as parameters in the Rules file -* Fixed bug which caused changed routes not to cause a recompile +- Fixed directed graph implementation on Rubinius +- Made capturing helper not remember content between runs +- Fixed Date#freeze issue on Ruby 1.8.x +- Made it possible to have any kind of object as parameters in the Rules file +- Fixed bug which caused changed routes not to cause a recompile ## 3.3.2 (2012-03-16) -* Removed bin/nanoc3 (use nanoc3 gem if you want it) -* Fixed wrong “no such snapshot” errors -* Made deployer default to rsync for backwards compatibility -* Fixed missing Nanoc::OrigCLI in deployment tasks -* Fixed “unrecognised kind” deployer error +- Removed bin/nanoc3 (use nanoc3 gem if you want it) +- Fixed wrong “no such snapshot” errors +- Made deployer default to rsync for backwards compatibility +- Fixed missing Nanoc::OrigCLI in deployment tasks +- Fixed “unrecognised kind” deployer error ## 3.3.1 (2012-02-18) -* Fixed issue with long paths on Windows -* Fixed a few deployer crashes -* Added nanoc3.rb, nanoc3/tasks.rb, … for compatibility with older versions -* Made nanoc setup Bundler at startup [John Nishinaga] +- Fixed issue with long paths on Windows +- Fixed a few deployer crashes +- Added nanoc3.rb, nanoc3/tasks.rb, … for compatibility with older versions +- Made nanoc setup Bundler at startup [John Nishinaga] ## 3.3 (2012-02-12) Base: -* Dropped the “3” suffix on nanoc3/Nanoc3 -* Turned Rake tasks into proper nanoc commands -* Improved dependency tracking -* Added support for locals in filters and layouts +- Dropped the “3” suffix on nanoc3/Nanoc3 +- Turned Rake tasks into proper nanoc commands +- Improved dependency tracking +- Added support for locals in filters and layouts Extensions: -* Added support for deployment using Fog [Jack Chu] -* Added CoffeeScript filter [Riley Goodside] -* Added XSL filter [Arnau Siches] -* Added YUICompress filter [Matt Keveney] -* Added pygments.rb to supported syntax colorizers -* Allowed syntax colorizer to colorize outside `pre` elements [Kevin Lynagh] -* Added support for HTTPS link validation [Fabian Buch] -* Added support for (automatically) pruning stray output files [Justin Hileman] -* Added deploy command +- Added support for deployment using Fog [Jack Chu] +- Added CoffeeScript filter [Riley Goodside] +- Added XSL filter [Arnau Siches] +- Added YUICompress filter [Matt Keveney] +- Added pygments.rb to supported syntax colorizers +- Allowed syntax colorizer to colorize outside `pre` elements [Kevin Lynagh] +- Added support for HTTPS link validation [Fabian Buch] +- Added support for (automatically) pruning stray output files [Justin Hileman] +- Added deploy command ## 3.2.4 (2012-01-09) -* Fixed bug which would cause some reps not to be compiled when invoking nanoc programmatically -* Made data source configuration location a bit more obvious -* Fixed watch command under Windows -* Made filesystem data source ignore UTF-8 BOM -* Improved compatibility of `colorize_syntax` filter with older libxml versions +- Fixed bug which would cause some reps not to be compiled when invoking nanoc programmatically +- Made data source configuration location a bit more obvious +- Fixed watch command under Windows +- Made filesystem data source ignore UTF-8 BOM +- Improved compatibility of `colorize_syntax` filter with older libxml versions ## 3.2.3 (2011-10-31) -* Made syntax colorizer only strip trailing blank lines instead of all blanks -* Improved Ruby 1.9.x compatibility -* Made default rakefile require rubygems if necessary -* Made filename/content argument of `Nanoc3::Item#initialize` mandatory +- Made syntax colorizer only strip trailing blank lines instead of all blanks +- Improved Ruby 1.9.x compatibility +- Made default rakefile require rubygems if necessary +- Made filename/content argument of `Nanoc3::Item#initialize` mandatory ## 3.2.2 (2011-09-04) -* Fixed command usage printing -* Made `relativize_paths` filter handle Windows network paths [Ruben Verborgh] -* Made watcher use correct configuration -* Allowed code blocks to start with a non-language shebang line +- Fixed command usage printing +- Made `relativize_paths` filter handle Windows network paths [Ruben Verborgh] +- Made watcher use correct configuration +- Allowed code blocks to start with a non-language shebang line ## 3.2.1 (2011-07-27) -* Made `@config` available in rules file -* Fixed `#readpartial` issue on JRuby [Matt Keveney] -* Fixed possible `@cache` name clash in memoization module -* Fixed options with required arguments (such as `--port` and `--host`) -* Fixed broken `#check_availability` -* Fixed error handling in watch command +- Made `@config` available in rules file +- Fixed `#readpartial` issue on JRuby [Matt Keveney] +- Fixed possible `@cache` name clash in memoization module +- Fixed options with required arguments (such as `--port` and `--host`) +- Fixed broken `#check_availability` +- Fixed error handling in watch command ## 3.2 (2011-07-24) Base: -* Sped up nanoc quite a bit -* Added progress indicator for long-running filters -* Made all source data, such as item attributes, frozen during compilation -* Added --color option to force color on -* Cleaned up internals, deprecating several parts and/or marking them as private in the progress -* Allowed custom commands in commands/ +- Sped up nanoc quite a bit +- Added progress indicator for long-running filters +- Made all source data, such as item attributes, frozen during compilation +- Added --color option to force color on +- Cleaned up internals, deprecating several parts and/or marking them as private in the progress +- Allowed custom commands in commands/ Extensions: -* Added AsciiDoc filter -* Added Redcarpet filter [Peter Aronoff] -* Added Slim filter [Zaiste de Grengolada] -* Added Typogruby filter -* Added UglifyJS filter [Justin Hileman] -* Added `:items` parameter for the XML site map [Justin Hileman] -* Added support for params to ERB -* Added `:default_colorizer` parameter to the `:colorize_syntax` filter -* Allowed for passing arbitrary options to pygmentize [Matthias Vallentin] -* Exposed RedCloth parameters in the filter [Vincent Driessen] +- Added AsciiDoc filter +- Added Redcarpet filter [Peter Aronoff] +- Added Slim filter [Zaiste de Grengolada] +- Added Typogruby filter +- Added UglifyJS filter [Justin Hileman] +- Added `:items` parameter for the XML site map [Justin Hileman] +- Added support for params to ERB +- Added `:default_colorizer` parameter to the `:colorize_syntax` filter +- Allowed for passing arbitrary options to pygmentize [Matthias Vallentin] +- Exposed RedCloth parameters in the filter [Vincent Driessen] ## 3.1.9 (2011-06-30) -* Really fixed dependency generation between Sass partials this time -* Updated Less filter to 2.0 -* Made `colorize_syntax` filter throw an error if pygmentize is not available +- Really fixed dependency generation between Sass partials this time +- Updated Less filter to 2.0 +- Made `colorize_syntax` filter throw an error if pygmentize is not available ## 3.1.8 (2011-06-25) -* Made link validator accept https: URLs -* Fixed erroneous handling of layouts with names ending in index -* Fixed dependency generation between Sass partials -* Fixed errors related to thread requires -* Fixed crash while handling load errors -* Improved encoding handling while reading files +- Made link validator accept https: URLs +- Fixed erroneous handling of layouts with names ending in index +- Fixed dependency generation between Sass partials +- Fixed errors related to thread requires +- Fixed crash while handling load errors +- Improved encoding handling while reading files ## 3.1.7 (2011-05-03) -* Restored compatibility with Sass 3.1 +- Restored compatibility with Sass 3.1 ## 3.1.6 (2010-11-21) -* Fixed issues with incompatible encodings +- Fixed issues with incompatible encodings ## 3.1.5 (2010-08-24) -* Improved `#render` documentation -* Improved metadata section check so that e.g. raw diffs are handled properly -* Deprecated using `Nanoc3::Site#initialize` with a non-`"."` argument -* Added Ruby engine to version string -* Allowed the `created_at` and `updated_at` attributes used in the `Blogging` helper to be `Date` instances +- Improved `#render` documentation +- Improved metadata section check so that e.g. raw diffs are handled properly +- Deprecated using `Nanoc3::Site#initialize` with a non-`"."` argument +- Added Ruby engine to version string +- Allowed the `created_at` and `updated_at` attributes used in the `Blogging` helper to be `Date` instances ## 3.1.4 (2010-07-25) -* Made INT and TERM signals always quit the CLI -* Allowed relative imports in LESS -* Made sure modification times are unchanged for identical recompiled items -* Improved link validator error handling -* Made pygmentize not output extra divs and pres -* Allowed colorizers to be specified using symbols instead of strings -* Added scss to the default list of text extensions +- Made INT and TERM signals always quit the CLI +- Allowed relative imports in LESS +- Made sure modification times are unchanged for identical recompiled items +- Improved link validator error handling +- Made pygmentize not output extra divs and pres +- Allowed colorizers to be specified using symbols instead of strings +- Added scss to the default list of text extensions ## 3.1.3 (2010-04-25) -* Removed annoying win32console warning [Eric Sunshine] -* Removed color codes when not writing to a terminal, or when writing to Windows’ console when win32console is not installed [Eric Sunshine] -* Added .xhtml and .xml to list of text extensions -* Improved support for relative Sass @imports [Chris Eppstein] +- Removed annoying win32console warning [Eric Sunshine] +- Removed color codes when not writing to a terminal, or when writing to Windows’ console when win32console is not installed [Eric Sunshine] +- Added .xhtml and .xml to list of text extensions +- Improved support for relative Sass @imports [Chris Eppstein] ## 3.1.2 (2010-04-07) -* Fixed bug which could cause incorrect output when compilation of an item is delayed due to an unmet dependency +- Fixed bug which could cause incorrect output when compilation of an item is delayed due to an unmet dependency ## 3.1.1 (2010-04-05) -* Sass `@import`s now work for files not managed by nanoc -* Rake tasks now have their Unicode description decomposed if necessary +- Sass `@import`s now work for files not managed by nanoc +- Rake tasks now have their Unicode description decomposed if necessary ## 3.1 (2010-04-03) New: -* An `Item#rep_named(name)` function for quickly getting a certain rep -* An `Item#compiled_content` function for quickly getting compiled content -* An `Item#path` function for quickly getting the path of an item rep -* A new “+” wildcard in rule patterns that matches one or more characters -* A `view` command that starts a web server in the output directory -* A `debug` command that shows information about the items, reps and layouts -* A `kramdown` filter ([kramdown site](https://kramdown.gettalong.org/)) -* A diff between the previously compiled content and the last compiled content is now written to `output.diff` if the `enable_output_diff` site configuration attribute is true -* Assigns, such as `@items`, `@layouts`, `@item`, … are accessible without `@` -* Support for binary items +- An `Item#rep_named(name)` function for quickly getting a certain rep +- An `Item#compiled_content` function for quickly getting compiled content +- An `Item#path` function for quickly getting the path of an item rep +- A new “+” wildcard in rule patterns that matches one or more characters +- A `view` command that starts a web server in the output directory +- A `debug` command that shows information about the items, reps and layouts +- A `kramdown` filter ([kramdown site](https://kramdown.gettalong.org/)) +- A diff between the previously compiled content and the last compiled content is now written to `output.diff` if the `enable_output_diff` site configuration attribute is true +- Assigns, such as `@items`, `@layouts`, `@item`, … are accessible without `@` +- Support for binary items Changed: -* New sites now come with a stylesheet item instead of a `style.css` file in the output directory -* The `deploy:rsync` task now use sensible default options -* The `deploy:rsync` task now accepts a config environment variable -* The `deploy:rsync` task now uses a lowercase `dry_run` environment variable -* The `maruku` filter now accepts parameters -* The `rainpress` filter now accepts parameters -* The `filesystem` data source is now known as `filesystem_verbose` -* Meta files and content files are now optional -* The `filesystem_compact` and `filesystem_combined` data sources have been merged into a new `filesystem_unified` data source -* The metadata section in `filesystem_unified` is now optional [Chris Eppstein] -* The `--server` autocompile option is now known as `--handler` -* Assigns in filters are now available as instance variables and methods -* The `#breadcrumbs_trail` function now allows missing parents -* The `sass` filter now properly handles `@import` dependencies +- New sites now come with a stylesheet item instead of a `style.css` file in the output directory +- The `deploy:rsync` task now use sensible default options +- The `deploy:rsync` task now accepts a config environment variable +- The `deploy:rsync` task now uses a lowercase `dry_run` environment variable +- The `maruku` filter now accepts parameters +- The `rainpress` filter now accepts parameters +- The `filesystem` data source is now known as `filesystem_verbose` +- Meta files and content files are now optional +- The `filesystem_compact` and `filesystem_combined` data sources have been merged into a new `filesystem_unified` data source +- The metadata section in `filesystem_unified` is now optional [Chris Eppstein] +- The `--server` autocompile option is now known as `--handler` +- Assigns in filters are now available as instance variables and methods +- The `#breadcrumbs_trail` function now allows missing parents +- The `sass` filter now properly handles `@import` dependencies Deprecated: -* `Nanoc3::FileProxy`; use one of the filename attributes instead -* `ItemRep#content_at_snapshot`; use `#compiled_content` instead -* The `last_fm`, `delicious` and `twitter` data sources; fetch online content into a cache by a rake task and load data from this cache instead +- `Nanoc3::FileProxy`; use one of the filename attributes instead +- `ItemRep#content_at_snapshot`; use `#compiled_content` instead +- The `last_fm`, `delicious` and `twitter` data sources; fetch online content into a cache by a rake task and load data from this cache instead ## 3.0.9 (2010-02-24) -* Fixed 1.8.x parsing bug due to lack of parens which could cause “undefined method `to_iso8601_time` for #<String:0x…>” errors +- Fixed 1.8.x parsing bug due to lack of parens which could cause “undefined method `to_iso8601_time` for #<String:0x…>” errors ## 3.0.8 (2010-02-24) -* `#atom_tag_for` now works with `base_url`s that contain a path [Eric Sunshine] -* Generated root URLs in `#atom_feed` now end with a slash [Eric Sunshine] -* Autocompiler now recognises requests to index files -* `Blogging` helper now allows `created_at` to be a Time instance +- `#atom_tag_for` now works with `base_url`s that contain a path [Eric Sunshine] +- Generated root URLs in `#atom_feed` now end with a slash [Eric Sunshine] +- Autocompiler now recognises requests to index files +- `Blogging` helper now allows `created_at` to be a Time instance ## 3.0.7 (2010-01-29) -* Fixed bug which could cause layout rules not be matched in order +- Fixed bug which could cause layout rules not be matched in order ## 3.0.6 (2010-01-17) -* Error checking in `filesystem_combined` has been improved [Brian Candler] -* Generated HTML files now have a default encoding of UTF-8 -* Periods in identifiers for layouts now behave correctly -* The `relativize_paths` filter now correctly handles “/” [Eric Sunshine] +- Error checking in `filesystem_combined` has been improved [Brian Candler] +- Generated HTML files now have a default encoding of UTF-8 +- Periods in identifiers for layouts now behave correctly +- The `relativize_paths` filter now correctly handles “/” [Eric Sunshine] ## 3.0.5 (2010-01-12) -* Restored pre-3.0.3 behaviour of periods in identifiers. By default, a file can have multiple extensions (e.g. `content/foo.html.erb` will have the identifier `/foo/`), but if `allow_periods_in_identifiers` in the site configuration is true, a file can have only one extension (e.g. `content/blog/stuff.entry.html` will have the identifier `/blog/stuff.entry/`). +- Restored pre-3.0.3 behaviour of periods in identifiers. By default, a file can have multiple extensions (e.g. `content/foo.html.erb` will have the identifier `/foo/`), but if `allow_periods_in_identifiers` in the site configuration is true, a file can have only one extension (e.g. `content/blog/stuff.entry.html` will have the identifier `/blog/stuff.entry/`). ## 3.0.4 (2010-01-07) -* Fixed a bug which would cause the `filesystem_compact` data source to incorrectly determine the content filename, leading to weird “Expected 1 content file but found 3” errors [Eric Sunshine] +- Fixed a bug which would cause the `filesystem_compact` data source to incorrectly determine the content filename, leading to weird “Expected 1 content file but found 3” errors [Eric Sunshine] ## 3.0.3 (2010-01-06) -* The `Blogging` helper now properly handles item reps without paths -* The `relativize_paths` filter now only operates inside tags -* The autocompiler now handles escaped paths -* The `LinkTo` and `Tagging` helpers now output escaped HTML -* Fixed `played_at` attribute assignment in the `LastFM` data source for tracks playing now, and added a `now_playing` attribute [Nicky Peeters] -* The `filesystem_*` data sources can now handle dots in identifiers -* Required enumerator to make sure `#enum_with_index` always works -* `Array#stringify_keys` now properly recurses +- The `Blogging` helper now properly handles item reps without paths +- The `relativize_paths` filter now only operates inside tags +- The autocompiler now handles escaped paths +- The `LinkTo` and `Tagging` helpers now output escaped HTML +- Fixed `played_at` attribute assignment in the `LastFM` data source for tracks playing now, and added a `now_playing` attribute [Nicky Peeters] +- The `filesystem_*` data sources can now handle dots in identifiers +- Required enumerator to make sure `#enum_with_index` always works +- `Array#stringify_keys` now properly recurses ## 3.0.2 (2009-11-07) -* Children-only identifier patterns no longer erroneously also match parent (e.g. `/foo/*/` no longer matches `/foo/`) -* The `create_site` command no longer uses those ugly HTML entities -* Install message now mentions the IRC channel +- Children-only identifier patterns no longer erroneously also match parent (e.g. `/foo/*/` no longer matches `/foo/`) +- The `create_site` command no longer uses those ugly HTML entities +- Install message now mentions the IRC channel ## 3.0.1 (2009-10-05) -* The proper exception is now raised when no matching compilation rules can be found -* The autocompile command no longer has a duplicate `--port` option -* The `#url_for` and `#feed_url` methods now check the presence of the `base_url` site configuration attribute -* Several outdated URLs are now up-to-date -* Error handling has been improved in general +- The proper exception is now raised when no matching compilation rules can be found +- The autocompile command no longer has a duplicate `--port` option +- The `#url_for` and `#feed_url` methods now check the presence of the `base_url` site configuration attribute +- Several outdated URLs are now up-to-date +- Error handling has been improved in general ## 3.0 (2009-08-14) New: -* Multiple data sources -* Dependency tracking between items -* Filters can now optionally take arguments -* `#create_page` and `#create_layout` methods in data sources -* A new way to specify compilation/routing rules using a Rules file -* A `coderay` filter ([CodeRay site](http://coderay.rubychan.de/)) -* A `filesystem_compact` data source which uses less directories +- Multiple data sources +- Dependency tracking between items +- Filters can now optionally take arguments +- `#create_page` and `#create_layout` methods in data sources +- A new way to specify compilation/routing rules using a Rules file +- A `coderay` filter ([CodeRay site](http://coderay.rubychan.de/)) +- A `filesystem_compact` data source which uses less directories Changed: -* Pages and textual assets are now known as “items” +- Pages and textual assets are now known as “items” Removed: -* Support for drafts -* Support for binary assets -* Support for templates -* Everything that was deprecated in nanoc 2.x -* `save_*`, `move_*` and `delete_*` methods in data sources -* Processing instructions in metadata +- Support for drafts +- Support for binary assets +- Support for templates +- Everything that was deprecated in nanoc 2.x +- `save_*`, `move_*` and `delete_*` methods in data sources +- Processing instructions in metadata ## 2.2.2 (2009-05-18) -* Removed `relativize_paths` filter; use `relativize_paths_in_html` or `relativize_paths_in_css` instead -* Fixed bug which could cause nanoc to eat massive amounts of memory when an exception occurs -* Fixed bug which would cause nanoc to complain about the open file limit being reached when using a large amount of assets +- Removed `relativize_paths` filter; use `relativize_paths_in_html` or `relativize_paths_in_css` instead +- Fixed bug which could cause nanoc to eat massive amounts of memory when an exception occurs +- Fixed bug which would cause nanoc to complain about the open file limit being reached when using a large amount of assets ## 2.2.1 (2009-04-08) -* Fixed bug which prevented `relative_path_to` from working -* Split `relativize_paths` filter into two filter: `relativize_paths_in_html` and `relativize_paths_in_css` -* Removed bundled mime-types library +- Fixed bug which prevented `relative_path_to` from working +- Split `relativize_paths` filter into two filter: `relativize_paths_in_html` and `relativize_paths_in_css` +- Removed bundled mime-types library ## 2.2 (2009-04-06) New: -* `--pages` and `--assets` compiler options -* `--no-color` command-line option -* `Filtering` helper -* `#relative_path_to` function in `LinkTo` helper -* `rainpress` filter ([Rainpress site](https://github.com/ddfreyne/rainpress)) -* `relativize_paths` filter -* The current layout is now accessible through the `@layout` variable -* Much more informative stack traces when something goes wrong +- `--pages` and `--assets` compiler options +- `--no-color` command-line option +- `Filtering` helper +- `#relative_path_to` function in `LinkTo` helper +- `rainpress` filter ([Rainpress site](https://github.com/ddfreyne/rainpress)) +- `relativize_paths` filter +- The current layout is now accessible through the `@layout` variable +- Much more informative stack traces when something goes wrong Changed: -* The command-line option parser is now a lot more reliable -* `#atom_feed` now takes optional `:content_proc`, `:excerpt_proc` and `:articles` parameters -* The compile command show non-written items (those with `skip_output: true`) -* The compile command compiles everything by default -* Added `--only-outdated` option to compile only outdated pages +- The command-line option parser is now a lot more reliable +- `#atom_feed` now takes optional `:content_proc`, `:excerpt_proc` and `:articles` parameters +- The compile command show non-written items (those with `skip_output: true`) +- The compile command compiles everything by default +- Added `--only-outdated` option to compile only outdated pages Removed: -* deprecated extension-based code +- deprecated extension-based code ## 2.1.6 (2009-02-28) -* The `filesystem_combined` data source now supports empty metadata sections -* The `rdoc` filter now works for both RDoc 1.x and 2.x -* The autocompiler now serves a 500 when an exception occurs outside compilation -* The autocompiler no longer serves index files when the request path does not end with a slash -* The autocompiler now always serves asset content correctly +- The `filesystem_combined` data source now supports empty metadata sections +- The `rdoc` filter now works for both RDoc 1.x and 2.x +- The autocompiler now serves a 500 when an exception occurs outside compilation +- The autocompiler no longer serves index files when the request path does not end with a slash +- The autocompiler now always serves asset content correctly ## 2.1.5 (2009-02-01) -* Added Ruby 1.9 compatibility -* The `filesystem` and `filesystem_combined` data sources now preserve custom extensions +- Added Ruby 1.9 compatibility +- The `filesystem` and `filesystem_combined` data sources now preserve custom extensions ## 2.1.4 (2008-11-15) -* Fixed an issue where the autocompiler in Windows would serve broken assets +- Fixed an issue where the autocompiler in Windows would serve broken assets ## 2.1.3 (2008-09-27) -* The `haml` and `sass` filters now correctly take their options from assets -* The autocompiler now serves index files instead of 404s -* Layouts named “index” are now handled correctly -* The `filesystem_combined` data source now properly handles assets +- The `haml` and `sass` filters now correctly take their options from assets +- The autocompiler now serves index files instead of 404s +- Layouts named “index” are now handled correctly +- The `filesystem_combined` data source now properly handles assets ## 2.1.2 (2008-09-08) -* The utocompiler now compiles assets as well -* The `sass` filter now takes options (just like the `haml` filter) -* Haml/Sass options are now taken from the page *rep* instead of the page +- The utocompiler now compiles assets as well +- The `sass` filter now takes options (just like the `haml` filter) +- Haml/Sass options are now taken from the page _rep_ instead of the page ## 2.1.1 (2008-08-18) -* Fixed issue which would cause files not to be required in the right order +- Fixed issue which would cause files not to be required in the right order ## 2.1 (2008-08-17) This is only a short summary of all changes in 2.1. For details, see the [nanoc web site](https://nanoc.ws/). Especially the blog and the updated manual will be useful. New: -* New `rdiscount` filter ([RDiscount site](https://github.com/davidfstr/rdiscount)) -* New `maruku` filter ([Maruku site](https://github.com/bhollis/maruku/)) -* New `erubis` filter ([Erubis site](http://www.kuwata-lab.com/erubis/)) -* A better command-line frontend -* A new filesystem data source named `filesystem_combined` -* Routers, which decide where compiled pages should be written to -* Page/layout mtimes can now be retrieved through `page.mtime`/`layout.mtime` +- New `rdiscount` filter ([RDiscount site](https://github.com/davidfstr/rdiscount)) +- New `maruku` filter ([Maruku site](https://github.com/bhollis/maruku/)) +- New `erubis` filter ([Erubis site](http://www.kuwata-lab.com/erubis/)) +- A better command-line frontend +- A new filesystem data source named `filesystem_combined` +- Routers, which decide where compiled pages should be written to +- Page/layout mtimes can now be retrieved through `page.mtime`/`layout.mtime` Changed: -* Already compiled pages will no longer be re-compiled unless outdated -* Layout processors and filters have been merged -* Layouts no longer rely on file extensions to determine the layout processor -* Greatly improved source code documentation -* Greatly improved unit test suite +- Already compiled pages will no longer be re-compiled unless outdated +- Layout processors and filters have been merged +- Layouts no longer rely on file extensions to determine the layout processor +- Greatly improved source code documentation +- Greatly improved unit test suite Removed: -* Several filters have been removed and replaced by newer filters: - * `eruby`: use `erb` or `erubis` instead - * `markdown`: use `bluecloth`, `rdiscount` or `maruku` instead - * `textile`: use `redcloth` instead +- Several filters have been removed and replaced by newer filters: + - `eruby`: use `erb` or `erubis` instead + - `markdown`: use `bluecloth`, `rdiscount` or `maruku` instead + - `textile`: use `redcloth` instead ## 2.0.4 (2008-05-04) -* Fixed `default.rb`’s `#html_escape` -* Updated Haml filter and layout processor so that @page, @pages and @config are now available as instance variables instead of local variables +- Fixed `default.rb`’s `#html_escape` +- Updated Haml filter and layout processor so that @page, @pages and @config are now available as instance variables instead of local variables ## 2.0.3 (2008-03-25) -* The autocompiler now honors custom paths -* The autocompiler now attempts to serve pages with the most appropriate MIME type, instead of always serving everything as `text/html` +- The autocompiler now honors custom paths +- The autocompiler now attempts to serve pages with the most appropriate MIME type, instead of always serving everything as `text/html` ## 2.0.2 (2008-01-26) -* nanoc now requires Ruby 1.8.5 instead of 1.8.6 +- nanoc now requires Ruby 1.8.5 instead of 1.8.6 ## 2.0.1 (2008-01-21) -* Fixed a “too many open files” error that could appear during (auto)compiling +- Fixed a “too many open files” error that could appear during (auto)compiling ## 2.0 (2007-12-25) New: -* Support for custom layout processors -* Support for custom data sources -* Database data source -* An auto-compiler -* Pages have `parent` and `children` +- Support for custom layout processors +- Support for custom data sources +- Database data source +- An auto-compiler +- Pages have `parent` and `children` Changed: -* The source has been restructured and cleaned up a great deal -* Filters are defined in a different way now -* The `eruby` filter now uses ERB instead of Erubis +- The source has been restructured and cleaned up a great deal +- Filters are defined in a different way now +- The `eruby` filter now uses ERB instead of Erubis Removed: -* The `filters` property; use `filters_pre` instead -* Support for Liquid +- The `filters` property; use `filters_pre` instead +- Support for Liquid ## 1.6.2 (2007-10-23) -* Fixed an issue which prevented the content capturing plugin from working +- Fixed an issue which prevented the content capturing plugin from working ## 1.6.1 (2007-10-14) -* Removed a stray debug message +- Removed a stray debug message ## 1.6 (2007-10-13) -* Added support for post-layout filters -* Added support for getting a File object for the page, so you can now e.g. easily get the modification time for a given page (`@page.file.mtime`) -* Cleaned up the source code a lot -* Removed deprecated asset-copying functionality +- Added support for post-layout filters +- Added support for getting a File object for the page, so you can now e.g. easily get the modification time for a given page (`@page.file.mtime`) +- Cleaned up the source code a lot +- Removed deprecated asset-copying functionality ## 1.5 (2007-09-10) -* Added support for custom filters -* Improved Liquid support -- Liquid is now a first-class nanoc citizen -* Deprecated assets -- use something like rsync instead -* Added `eruby_engine` option, which can be `erb` or `erubis` +- Added support for custom filters +- Improved Liquid support -- Liquid is now a first-class nanoc citizen +- Deprecated assets -- use something like rsync instead +- Added `eruby_engine` option, which can be `erb` or `erubis` ## 1.4 (2007-07-06) -* nanoc now supports ERB (as well as Erubis); Erubis no longer is a dependency -* `meta.yaml` can now have `haml_options` property, which is passed to Haml -* Pages can now have a `filename` property, which defaults to `index` [Dennis Sutch] -* Pages now know in what order they should be compiled, eliminating the need for custom page ordering [Dennis Sutch] +- nanoc now supports ERB (as well as Erubis); Erubis no longer is a dependency +- `meta.yaml` can now have `haml_options` property, which is passed to Haml +- Pages can now have a `filename` property, which defaults to `index` [Dennis Sutch] +- Pages now know in what order they should be compiled, eliminating the need for custom page ordering [Dennis Sutch] ## 1.3.1 (2007-06-30) -* The contents of the `assets` directory are now copied into the output directory specified in `config.yaml` +- The contents of the `assets` directory are now copied into the output directory specified in `config.yaml` ## 1.3 (2007-06-24) -* The `@pages` array now also contains uncompiled pages -* Pages with `skip_output` set to true will not be outputted -* Added new filters - * Textile/RedCloth - * Sass -* nanoc now warns before overwriting in `create_site`, `create_page` and `create_template` (but not in compile) +- The `@pages` array now also contains uncompiled pages +- Pages with `skip_output` set to true will not be outputted +- Added new filters + - Textile/RedCloth + - Sass +- nanoc now warns before overwriting in `create_site`, `create_page` and `create_template` (but not in compile) ## 1.2 (2007-06-05) -* Sites now have an `assets` directory, whose contents are copied to the `output` directory when compiling [Stanley Rost] -* Added support for non-eRuby layouts (Markaby, Haml, Liquid, …) -* Added more filters (Markaby, Haml, Liquid, RDoc [Dmitry Bilunov]) -* Improved error reporting -* Accessing page attributes using instance variables, and not through `@page`, is no longer possible -* Page attributes can now be accessed using dot notation, i.e. `@page.title` as well as `@page[:title]` +- Sites now have an `assets` directory, whose contents are copied to the `output` directory when compiling [Stanley Rost] +- Added support for non-eRuby layouts (Markaby, Haml, Liquid, …) +- Added more filters (Markaby, Haml, Liquid, RDoc [Dmitry Bilunov]) +- Improved error reporting +- Accessing page attributes using instance variables, and not through `@page`, is no longer possible +- Page attributes can now be accessed using dot notation, i.e. `@page.title` as well as `@page[:title]` ## 1.1.3 (2007-05-18) -* Fixed bug which would cause layoutless pages to be outputted incorrectly +- Fixed bug which would cause layoutless pages to be outputted incorrectly ## 1.1.2 (2007-05-17) -* Backup files (files ending with a “~”) are now ignored -* Fixed bug which would cause subpages not to be generated correctly +- Backup files (files ending with a “~”) are now ignored +- Fixed bug which would cause subpages not to be generated correctly ## 1.1 (2007-05-08) -* Added support for nested layouts -* Added coloured logging -* `@page` now hold the page that is currently being processed -* Index files are now called “content” files and are now named after the directory they are in [Colin Barrett] -* It is now possible to access `@page` in the page’s content file +- Added support for nested layouts +- Added coloured logging +- `@page` now hold the page that is currently being processed +- Index files are now called “content” files and are now named after the directory they are in [Colin Barrett] +- It is now possible to access `@page` in the page’s content file ## 1.0.1 (2007-05-05) -* Fixed a bug which would cause a “no such template” error to be displayed when the template existed but compiling it would raise an exception -* Fixed bug which would cause pages not to be sorted by order before compiling +- Fixed a bug which would cause a “no such template” error to be displayed when the template existed but compiling it would raise an exception +- Fixed bug which would cause pages not to be sorted by order before compiling ## 1.0 (2007-05-03) -* Initial release +- Initial release