# HG changeset patch # User Ludovic Chabant # Date 1511330832 28800 # Node ID 2e5c5d33d62c7176b9485500c696270519aa106b # Parent 4f2e0136123d04cd80111b7d1cdc64d2ddfe1dc5# Parent 7a1903ede496ba082510087ecb41ccc3dcc6fdc1 Merge changes. diff -r 4f2e0136123d -r 2e5c5d33d62c .hgtags --- a/.hgtags Tue Nov 21 21:30:37 2017 -0800 +++ b/.hgtags Tue Nov 21 22:07:12 2017 -0800 @@ -26,3 +26,5 @@ 6997ab31fc2d6ab3bb02ff1dc3404952ad483aeb 2.0.0rc2 a85d08ffe1f6d63482958ec75ae3510161c83f98 2.0.0 a3f74fa0c826f91fa545eeaa18e955970e7c8712 2.0.0 +5d867e6ed83f9bdd9b35a9ddce079a5749c1f416 2.1.0 +6f32a6dc2306d645d08c68e4fbdfcf45e7e90a4a 2.1.2 diff -r 4f2e0136123d -r 2e5c5d33d62c CHANGELOG.rst --- a/CHANGELOG.rst Tue Nov 21 21:30:37 2017 -0800 +++ b/CHANGELOG.rst Tue Nov 21 22:07:12 2017 -0800 @@ -10,23 +10,79 @@ ================================== -1. PieCrust 2.0.0 (2017-02-19) +1. PieCrust 2.1.2 (2017-11-21) ================================== 1.0 Commands ---------------------- +* admin: Regenerate FoodTruck assets. +* bake: Fix crash when trying to report a deployment error. +* plugins: Support multiple customizable plugins directories. + +1.2 Bugfixes +---------------------- + +* bug: Fix crash on Python 3.6. + +1.3 Project +---------------------- + +* cm: Fix crashes when page assets deployment fails. +* cm: Generate CHANGELOG from the current branch instead of always master. Fix encoding problems. +* cm: Make the release script commit changed FoodTruck assets if needed. +* cm: Regenerate the CHANGELOG. +* cm: Regenerate the CHANGELOG. + +================================== +2. PieCrust 2.1.0 (2017-10-29) +================================== + + +2.0 Commands +---------------------- + +* plugins: Add support for "ad-hoc" local plugins. +* serve: Fix crash when displaying empty dictionaries in the debug info. + +2.1 Core +---------------------- + +* data: Add access to route metadata in the templating data. +* data: Don't add route functions or data providers that happen to be null. +* templating: Template engines can now load extensions directly from plugins. + +2.3 Project +---------------------- + +* cm: Regenerate the CHANGELOG. + +2.4 Miscellaneous +---------------------- + +* optimize: Don't load Jinja unless we need to. +* optimize: Only load some 3rd party packages when needed. +* server: Fix crash when serving temp files like CSS maps. + +================================== +3. PieCrust 2.0.0 (2017-02-19) +================================== + + +3.0 Commands +---------------------- + * admin: Add ability to upload page assets. * admin: Add quick links in sidebar to create new posts/pages. * admin: Bigger text for the site summary. * admin: Don't have the static folder for the app collide with the blueprint's. * admin: Fix crash when running ``admin run`` outside of a website. -* bake: Don’t swallow generic errors during baking +* bake: Don�t swallow generic errors during baking * bake: Show bake stats in descending order of time. * showrecord: Add ``show-manifest`` argument. -1.1 Core +3.1 Core ---------------------- * config: Cleanup config loading code. Add support for a ``local.yml`` config. @@ -39,17 +95,19 @@ * rendering: Separate performance timers for renering segments and layouts. * templating: Put the routing functions in the data, not the template engine. -1.2 Bugfixes +3.2 Bugfixes ---------------------- * bug: Fix crashes for commands run outside of a website. -1.3 Project +3.3 Project ---------------------- * cm: Add setup.cfg file for flake8. * cm: Allow generating documentation from inside the virtualenv. +* cm: Fix MANIFEST file for packaging. * cm: Fix ``gulpfile`` for FoodTruck. +* cm: Regenerate the CHANGELOG. * docs: Add missing quote in example * docs: Add space before link * docs: Correct typos @@ -58,14 +116,14 @@ * docs: Repair some broken links * tests: Fix for time comparisons. -1.4 Miscellaneous +3.4 Miscellaneous ---------------------- * Allow PageSource to provide a custom assetor * Allow an individual page to override pretty_urls in it config * Allow page source to post-process page config at the end of page loading * Assetor is now responsible for copying assets, to allow customization -* Don’t swallow generic errors during baking +* Don�t swallow generic errors during baking * Fixed call to Assetor.copyAssets * Land assets in the correct directory for pages with no pretty_urls override * Refactored Assetor into Assetor and AssetorBase @@ -75,11 +133,11 @@ * assets: Fix crash when a page doesn't have assets. ================================== -2. PieCrust 2.0.0rc2 (2016-09-07) +4. PieCrust 2.0.0rc2 (2016-09-07) ================================== -2.0 Commands +4.0 Commands ---------------------- * admin: Correctly flush loggers before exiting. @@ -106,7 +164,7 @@ * showrecord: Fix some crashes and incorrect information. * themes: No parameters shoudl make the help text show up. -2.1 Core +4.1 Core ---------------------- * config: Fix how we parse the root URL to allow for absolute and user URLs. @@ -120,12 +178,12 @@ * routing: Simplify how route functions are declared and handled. * routing: Simplify how routes are defined. -2.2 Bugfixes +4.2 Bugfixes ---------------------- * bug: Fix possible crash with overlapping pages. -2.3 Project +4.3 Project ---------------------- * cm: Add a "Bugfixes" section to the CHANGELOG and order things alphabetically. @@ -143,11 +201,11 @@ * tests: Try and finally fix the time-based tests. ================================== -3. PieCrust 2.0.0rc1 (2016-06-09) +5. PieCrust 2.0.0rc1 (2016-06-09) ================================== -3.0 Commands +5.0 Commands ---------------------- * admin: Add support for Git source-control. @@ -184,7 +242,7 @@ * themes: Expand ``~`` paths, fix error message. * themes: Simplify ``themes`` command. -3.1 Core +5.1 Core ---------------------- * data: Make the blog provider give usable data to the year archive routes. @@ -220,12 +278,12 @@ * templating: Make the 'categories' taxonomy use a 'pccaturl' function again. * templating: Use HTTPS URLs for a couple things. -3.2 Bugfixes +5.2 Bugfixes ---------------------- * bug: Also look for format changes when determining if a page needs parsing. -3.3 Project +5.3 Project ---------------------- * cm: Add AppVeyor support. @@ -256,29 +314,29 @@ * tests: Improve failure reporting. * tests: the ``PageBaker`` now needs to be shutdown. -3.4 Miscellaneous +5.4 Miscellaneous ---------------------- * Fix 404 broken link * jinja: Add ``md5`` filter. ================================== -4. PieCrust 2.0.0b5 (2016-02-16) +6. PieCrust 2.0.0b5 (2016-02-16) ================================== -4.0 Commands +6.0 Commands ---------------------- * admin: Don't require ``bcrypt`` for running FoodTruck with ``chef`` . * admin: Remove settings view. -4.1 Core +6.1 Core ---------------------- * internal: Remove SyntaxWarning from MacOS wrappers. -4.3 Project +6.3 Project ---------------------- * cm: Exclude the correct directories from vim-gutentags. @@ -296,11 +354,11 @@ * cm: Update the node modules before building the documentation. ================================== -5. PieCrust 2.0.0b4 (2016-02-09) +7. PieCrust 2.0.0b4 (2016-02-09) ================================== -5.0 Commands +7.0 Commands ---------------------- * admin: Ability to configure SCM stuff per site. @@ -358,7 +416,7 @@ * sources: Add code to support "interactive" metadata acquisition. * sources: Add method to get a page factory from a path. -5.1 Core +7.1 Core ---------------------- * cli: Add ``--no-color`` option. @@ -372,13 +430,13 @@ * internal: Rename ``raw_content`` to ``segments`` since it's what it is. * internal: Some fixes to the new app configuration. -5.2 Bugfixes +7.2 Bugfixes ---------------------- * bug: Correctly handle root URLs with special characters. * bug: Fix a crash when some errors occur during page rendering. -5.3 Project +7.3 Project ---------------------- * cm: Add requirements for FoodTruck. @@ -404,24 +462,24 @@ * tests: Print more information when a bake test fails to find an output file. ================================== -6. PieCrust 2.0.0b3 (2015-08-01) +8. PieCrust 2.0.0b3 (2015-08-01) ================================== -6.0 Commands +8.0 Commands ---------------------- * import: Add some debug logging. * import: Correctly convert unicode characters in site configuration. * import: Fix the PieCrust 1 importer. -6.1 Core +8.1 Core ---------------------- * internal: Fix a severe bug with the file-system wrappers on OSX. * templating: Make more date functions accept 'now' as an input. -6.3 Project +8.3 Project ---------------------- * cm: Add a Gutentags config file for ``ctags`` generation. @@ -431,26 +489,26 @@ * tests: Check accented characters work in configurations. ================================== -7. PieCrust 2.0.0b2 (2015-07-29) +9. PieCrust 2.0.0b2 (2015-07-29) ================================== -7.0 Commands +9.0 Commands ---------------------- * prepare: More help about scaffolding. -7.2 Bugfixes +9.2 Bugfixes ---------------------- * bug: Fix crash running ``chef help scaffolding`` outside of a website. ================================== -8. PieCrust 2.0.0b1 (2015-07-29) +10. PieCrust 2.0.0b1 (2015-07-29) ================================== -8.0 Commands +10.0 Commands ---------------------- * bake: Add a processor to generate a Pygments style CSS file. @@ -471,7 +529,7 @@ * themes: Improve CLI, add ``deactivate`` command. * themes: Proper template path fixup for the theme configuration. -8.1 Core +10.1 Core ---------------------- * config: Make sure ``site/auto_formats`` has at least ``html`` . @@ -485,7 +543,7 @@ * templating: Make Jinja support arbitrary extension, show warning for old stuff. * templating: ``highlight_css`` can be passed the name of a Pygments style. -8.2 Bugfixes +10.2 Bugfixes ---------------------- * bug: Fix a crash with the ``ordered`` page source when sorting pages. @@ -493,7 +551,7 @@ * bug: Forgot to add a new file like a big n00b. * bug: Of course I broke something. Some exceptions need to pass through Jinja. -8.3 Project +10.3 Project ---------------------- * cm: Add ``unidecode`` to requirements. @@ -518,7 +576,7 @@ * tests: Help the Yaml loader figure out the encoding on Windows. * tests: Normalize test paths using the correct method. -8.4 Miscellaneous +10.4 Miscellaneous ---------------------- * bake/serve: Improve support for unicode, add slugification options. @@ -529,27 +587,27 @@ * sass: Overwrite the old map file with the new one always. ================================== -9. PieCrust 2.0.0a13 (2015-07-14) +11. PieCrust 2.0.0a13 (2015-07-14) ================================== -9.0 Commands +11.0 Commands ---------------------- * bake: Fix a bug with copying assets when ``pretty_urls`` are disabled. -9.2 Bugfixes +11.2 Bugfixes ---------------------- * bug: Correctly setup the environment/app for bake workers. * bug: Fix copying of page assets during the bake. ================================== -10. PieCrust 2.0.0a12 (2015-07-14) +12. PieCrust 2.0.0a12 (2015-07-14) ================================== -10.0 Commands +12.0 Commands ---------------------- * bake: Abort "render first" jobs if we start using other pages. @@ -570,7 +628,7 @@ * serve: Fix crash on start. * serve: Use Werkzeug's HTTP exceptions correctly. -10.1 Core +12.1 Core ---------------------- * debug: Add support for more attributes for the debug info. @@ -608,7 +666,7 @@ * templating: Let Jinja2 cache the parsed template for page contents. * templating: Workaround for a bug with Pystache. -10.2 Bugfixes +12.2 Bugfixes ---------------------- * bug: Fix CLI crash caused by configuration variants. @@ -616,7 +674,7 @@ * bug: Fix infinite loop in Jinja2 rendering. * bug: Fix routing bug introduced by 21e26ed867b6. -10.3 Project +12.3 Project ---------------------- * cm: Add script to generate benchmark websites. @@ -628,25 +686,25 @@ * tests: Fix Jinja2 test. * tests: Fix crash in processing tests. -10.4 Miscellaneous +12.4 Miscellaneous ---------------------- * Fixed 'bootom' to 'bottom' * markdown: Cache the formatter once. ================================== -11. PieCrust 2.0.0a11 (2015-05-18) +13. PieCrust 2.0.0a11 (2015-05-18) ================================== -11.0 Commands +13.0 Commands ---------------------- * bake: Return all errors from a bake record entry when asked for it. * serve: Fix bug where ``?!debug`` doesn't get appending correctly. * serve: Remove development assert. -11.1 Core +13.1 Core ---------------------- * data: Fix regression bug with accessing page metadata that doesn't exist. @@ -654,7 +712,7 @@ * linker: Fix linker returning the wrong value for ``is_dir`` in some situations. * pagination: Fix regression bug with previous/next posts. -11.3 Project +13.3 Project ---------------------- * tests: Add support for testing the Chef server. @@ -663,27 +721,27 @@ * tests: More accurate marker position for diff'ing strings. * tests: Move all bakes/cli/servings tests files to have a YAML extension. -11.4 Miscellaneous +13.4 Miscellaneous ---------------------- * jinja: Look for ``html`` extension first instead of last. ================================== -12. PieCrust 2.0.0a10 (2015-05-15) +14. PieCrust 2.0.0a10 (2015-05-15) ================================== -12.3 Project +14.3 Project ---------------------- * setup: Add ``requirements.txt`` to ``MANIFEST.in`` so it can be used by the setup. ================================== -13. PieCrust 2.0.0a9 (2015-05-11) +15. PieCrust 2.0.0a9 (2015-05-11) ================================== -13.0 Commands +15.0 Commands ---------------------- * serve: Add a WSGI utility module for easily getting a default app. @@ -692,14 +750,14 @@ * serve: Compatibility with ``mod_wsgi`` . * serve: Split the server code in a couple modules inside a ``serving`` package. -13.1 Core +15.1 Core ---------------------- * data: Fix problems with using non-existing metadata on a linked page. * internal: Make it possible to pass ``argv`` to the main Chef function. * routing: Fix bugs with matching URLs with correct route but missing metadata. -13.3 Project +15.3 Project ---------------------- * docs: Add documentation for deploying as a dynamic CMS. @@ -710,11 +768,11 @@ * tests: Fix serving unit-tests. ================================== -14. PieCrust 2.0.0a8 (2015-05-03) +16. PieCrust 2.0.0a8 (2015-05-03) ================================== -14.0 Commands +16.0 Commands ---------------------- * bake: Fix crash when handling bake errors. @@ -724,7 +782,7 @@ * sources: Fix how the ``autoconfig`` source iterates over its structure. * theme: Fix link to PieCrust documentation. -14.1 Core +16.1 Core ---------------------- * caching: Use separate caches for config variants and other contexts. @@ -732,23 +790,23 @@ * internal: Return the first route for a source if no metadata match is needed. * linker: Don't put linker stuff in the config. -14.3 Project +16.3 Project ---------------------- * tests: Changes to output report and hack for comparing outputs. -14.4 Miscellaneous +16.4 Miscellaneous ---------------------- * Update ``requirements.txt`` . * Update development ``requirements.txt`` , add code coverage tools. ================================== -15. PieCrust 2.0.0a7 (2015-04-20) +17. PieCrust 2.0.0a7 (2015-04-20) ================================== -15.0 Commands +17.0 Commands ---------------------- * bake: Improve render context and bake record, fix incremental bake bugs. @@ -762,7 +820,7 @@ * serve: Fix crash on URI parsing. * showrecord: Add ability to filter on the output path. -15.1 Core +17.1 Core ---------------------- * config: Add ``default_page_layout`` and ``default_post_layout`` settings. @@ -774,7 +832,7 @@ * internal: Use hashes for cache paths. * pagination: Make pagination use routes to generate proper URLs. -15.3 Project +17.3 Project ---------------------- * build: Put dev-only lib requirements into a ``dev-requirements.txt`` file. @@ -789,17 +847,17 @@ * tests: Remove debug output. * tests: Support for YAML-based baking tests. Convert old code-based ones. -15.4 Miscellaneous +17.4 Miscellaneous ---------------------- * cleancss: Fix stupid bug. ================================== -16. PieCrust 2.0.0a6 (2015-03-30) +18. PieCrust 2.0.0a6 (2015-03-30) ================================== -16.0 Commands +18.0 Commands ---------------------- * bake: Better error handling for site baking. @@ -848,7 +906,7 @@ * theme: Updated "quickstart" text shown for new websites. * themes: Add the ``chef themes`` command -16.1 Core +18.1 Core ---------------------- * config: Assign correct data endpoint for blogs to be v1-compatible. @@ -885,7 +943,7 @@ * render: When a template engine can't be found, show the correct name in the error. * routing: Better generate URLs according to the site configuration. -16.3 Project +18.3 Project ---------------------- * build: Add ``pystache`` to ``requirements.txt`` . @@ -927,7 +985,7 @@ * tests: Patch ``os.path.exists`` and improve patching for ``open`` . * tests: Remove debug output. -16.4 Miscellaneous +18.4 Miscellaneous ---------------------- * Add bower configuration file. @@ -962,11 +1020,11 @@ * sitemap: Fixed typo bug. ================================== -17. PieCrust 2.0.0a5 (2015-01-03) +19. PieCrust 2.0.0a5 (2015-01-03) ================================== -17.0 Commands +19.0 Commands ---------------------- * bake: Don't crash stupidly when there was no previous version. @@ -983,12 +1041,12 @@ * sources: Add an ``IListableSource`` interface for sources that can be listed. * sources: Make the ``SimplePageSource`` more extensible, fix bugs in ``prose`` source. -17.1 Core +19.1 Core ---------------------- * linker: Actually implement the ``Linker`` class, and use it in the page data. -17.3 Project +19.3 Project ---------------------- * build: Add Travis-CI config file. @@ -996,7 +1054,7 @@ * tests: Add unit tests for routing classes. * tests: Fix serving test. -17.4 Miscellaneous +19.4 Miscellaneous ---------------------- * Ability to output debug logging to ``stdout`` when running unit-tests. diff -r 4f2e0136123d -r 2e5c5d33d62c docs/pages/support/changelog.md --- a/docs/pages/support/changelog.md Tue Nov 21 21:30:37 2017 -0800 +++ b/docs/pages/support/changelog.md Tue Nov 21 22:07:12 2017 -0800 @@ -6,21 +6,66 @@ # Changelog -## 1. PieCrust 2.0.0 (2017-02-19) +## 1. PieCrust 2.1.2 (2017-11-21) ### 1.0 Commands +* admin: Regenerate FoodTruck assets. +* bake: Fix crash when trying to report a deployment error. +* plugins: Support multiple customizable plugins directories. + +### 1.2 Bugfixes + +* bug: Fix crash on Python 3.6. + +### 1.3 Project + +* cm: Fix crashes when page assets deployment fails. +* cm: Generate CHANGELOG from the current branch instead of always master. Fix encoding problems. +* cm: Make the release script commit changed FoodTruck assets if needed. +* cm: Regenerate the CHANGELOG. +* cm: Regenerate the CHANGELOG. + +## 2. PieCrust 2.1.0 (2017-10-29) + + +### 2.0 Commands + +* plugins: Add support for "ad-hoc" local plugins. +* serve: Fix crash when displaying empty dictionaries in the debug info. + +### 2.1 Core + +* data: Add access to route metadata in the templating data. +* data: Don't add route functions or data providers that happen to be null. +* templating: Template engines can now load extensions directly from plugins. + +### 2.3 Project + +* cm: Regenerate the CHANGELOG. + +### 2.4 Miscellaneous + +* optimize: Don't load Jinja unless we need to. +* optimize: Only load some 3rd party packages when needed. +* server: Fix crash when serving temp files like CSS maps. + +## 3. PieCrust 2.0.0 (2017-02-19) + + +### 3.0 Commands + * admin: Add ability to upload page assets. * admin: Add quick links in sidebar to create new posts/pages. * admin: Bigger text for the site summary. * admin: Don't have the static folder for the app collide with the blueprint's. * admin: Fix crash when running `admin run` outside of a website. -* bake: Don’t swallow generic errors during baking +* bake: Don�t swallow generic errors during baking * bake: Show bake stats in descending order of time. * showrecord: Add `show-manifest` argument. -### 1.1 Core +### 3.1 Core * config: Cleanup config loading code. Add support for a `local.yml` config. * data: Allow page generators to have an associated data provider @@ -32,15 +77,17 @@ * rendering: Separate performance timers for renering segments and layouts. * templating: Put the routing functions in the data, not the template engine. -### 1.2 Bugfixes +### 3.2 Bugfixes * bug: Fix crashes for commands run outside of a website. -### 1.3 Project +### 3.3 Project * cm: Add setup.cfg file for flake8. * cm: Allow generating documentation from inside the virtualenv. +* cm: Fix MANIFEST file for packaging. * cm: Fix `gulpfile` for FoodTruck. +* cm: Regenerate the CHANGELOG. * docs: Add missing quote in example * docs: Add space before link * docs: Correct typos @@ -49,13 +96,13 @@ * docs: Repair some broken links * tests: Fix for time comparisons. -### 1.4 Miscellaneous +### 3.4 Miscellaneous * Allow PageSource to provide a custom assetor * Allow an individual page to override pretty_urls in it config * Allow page source to post-process page config at the end of page loading * Assetor is now responsible for copying assets, to allow customization -* Don’t swallow generic errors during baking +* Don�t swallow generic errors during baking * Fixed call to Assetor.copyAssets * Land assets in the correct directory for pages with no pretty_urls override * Refactored Assetor into Assetor and AssetorBase @@ -64,10 +111,10 @@ * Use assetor provided by page source when paginating * assets: Fix crash when a page doesn't have assets. -## 2. PieCrust 2.0.0rc2 (2016-09-07) +## 4. PieCrust 2.0.0rc2 (2016-09-07) -### 2.0 Commands +### 4.0 Commands * admin: Correctly flush loggers before exiting. * admin: Don't crash when the site isn't in a source control repository. @@ -93,7 +140,7 @@ * showrecord: Fix some crashes and incorrect information. * themes: No parameters shoudl make the help text show up. -### 2.1 Core +### 4.1 Core * config: Fix how we parse the root URL to allow for absolute and user URLs. * data: Fix debug information for the blog data provider. @@ -106,11 +153,11 @@ * routing: Simplify how route functions are declared and handled. * routing: Simplify how routes are defined. -### 2.2 Bugfixes +### 4.2 Bugfixes * bug: Fix possible crash with overlapping pages. -### 2.3 Project +### 4.3 Project * cm: Add a "Bugfixes" section to the CHANGELOG and order things alphabetically. * cm: Declare PieCrust as a Python 3 only package. @@ -126,10 +173,10 @@ * tests: Make it possible to run FoodTruck tests. * tests: Try and finally fix the time-based tests. -## 3. PieCrust 2.0.0rc1 (2016-06-09) +## 5. PieCrust 2.0.0rc1 (2016-06-09) -### 3.0 Commands +### 5.0 Commands * admin: Add support for Git source-control. * admin: Add support for `.well-known` folder. @@ -165,7 +212,7 @@ * themes: Expand `~` paths, fix error message. * themes: Simplify `themes` command. -### 3.1 Core +### 5.1 Core * data: Make the blog provider give usable data to the year archive routes. * data: Support both objects and dictionaries in `MergedMapping`. @@ -200,11 +247,11 @@ * templating: Make the 'categories' taxonomy use a 'pccaturl' function again. * templating: Use HTTPS URLs for a couple things. -### 3.2 Bugfixes +### 5.2 Bugfixes * bug: Also look for format changes when determining if a page needs parsing. -### 3.3 Project +### 5.3 Project * cm: Add AppVeyor support. * cm: Add generation of Mardown changelog suitable for the online documentation. @@ -234,24 +281,24 @@ * tests: Improve failure reporting. * tests: the `PageBaker` now needs to be shutdown. -### 3.4 Miscellaneous +### 5.4 Miscellaneous * Fix 404 broken link * jinja: Add `md5` filter. -## 4. PieCrust 2.0.0b5 (2016-02-16) +## 6. PieCrust 2.0.0b5 (2016-02-16) -### 4.0 Commands +### 6.0 Commands * admin: Don't require `bcrypt` for running FoodTruck with `chef`. * admin: Remove settings view. -### 4.1 Core +### 6.1 Core * internal: Remove SyntaxWarning from MacOS wrappers. -### 4.3 Project +### 6.3 Project * cm: Exclude the correct directories from vim-gutentags. * cm: Fix CHANGELOG newlines on Windows. @@ -267,10 +314,10 @@ * cm: Update npm modules and bower packages before making a release. * cm: Update the node modules before building the documentation. -## 5. PieCrust 2.0.0b4 (2016-02-09) +## 7. PieCrust 2.0.0b4 (2016-02-09) -### 5.0 Commands +### 7.0 Commands * admin: Ability to configure SCM stuff per site. * admin: Add "FoodTruck" admin panel from the side experiment project. @@ -327,7 +374,7 @@ * sources: Add code to support "interactive" metadata acquisition. * sources: Add method to get a page factory from a path. -### 5.1 Core +### 7.1 Core * cli: Add `--no-color` option. * cli: More proper argument parsing for the main/root arguments. @@ -340,12 +387,12 @@ * internal: Rename `raw_content` to `segments` since it's what it is. * internal: Some fixes to the new app configuration. -### 5.2 Bugfixes +### 7.2 Bugfixes * bug: Correctly handle root URLs with special characters. * bug: Fix a crash when some errors occur during page rendering. -### 5.3 Project +### 7.3 Project * cm: Add requirements for FoodTruck. * cm: Add script to generate documentation. @@ -369,21 +416,21 @@ * tests: Fix broken unit test. * tests: Print more information when a bake test fails to find an output file. -## 6. PieCrust 2.0.0b3 (2015-08-01) +## 8. PieCrust 2.0.0b3 (2015-08-01) -### 6.0 Commands +### 8.0 Commands * import: Add some debug logging. * import: Correctly convert unicode characters in site configuration. * import: Fix the PieCrust 1 importer. -### 6.1 Core +### 8.1 Core * internal: Fix a severe bug with the file-system wrappers on OSX. * templating: Make more date functions accept 'now' as an input. -### 6.3 Project +### 8.3 Project * cm: Add a Gutentags config file for `ctags` generation. * cm: Changelog generator script. @@ -391,21 +438,21 @@ * cm: Update changelog. * tests: Check accented characters work in configurations. -## 7. PieCrust 2.0.0b2 (2015-07-29) +## 9. PieCrust 2.0.0b2 (2015-07-29) -### 7.0 Commands +### 9.0 Commands * prepare: More help about scaffolding. -### 7.2 Bugfixes +### 9.2 Bugfixes * bug: Fix crash running `chef help scaffolding` outside of a website. -## 8. PieCrust 2.0.0b1 (2015-07-29) +## 10. PieCrust 2.0.0b1 (2015-07-29) -### 8.0 Commands +### 10.0 Commands * bake: Add a processor to generate a Pygments style CSS file. * bake: Fix logging configuration for multi-processing on Windows. @@ -425,7 +472,7 @@ * themes: Improve CLI, add `deactivate` command. * themes: Proper template path fixup for the theme configuration. -### 8.1 Core +### 10.1 Core * config: Make sure `site/auto_formats` has at least `html`. * formatting: Add support for Markdown extension configs. @@ -438,14 +485,14 @@ * templating: Make Jinja support arbitrary extension, show warning for old stuff. * templating: `highlight_css` can be passed the name of a Pygments style. -### 8.2 Bugfixes +### 10.2 Bugfixes * bug: Fix a crash with the `ordered` page source when sorting pages. * bug: Fix file-system wrappers for non-Mac systems. * bug: Forgot to add a new file like a big n00b. * bug: Of course I broke something. Some exceptions need to pass through Jinja. -### 8.3 Project +### 10.3 Project * cm: Add `unidecode` to requirements. * cm: Error in `.hgignore`. Weird. @@ -469,7 +516,7 @@ * tests: Help the Yaml loader figure out the encoding on Windows. * tests: Normalize test paths using the correct method. -### 8.4 Miscellaneous +### 10.4 Miscellaneous * bake/serve: Improve support for unicode, add slugification options. * cosmetic: Remove debug print here too. @@ -478,22 +525,22 @@ * less: Fix issues with the map file on Windows. * sass: Overwrite the old map file with the new one always. -## 9. PieCrust 2.0.0a13 (2015-07-14) +## 11. PieCrust 2.0.0a13 (2015-07-14) -### 9.0 Commands +### 11.0 Commands * bake: Fix a bug with copying assets when `pretty_urls` are disabled. -### 9.2 Bugfixes +### 11.2 Bugfixes * bug: Correctly setup the environment/app for bake workers. * bug: Fix copying of page assets during the bake. -## 10. PieCrust 2.0.0a12 (2015-07-14) +## 12. PieCrust 2.0.0a12 (2015-07-14) -### 10.0 Commands +### 12.0 Commands * bake: Abort "render first" jobs if we start using other pages. * bake: Add CLI argument to specify job batch size. @@ -513,7 +560,7 @@ * serve: Fix crash on start. * serve: Use Werkzeug's HTTP exceptions correctly. -### 10.1 Core +### 12.1 Core * debug: Add support for more attributes for the debug info. * debug: Better debug info output for iterators, providers, and linkers. @@ -550,14 +597,14 @@ * templating: Let Jinja2 cache the parsed template for page contents. * templating: Workaround for a bug with Pystache. -### 10.2 Bugfixes +### 12.2 Bugfixes * bug: Fix CLI crash caused by configuration variants. * bug: Fix a crash when errors occur while processing an asset. * bug: Fix infinite loop in Jinja2 rendering. * bug: Fix routing bug introduced by 21e26ed867b6. -### 10.3 Project +### 12.3 Project * cm: Add script to generate benchmark websites. * cm: Fix wrong directory for utilities. @@ -568,28 +615,28 @@ * tests: Fix Jinja2 test. * tests: Fix crash in processing tests. -### 10.4 Miscellaneous +### 12.4 Miscellaneous * Fixed 'bootom' to 'bottom' * markdown: Cache the formatter once. -## 11. PieCrust 2.0.0a11 (2015-05-18) +## 13. PieCrust 2.0.0a11 (2015-05-18) -### 11.0 Commands +### 13.0 Commands * bake: Return all errors from a bake record entry when asked for it. * serve: Fix bug where `?!debug` doesn't get appending correctly. * serve: Remove development assert. -### 11.1 Core +### 13.1 Core * data: Fix regression bug with accessing page metadata that doesn't exist. * linker: Fix error when trying to list non-existing children. * linker: Fix linker returning the wrong value for `is_dir` in some situations. * pagination: Fix regression bug with previous/next posts. -### 11.3 Project +### 13.3 Project * tests: Add support for testing the Chef server. * tests: Also mock `open` in Jinja to be able to use templates in bake tests. @@ -597,21 +644,21 @@ * tests: More accurate marker position for diff'ing strings. * tests: Move all bakes/cli/servings tests files to have a YAML extension. -### 11.4 Miscellaneous +### 13.4 Miscellaneous * jinja: Look for `html` extension first instead of last. -## 12. PieCrust 2.0.0a10 (2015-05-15) +## 14. PieCrust 2.0.0a10 (2015-05-15) -### 12.3 Project +### 14.3 Project * setup: Add `requirements.txt` to `MANIFEST.in` so it can be used by the setup. -## 13. PieCrust 2.0.0a9 (2015-05-11) +## 15. PieCrust 2.0.0a9 (2015-05-11) -### 13.0 Commands +### 15.0 Commands * serve: Add a WSGI utility module for easily getting a default app. * serve: Add a generic WSGI app factory. @@ -619,13 +666,13 @@ * serve: Compatibility with `mod_wsgi`. * serve: Split the server code in a couple modules inside a `serving` package. -### 13.1 Core +### 15.1 Core * data: Fix problems with using non-existing metadata on a linked page. * internal: Make it possible to pass `argv` to the main Chef function. * routing: Fix bugs with matching URLs with correct route but missing metadata. -### 13.3 Project +### 15.3 Project * docs: Add documentation for deploying as a dynamic CMS. * docs: Add lame bit of documentation on publishing your website. @@ -634,10 +681,10 @@ * tests: Add support for "Chef tests", which are direct CLI tests. * tests: Fix serving unit-tests. -## 14. PieCrust 2.0.0a8 (2015-05-03) +## 16. PieCrust 2.0.0a8 (2015-05-03) -### 14.0 Commands +### 16.0 Commands * bake: Fix crash when handling bake errors. * serve: Giant refactor to change how we handle data when serving pages. @@ -646,26 +693,26 @@ * sources: Fix how the `autoconfig` source iterates over its structure. * theme: Fix link to PieCrust documentation. -### 14.1 Core +### 16.1 Core * caching: Use separate caches for config variants and other contexts. * config: Add method to deep-copy a config and validate its contents. * internal: Return the first route for a source if no metadata match is needed. * linker: Don't put linker stuff in the config. -### 14.3 Project +### 16.3 Project * tests: Changes to output report and hack for comparing outputs. -### 14.4 Miscellaneous +### 16.4 Miscellaneous * Update `requirements.txt`. * Update development `requirements.txt`, add code coverage tools. -## 15. PieCrust 2.0.0a7 (2015-04-20) +## 17. PieCrust 2.0.0a7 (2015-04-20) -### 15.0 Commands +### 17.0 Commands * bake: Improve render context and bake record, fix incremental bake bugs. * bake: Several bug taxonomy-related fixes for incorrect incremental bakes. @@ -678,7 +725,7 @@ * serve: Fix crash on URI parsing. * showrecord: Add ability to filter on the output path. -### 15.1 Core +### 17.1 Core * config: Add `default_page_layout` and `default_post_layout` settings. * data: Also expose XML date formatting as `xmldate` in Jinja. @@ -689,7 +736,7 @@ * internal: Use hashes for cache paths. * pagination: Make pagination use routes to generate proper URLs. -### 15.3 Project +### 17.3 Project * build: Put dev-only lib requirements into a `dev-requirements.txt` file. * docs: Add "active page" style for the navigation menu. @@ -703,14 +750,14 @@ * tests: Remove debug output. * tests: Support for YAML-based baking tests. Convert old code-based ones. -### 15.4 Miscellaneous +### 17.4 Miscellaneous * cleancss: Fix stupid bug. -## 16. PieCrust 2.0.0a6 (2015-03-30) +## 18. PieCrust 2.0.0a6 (2015-03-30) -### 16.0 Commands +### 18.0 Commands * bake: Better error handling for site baking. * bake: Better error handling for the processing pipeline. @@ -758,7 +805,7 @@ * theme: Updated "quickstart" text shown for new websites. * themes: Add the `chef themes` command -### 16.1 Core +### 18.1 Core * config: Assign correct data endpoint for blogs to be v1-compatible. * config: Make YAML consider `omap` structures as normal maps. @@ -794,7 +841,7 @@ * render: When a template engine can't be found, show the correct name in the error. * routing: Better generate URLs according to the site configuration. -### 16.3 Project +### 18.3 Project * build: Add `pystache` to `requirements.txt`. * docs: A whole bunch of drafts for content model and reference pages. @@ -835,7 +882,7 @@ * tests: Patch `os.path.exists` and improve patching for `open`. * tests: Remove debug output. -### 16.4 Miscellaneous +### 18.4 Miscellaneous * Add bower configuration file. * Merge code changes. @@ -868,10 +915,10 @@ * sitemap: Fix broken API call. * sitemap: Fixed typo bug. -## 17. PieCrust 2.0.0a5 (2015-01-03) +## 19. PieCrust 2.0.0a5 (2015-01-03) -### 17.0 Commands +### 19.0 Commands * bake: Don't crash stupidly when there was no previous version. * chef: Work around a bug in MacOSX where the default locale doesn't work. @@ -887,18 +934,18 @@ * sources: Add an `IListableSource` interface for sources that can be listed. * sources: Make the `SimplePageSource` more extensible, fix bugs in `prose` source. -### 17.1 Core +### 19.1 Core * linker: Actually implement the `Linker` class, and use it in the page data. -### 17.3 Project +### 19.3 Project * build: Add Travis-CI config file. * setup: Make version generation compatible with PEP440. * tests: Add unit tests for routing classes. * tests: Fix serving test. -### 17.4 Miscellaneous +### 19.4 Miscellaneous * Ability to output debug logging to `stdout` when running unit-tests. * Add Textile formatter. diff -r 4f2e0136123d -r 2e5c5d33d62c garcon/changelog.py --- a/garcon/changelog.py Tue Nov 21 21:30:37 2017 -0800 +++ b/garcon/changelog.py Tue Nov 21 22:07:12 2017 -0800 @@ -2,6 +2,7 @@ import os.path import re import time +import codecs import argparse import subprocess @@ -50,9 +51,9 @@ "Mercurial clone of the PieCrust repository.") hglog = subprocess.check_output([ 'hg', 'log', - '--rev', 'reverse(::master)', + '--rev', 'reverse(::.)', '--template', hg_log_template]) - hglog = hglog.decode('utf8') + hglog = codecs.decode(hglog, encoding='utf-8', errors='replace') _, out_ext = os.path.splitext(out_file) templates = _get_templates(out_ext) diff -r 4f2e0136123d -r 2e5c5d33d62c garcon/pypi.py --- a/garcon/pypi.py Tue Nov 21 21:30:37 2017 -0800 +++ b/garcon/pypi.py Tue Nov 21 22:07:12 2017 -0800 @@ -1,3 +1,4 @@ +import re from invoke import task, run @@ -14,12 +15,29 @@ print("Generating FoodTruck assets") run("gulp") + # See if any asset was modified and needs to be submitted. + r = run('hg status', hide=True) + if re.match(r'^[R\!] ', r.stdout): + raise Exception("FoodTruck assets are missing or were removed!") + + commit_assets = False + if re.match(r'^[MA] ', r.stdout): + commit_assets = True + # CHANGELOG.rst and documentation changelog page. run("invoke changelog --last %s" % version) run("invoke changelog --last %s -o docs/pages/support/changelog.md" % version) if not local_only: + if commit_assets: + res = run('hg status piecrust/admin/static') + if not res: + return + if res.stdout.strip() != '': + run('hg commit piecrust/admin/static ' + '-m "admin: Regenerate FoodTruck assets."') + # Submit the CHANGELOG. run('hg commit CHANGELOG.rst docs/pages/support/changelog.md ' '-m "cm: Regenerate the CHANGELOG."') @@ -31,6 +49,8 @@ run("python setup.py version") run("python setup.py sdist upload") else: + if commit_assets: + print("Would submit FoodTruck assets...") print("Would submit changelog files...") print("Would tag repo with %s..." % version) print("Would upload to PyPi...") diff -r 4f2e0136123d -r 2e5c5d33d62c piecrust/admin/static/css/foodtruck.min.css diff -r 4f2e0136123d -r 2e5c5d33d62c piecrust/admin/static/fonts/glyphicons-halflings-regular.svg --- a/piecrust/admin/static/fonts/glyphicons-halflings-regular.svg Tue Nov 21 21:30:37 2017 -0800 +++ b/piecrust/admin/static/fonts/glyphicons-halflings-regular.svg Tue Nov 21 22:07:12 2017 -0800 @@ -1,288 +1,288 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff -r 4f2e0136123d -r 2e5c5d33d62c piecrust/admin/static/fonts/ionicons.svg --- a/piecrust/admin/static/fonts/ionicons.svg Tue Nov 21 21:30:37 2017 -0800 +++ b/piecrust/admin/static/fonts/ionicons.svg Tue Nov 21 22:07:12 2017 -0800 @@ -1,2230 +1,2230 @@ - - - - - -Created by FontForge 20120731 at Thu Dec 4 09:51:48 2014 - By Adam Bradley -Created by Adam Bradley with FontForge 2.0 (http://fontforge.sf.net) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + +Created by FontForge 20120731 at Thu Dec 4 09:51:48 2014 + By Adam Bradley +Created by Adam Bradley with FontForge 2.0 (http://fontforge.sf.net) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 4f2e0136123d -r 2e5c5d33d62c piecrust/admin/static/js/foodtruck.min.js diff -r 4f2e0136123d -r 2e5c5d33d62c piecrust/app.py --- a/piecrust/app.py Tue Nov 21 21:30:37 2017 -0800 +++ b/piecrust/app.py Tue Nov 21 22:07:12 2017 -0800 @@ -15,6 +15,8 @@ from piecrust.page import Page from piecrust.plugins.base import PluginLoader from piecrust.routing import Route +from piecrust.sources.base import REALM_THEME +from piecrust.uriutil import multi_replace logger = logging.getLogger(__name__) @@ -118,8 +120,8 @@ return None # See if there's a theme we absolutely want. - td = self._get_dir(THEME_DIR) - if td is not None: + td = os.path.join(self.root_dir, THEME_DIR) + if os.path.isdir(td): return td # Try to load a theme specified in the configuration. @@ -133,8 +135,8 @@ return os.path.join(RESOURCES_DIR, 'theme') @cached_property - def plugins_dir(self): - return self._get_dir(PLUGINS_DIR) + def plugins_dirs(self): + return self._get_configurable_dirs(PLUGINS_DIR, 'site/plugins_dirs') @cached_property def cache_dir(self): @@ -229,11 +231,9 @@ cache_key, lambda: Page(source, content_item)) - def _get_dir(self, default_rel_dir): - abs_dir = os.path.join(self.root_dir, default_rel_dir) - if os.path.isdir(abs_dir): - return abs_dir - return None + def resolvePath(self, path): + path = multi_replace(path, {'%theme_dir%': self.theme_dir}) + return os.path.join(self.root_dir, path) def _get_configurable_dirs(self, default_rel_dir, conf_name): dirs = [] @@ -242,9 +242,9 @@ conf_dirs = self.config.get(conf_name) if conf_dirs is not None: if isinstance(conf_dirs, str): - dirs.append(os.path.join(self.root_dir, conf_dirs)) + dirs.append(self.resolvePath(conf_dirs)) else: - dirs += [os.path.join(self.root_dir, p) for p in conf_dirs] + dirs += [self.resolvePath(p) for p in conf_dirs] # Add the default directory if it exists. default_dir = os.path.join(self.root_dir, default_rel_dir) diff -r 4f2e0136123d -r 2e5c5d33d62c piecrust/baking/worker.py diff -r 4f2e0136123d -r 2e5c5d33d62c piecrust/page.py --- a/piecrust/page.py Tue Nov 21 21:30:37 2017 -0800 +++ b/piecrust/page.py Tue Nov 21 22:07:12 2017 -0800 @@ -171,7 +171,7 @@ return dt # No idea what the date/time for this page is. - return datetime.datetime.fromtimestamp(0) + return None def _parse_config_date(page_date): diff -r 4f2e0136123d -r 2e5c5d33d62c piecrust/plugins/base.py --- a/piecrust/plugins/base.py Tue Nov 21 21:30:37 2017 -0800 +++ b/piecrust/plugins/base.py Tue Nov 21 22:07:12 2017 -0800 @@ -130,24 +130,25 @@ except ImportError as ex: mod = None - if mod is None and self.app.plugins_dir: + if mod is None: # Import as a loose Python file from the plugins dir. - pfile = os.path.join(self.app.plugins_dir, plugin_name + '.py') - if os.path.isfile(pfile): - if sys.version_info[1] >= 5: - # Python 3.5+ - from importlib.util import (spec_from_file_location, - module_from_spec) - spec = spec_from_file_location(plugin_name, pfile) - mod = module_from_spec(spec) - spec.loader.exec_module(mod) - sys.modules[mod_name] = mod - else: - # Python 3.4, 3.3. - from importlib.machinery import SourceFileLoader - mod = SourceFileLoader( - plugin_name, pfile).load_module() - sys.modules[mod_name] = mod + for plugins_dir in self.app.plugins_dirs: + pfile = os.path.join(plugins_dir, plugin_name + '.py') + if os.path.isfile(pfile): + if sys.version_info[1] >= 5: + # Python 3.5+ + from importlib.util import (spec_from_file_location, + module_from_spec) + spec = spec_from_file_location(plugin_name, pfile) + mod = module_from_spec(spec) + spec.loader.exec_module(mod) + sys.modules[mod_name] = mod + else: + # Python 3.4, 3.3. + from importlib.machinery import SourceFileLoader + mod = SourceFileLoader( + plugin_name, pfile).load_module() + sys.modules[mod_name] = mod if mod is None: logger.error("Failed to load plugin '%s'." % plugin_name) diff -r 4f2e0136123d -r 2e5c5d33d62c piecrust/processing/util.py --- a/piecrust/processing/util.py Tue Nov 21 21:30:37 2017 -0800 +++ b/piecrust/processing/util.py Tue Nov 21 22:07:12 2017 -0800 @@ -74,8 +74,7 @@ dirname, _ = os.path.split(path) info.files = [os.path.join(dirname, f) for f in info.files] elif path_mode == 'absolute': - info.files = [os.path.join(self.app.root_dir, f) - for f in info.files] + info.files = [self.app.resolvePath(f) for f in info.files] else: raise Exception("Unknown path mode: %s" % path_mode)