Mercurial > piecrust2
view docs/pages/support/changelog.md @ 1173:5f9f411a109e 3.3.0
cm: Regenerate the CHANGELOG.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Fri, 04 Oct 2019 11:48:18 -0700 |
parents | 3516759ea1b2 |
children |
line wrap: on
line source
--- title: Changelog layout: simple --- # Changelog ## 1. PieCrust 3.3.0 (2019-10-04) ### 1.0 Commands * admin: Improvements to micropub endpoint's photo handling. * bake: Don't crash if a source doesn't implement related items. * prepare: Add micro-blogging template. * sources: Add ability to force a realm on a source. ### 1.1 Core * config: Add setting for enabling baking or serving posts in the future. * config: Allow tweaking the configuration of default routes. * config: Support environment variables in theme directories. * data: Allow combining different data providers. * routing: Fix breakages with routing on some versions of Python. * routing: For some reason, escaping percents isn't happening anymore. ### 1.3 Project * cm: Add mock to test dependencies. * cm: Add new pytest cache dirs to hgignore. * cm: Update dependencies and fix imports of Flask plugins. * cm: Update dependencies. * cm: Update gulp/npm stuff. * cm: Update hgignore. * cm: Upgrade Jinja2 version. * tests: Add ability to test different expected outputs based on Python version. * tests: Fix YAML warning in tests. ### 1.4 Miscellaneous * copyasset: Add `copyasset` command. * core: Remove deprecation warning about collections.abc. * core: Remove more YAML deprecation warnings. * core: Remove yaml deprecation warning. * less: Fix issues moving the map file on Windows. Again. ## 2. PieCrust 3.2.1 (2018-06-05) ### 2.0 Commands * bake: Give unique source specs to each taxonomy or blog archive page. * serve: Fix an issue where false positive matches were rendered as the requested page. ### 2.1 Core * internal: Cleanup in the paginator's code. ### 2.3 Project * cm: Regenerate the CHANGELOG. * tests: Improve servings tests' error reporting. ## 3. PieCrust 3.2.0 (2018-05-20) ### 3.0 Commands * bake: Disable `uglifyjs` and `cleancss` by default. * bake: Optimize cache handling for the baking process. ### 3.1 Core * templating: Fix Inukshuk `paginate` function. ### 3.3 Project * cm: Regenerate the CHANGELOG. * cm: Update npm modules. * tests: Don't use flow style for generated YAML markup. ### 3.4 Miscellaneous * fix: Correctly invalidate pages that use dirtied sources. * showrecords: Tiny cosmetic change for the output. * url: New `url` command to get the URL of a page from its path. ## 4. PieCrust 3.1.1 (2018-02-28) ### 4.0 Commands * chef: Support special tokens in the `chef/env` setting. * prepare: Fix crash when preparing new pages. * theme: Fix quickstart message formatting. ### 4.3 Project * cm: Regenerate the CHANGELOG. * tests: Improve failure reporting, improve CLI tests. ## 5. PieCrust 3.1.0 (2018-02-27) ### 5.0 Commands * admin: Early version of webmention endpoint. * admin: Fix another root URL issue for the admin panel. * admin: Fix possible crash in the edit page. * admin: Upgrade login screen to new Bootstrap classes. * bake: Fix bug on Windows where shim scripts of NodeJS tools couldn't run. * chef: Add new `chef/env` config section. * help: Add new help topics on routes. * routes: Make help topic names consistent. * serve: Do some more useful debug logging when serving assets. * serve: Indicate where to find the admin panel in the console output. * serve: Only tell about the admin panel if needed. ### 5.1 Core * config: Report error if a non-asset source has no URL route. * data: Fix bug with page family data not returning correct `is_dir` value. * data: Let the `asset` endpoint load JSON data into the template engine. * data: Rename JSON-ifier function. * data: Use the root URL for the debugger assets. * internal: Disable macOS file-system wrappers. * internal: PEP8. * internal: Remove unnecessary imports. * routing: Fix URL generation bug with ugly URLs and index pages in sub-folders. ### 5.3 Project * cm: Add pipenv stuff. * cm: Ignore temp test files. * cm: Regenerate the CHANGELOG. * cm: Simpler, better `Pipfile`. * docs: Add more information about the administration panel. * docs: Add some information about setting up the micropub endpoint. * tests: Better error reporting for serving tests. * tests: Fix assetor tests. * tests: Fix pipeline test after having added new processors. * tests: Make internal test stuff not get picked up by pytest. ### 5.4 Miscellaneous * formatter: Fix the regex used to find page segments. * tasks: Add new `tasks` command and infrastructure, with `mention` task. ## 6. PieCrust 3.0.2 (2018-02-16) ### 6.0 Commands * sources: Update prose source to correctly use the new source API. ### 6.1 Core * data: Fix recently introduced bug with blog data provider. ### 6.3 Project * cm: Regenerate the CHANGELOG. ### 6.4 Miscellaneous * page: Let sources like prose override the title. ## 7. PieCrust 3.0.1 (2018-02-15) ### 7.0 Commands * serve: Fix debug rendering for page iterators. * serve: Show debug info, report errors when debug info isn't available. * sources: Fix index page slug for ordered page source. * sources: Fix some invalid relationship name. ### 7.1 Core * data: Fix debug rendering of the blog data provider. * data: Fix debug rendering of the family data. ### 7.3 Project * cm: Ignore documentation counter. * cm: Regenerate the CHANGELOG. * docs: Add information about common file-system sources' configurations. * docs: Add some information about migrating from v2 to v3. * docs: Cosmetic improvements to the navigation bar. * docs: Fix default formatter. * docs: Make the "code" section show up correctly in navigation. * docs: Tweak CSS style for block quotes. ## 8. PieCrust 3.0.0 (2018-02-13) ### 8.0 Commands * admin: Handle multiple photo uploads in the micropub endpoint. * admin: Make tumbnails when posting photos, commit to SCM. * admin: Upgrade Bootstrap, switch icons to Open-Iconic, remove Bower. * bake: Add `--sources` argument. * bake: Add support for Browserify. * bake: Allow specifying which asset processors to use on a per-source basis. * bake: Better performance stats, and add callback to preload templates. * bake: Do template caching in a background job if possible. * bake: Don't add outputs as dependencies, duh. * bake: Don't cheat when profiling. * bake: Don't ignore errors reported on things that are not yet in the records. * bake: Fix bug with postponed pages due to them using other sources. * bake: Fix exception verbose reporting for bake worker errors. * bake: Fix overriding issues between theme and user pages for index pages. * bake: Fix totally broken page baking caused by previous commit. * bake: Fix where the Browserify processor outputs things. * bake: Load pages in parallel again. * bake: Make `batch-size` option work again. * bake: More detailed stats, and fix a problem with some error reporting. * bake: Only cache templates for the default template engine. * bake: Optimize Browserify dependency handling. * bake: Remove superfluous debug message. * bake: Simplify output. * chef: Fix crash for commands run outside of a website. * serve: Don't spam the output when hitting CTRL+C while processing assets. * serve: Fix crash when editing `config.yml` while serving. * serve: Fix crash with `serve --admin`. * serve: Fix crash with autoconfig source pages when serving. * serve: Fix infinite loop in asset processing when a change is detected. * serve: Fix problems with assets disappearing between servings. * serve: Re-enable baking assets when running the server. * serve: Use `watchdog` for a more efficient monitoring of assets files. * sources: Adds support for whitelist filtering to file-system sources. * sources: Fix ordering and filename confusion in the "ordered" source. * sources: Improve error message when trying to get children pages on a group. ### 8.1 Core * data: Add new properties and folder support to the `family` data endpoint. * data: Fix a bug when listing a blog's posts twice on a page. * data: Make `family` properties return lists instead of generators. * data: Properly order month names in blog archives. * formatting: Fix Smartypants option for hoedown. * formatting: Replace `python-hoedown` with `misaka`. * internal: Don't profile the Inukshuk engine by default, duh. * internal: Remove debug logging for the cache class. * internal: Remove unused parameter. * templating: Add Inukshuk template engine. ### 8.3 Project * cm: Add Python 3.6 to Travis-CI. * cm: Bump Inukshuk to `0.1.2`, regenerate `requirements.txt`. * cm: Bump cache version ahead of v3 release. * cm: Include Bootstrap dependencies in `package.json`. * cm: Regenerate the CHANGELOG. * cm: Separate `requirements` from what `setup.py` wants. * cm: Update Inukshuk for Python 3.4 compatibility. * cm: Update `garcon`'s documentation script to work with latest toolchain. * cm: Upgrade Jinja2 to `2.10`, remove `dev-requirements.txt`. * cm: Upgrade invoke, add hoedown to requirements. * cm: Upgrade release script. * docs: Style tweaks. * docs: Update documentation on sources and pipelines. * docs: Upgrade to Bootstrap 4 and Sass. * tests: Add plugin tests. * tests: Fix determinism bug in linker test. * tests: Fix path comparison in a test on Windows. * tests: LOL * tests: Prevent conflicts in later `pytest` versions. ### 8.4 Miscellaneous * formatters: Remove Hoedown formatter, split it off to a pluging. * markdown: Use either the `hoedown` or `markdown` config section. * sass: Make sure `load_paths` are relative to the website's root. ## 9. PieCrust 2.1.2 (2017-11-21) ### 9.0 Commands * admin: Regenerate FoodTruck assets. * bake: Big pass on bake performance. * bake: Fix bugs introduced by bake optimizations, of course. * bake: Fix crash when trying to report a deployment error. * plugins: Support multiple customizable plugins directories. * prepare: Fix a crash when preparing a new post. * sources: Respect the "abort source use" setting when iterating on a source. ### 9.1 Core * data: Optimize page data so cheapest accessors are tried first. * pagination: Fix bad bug where all pages triggered pagination. ### 9.2 Bugfixes * bug: Fix crash on Python 3.6. ### 9.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: Only commit admin assets if they have changed. * cm: Regenerate the CHANGELOG. * cm: Regenerate the CHANGELOG. * cm: Regenerate the CHANGELOG. * cm: Upgrade Garcon tasks to the latest PyInvoke version. * tests: Fix non-determinism in linker tests. ### 9.4 Miscellaneous * fix: Compatibility for Python 3.4. * showrecords: Sort records by name. ## 10. PieCrust 2.1.0 (2017-10-29) ### 10.0 Commands * admin: Add a "rebake preview assets" button to the dashboard. * admin: Add a Micropub endpoint. * admin: Add icon to publish button. * admin: Add proper link to touch icon. * admin: Add touch icons. * admin: Better micropub request handling. * admin: Fix bug on the publish view. * admin: Fix more URL prefix issues, improve publishing. * admin: Fix old API calls and bugs when creating new pages. * admin: Fix old API calls and bugs when editing pages. * admin: Fix some UI spacing on the publishing page. * admin: Fix the site preview by editing the WSGI environment. * admin: Get the admin panel working again. * admin: Improve support for Micropub. * admin: Lots of fixes for running the admin panel in a WSGI server. * admin: Make the admin panel work under a non-rooted URL. * admin: Micropub improvements. * admin: Move 404 debugging into a separate function. * admin: Read an optional Flask-app configuration file. * admin: Remove site switcher UI. * admin: Show flashed messages on edit and publish pages. * admin: Show more info from the publishing process. * admin: The link to the panel's dashboard works when we are not at the root. * admin: Use URL routes for static assets. * admin: When there's no post title, make a title from the first few words. * bake: Add ability to specify pipelines to exclude during the bake. * bake: Add performance timers for pipeline jobs. * bake: Correctly setup unbaked entries for taxonomy pages. * bake: Don't create bake jobs for overriden pages. * bake: Fix typo in one of the performance timers. * bake: Keep track of which pages were aborted for using other pages. * bake: Rename "pass" to "step" and make the page pipeline use different steps. * bake: Support the `draft` setting. * bake: Use the basic Python queue again. * chef: Allow multiple config variants to be applied. * chef: Optimize startup time a little bit. * chef: Optimize startup time. * plugins: Add support for "ad-hoc" local plugins. * plugins: Fix a crash bug when the plugins directory doesn't exist. * plugins: The command works on an empty site too. * prepare: Fix old API calls. * prepare: Make drafts by default. * publish: Add more options for logging, better feedback when it fails. * publish: Fix publishers API and add a simple "copy" publisher. * publish: Fix shell publisher crash, log `stderr` too. * serve: Add `--admin` option to run the administration panel. * serve: Add mime type for mp4 video. * serve: Admin dashboard improvements. * serve: Disable Werkzeug's debugger PIN. * serve: Don't start the admin panel SSE until the window is ready. * serve: Fix asset processing loop. * serve: Fix crash when displaying empty dictionaries in the debug info. * serve: Fix error admin panel error message page. * serve: Fix post editing when the post has assets. * serve: Fix previewing articles from the administration panel. * serve: Fix the notifications when publishing a site from the admin panel. * serve: Optionally run the admin panel with the server. * serve: Re-bake admin panel's static files. * showrecord: Don't show empty records when filtering. * showrecord: Don't show records that don't match the given filters. * showrecord: Don't show the records if we just want to see a manifest. * showrecord: Fix bug when filtering output paths. * showrecord: Prevent a crash. * sources: Add `findContentFromPath` API. * sources: Change argument name in default source's `createContent`. * sources: Changes in related contents management. * sources: File-system sources accept all `open` arguments. * sources: Give better exception messages when a class is missing a method. * sources: Posts source accepts more arguments for creating a post. * themes: Allow keeping local overrides when copying a theme locally. ### 10.1 Core * config: Better generate route function names to prevent collisions. * config: Properly pass the merge mode to the `merge_dicts` function. * data: Add access to route metadata in the templating data. * data: Delay loading page configuration and datetimes. * data: Don't add route functions or data providers that happen to be null. * data: Improve pagination filters code, add `defined` and `not_empty`. * data: Make the `Assetor` more into a `dict` than a `list`. * data: Optimize page data creation. * debug: Raise Jinja template exceptions the same way in both render passes. * formatting: Remove segment parts, you can use template tags instead. * internal: Check that the `Assetor` has an asset URL format to work with. * internal: Clean up baker code. * internal: Fix caching issues with config variants. * internal: Give better exception messages when splitting URIs. * internal: Include the number of fixup callback in the cache key. * internal: Make `createContent` use a dictionary-like object. * internal: Make the page serializer thread daemon. * internal: PEP8 * internal: PEP8 * internal: Remove unnecessary timer, add timer for lazy data building. * internal: Remove unused file. * internal: Sources can cache their pages in addition to their items. * internal: The processing loop for the server is now using the baker. * internal: Use pickle for caching things on disk. * internal: Worker pool improvements * pagination: Prevent a possible crash when paginating things without a current page. * routing: Properly order routes by pass when matching them to the request. * templating: Template engines can now load extensions directly from plugins. ### 10.3 Project * cm: Regenerate the CHANGELOG. * cm: Update Werkzeug. * tests: Big push to get the tests to pass again. * tests: First pass on making unit tests work again. ### 10.4 Miscellaneous * assets: Fix bug in assetor. * cache: Bump the cache version. * clean: PEP8. * clean: Remove unused code. * core: Continue PieCrust3 refactor, simplify pages. * core: Keep refactoring, this time to prepare for generator sources. * core: Start of the big refactor for PieCrust 3.0. * fix: Don't crash during some iterative builds. * jinja: Remove Twig compatibility, add timer, improve code. * jinja: Use the extensions performance timer. * optimize: Don't load Jinja unless we need to. * optimize: Only load some 3rd party packages when needed. * page: Default to an empty title instead of 'Untitled Page'. * pep8: Fix indenting. * pep8: Fix indenting. * refactor: Fix a few more pieces of code using the old APIs. * refactor: Fix some issues with record/cache entry collisions, add counters. * refactor: Fix some last instance of using the old API. * refactor: Fixing some issues with baking assets. * refactor: Get the page assets to work again in the server. * refactor: Get the processing loop in the server functional again. * refactor: Get the taxonomy support back to a functional state. * refactor: Improve pagination and iterators to work with other sources. * refactor: Make the blog archives functional again. * refactor: Make the data providers and blog archives source functional. * refactor: Make the linker work again. * server: Fix crash when serving temp files like CSS maps. * wsgi: Add admin panel to WSGI helpers. ## 11. PieCrust 2.0.0 (2017-02-19) ### 11.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: Show bake stats in descending order of time. * showrecord: Add `show-manifest` argument. ### 11.1 Core * config: Cleanup config loading code. Add support for a `local.yml` config. * data: Allow page generators to have an associated data provider * internal: Don't check for a page repository, there's always one. * internal: Import things in the builtin plugin only when needed. * internal: Keep things out of the `PieCrust` class, and other clean-ups. * internal: Make `posts` sources cache their list of pages. * internal: PEP8 fixup for admin panel code. * rendering: Separate performance timers for renering segments and layouts. * templating: Put the routing functions in the data, not the template engine. ### 11.2 Bugfixes * bug: Fix crashes for commands run outside of a website. ### 11.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 * docs: Fix line-end / new-line issues * docs: Invalid yaml in example * docs: Repair some broken links * tests: Fix for time comparisons. ### 11.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 * Fixed call to Assetor.copyAssets * Land assets in the correct directory for pages with no pretty_urls override * Refactored Assetor into Assetor and AssetorBase * Removed pointless page argument from copyAssets * Renamed buildPageAssetor to buildAssetor * Use assetor provided by page source when paginating * assets: Fix crash when a page doesn't have assets. ## 12. PieCrust 2.0.0rc2 (2016-09-07) ### 12.0 Commands * admin: Correctly flush loggers before exiting. * admin: Don't crash when the site isn't in a source control repository. * admin: Fix API changes, don't crash the dashboard on non-binary WIP files. * admin: Fix crash when running the `admin` command. * admin: Fix various crashes caused by incorrect Blueprint setup. * admin: Fixes for the Git support. * admin: Make the whole FoodTruck site into a blueprint. * bake: Add the list of deleted files to the bake/processing records. * bake: Fix how slugified taxonomy terms are handled. * bake: Print slightly better debug information. * chef: Don't crash when running `chef` outside of a website. * chef: Make all the commands descriptions fit in one line. * plugins: Abort the command if there's no site. * plugins: Don't crash when running the `chef plugins` command outside a site. * prepare: Add ablity to run an editor program after creating the page file. * prepare: Use the same convention as other commands with sub-commands. * publish: Add SFTP publisher. * publish: Add support for `--preview` for the SFTP publisher. * publish: Fix crash. * publish: Fix stupid typo. * publish: Make publisher more powerful and better exposed on the command line. * showrecord: Fix some crashes and incorrect information. * themes: No parameters shoudl make the help text show up. ### 12.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. * internal: Add missing timer scope. * internal: Add missing timer scope. * internal: Don't strip the trailing slash when we get the root URL exactly. * internal: Move admin panel code into the piecrust package. * routing: Add some backwards compatibility support for parameter types. * routing: Don't mistakenly raise errors about incorrect variadic parameters. * routing: Simplify how route functions are declared and handled. * routing: Simplify how routes are defined. ### 12.2 Bugfixes * bug: Fix possible crash with overlapping pages. ### 12.3 Project * cm: Add a "Bugfixes" section to the CHANGELOG and order things alphabetically. * cm: Declare PieCrust as a Python 3 only package. * cm: Regenerate the CHANGELOG. * docs: Add documentation about the SFTP publisher. * docs: Fix outdated routing in the configuration file. * docs: Tutorial chapter about adding pages. * docs: Update documentation on routing. * tests: Add more `showconfig` tests. * tests: Add tests for publishers. * tests: Fix crash when reporting 404 errors during server tests. * tests: Fix some CLI tests. * tests: Make it possible to run FoodTruck tests. * tests: Try and finally fix the time-based tests. ## 13. PieCrust 2.0.0rc1 (2016-06-09) ### 13.0 Commands * admin: Add support for Git source-control. * admin: Add support for `.well-known` folder. * admin: Fix OS-specific new line problems when editing pages. * admin: Fix crash when previewing a website. * admin: Fix crash when running FoodTruck as a standalone web app. * admin: Run the asset pipeline before showing the admin panel. * admin: Show a more classic blog post listing in FoodTruck. * admin: run an asset processing loop in the background. * bake: Add blog archives generator. * bake: Add stat about aborted jobs * bake: Add the timestamp of the page to each record entry. * bake: Change `show-timers` to `show-stats`, add stats. * bake: Don't clean the `baker` cache on a force bake. * bake: Fix a crash when a rendering error occurs. * bake: Fix some bugs with taxonomy combinations. * bake: Fix some crashes with new blog archive/taxonomy for incremental bakes. * bake: Re-enable faster serialization between processes. * bake: Replace hard-coded taxonomy support with "generator" system. * bake: Show more stats. * bake: Some more optimizations. * bake: Use standard pickle and queue for now to fix some small issues. * bake: Use threads to read/write from/to the main arbitrator process. * chef: Fix `--debug-only` argument. * init: Use a better config template when creating websites. * purge: Delete the whole cache directory, not just the current sub-cache. * routes: Show the route template function. * serve: Fix some crashes introduced by recent refactor. * serve: Fix some problems with trailing slashes. * showrecord: Don't print the record when you just want the stats. * themes: Add support for a `--theme` argument to `chef`. * themes: Add support for loading from a library of themes. * themes: Expand `~` paths, fix error message. * themes: Simplify `themes` command. ### 13.1 Core * data: Make the blog provider give usable data to the year archive routes. * data: Support both objects and dictionaries in `MergedMapping`. * debug: Pass the exceptions untouched when debugging. * debug: Show more stuff pertaining to data providers in the debug window. * formatting: Add a `hoedown` formatter. * formatting: Don't import `hoedown` until we need it. * internal: Bump cache version. * internal: Don't run regexes for the 99% case of pages with no segments. * internal: Fix a bug with registering taxonomy terms that are not strings. * internal: Fix compatibility with older Python 3.x. * internal: Fix incorrect check for cache times. * internal: Fix some bugs with the `fastpickle` module. * internal: Get rid of the whole "sub cache" business. * internal: Improve how theme configuration is validated and merged. * internal: More work/fixes on how default/theme/user configs are merged. * internal: Move some basic FoodTruck SCM code to the base. * internal: Prevent crash because of missing logger. * internal: Refactor config loading some more. * internal: Remove exception logging that shouldn't happen. Better message. * internal: Remove threading stuff we don't need anymore. * internal: Remove unused code. * internal: Remove unused import. * internal: Remove unused piece of code. * internal: Update the cache version to force re-gen the configuration settings. * render: Change how we store render passes info. * rendering: Use `fastpickle` serialization before JSON. * routing: Cleanup URL routing and improve page matching. * routing: Correctly call the underlying route template function from a merged one. * routing: Fix problems with route functions. * templating: Make blog archives generator expose more templating data. * templating: Make the 'categories' taxonomy use a 'pccaturl' function again. * templating: Use HTTPS URLs for a couple things. ### 13.2 Bugfixes * bug: Also look for format changes when determining if a page needs parsing. ### 13.3 Project * cm: Add AppVeyor support. * cm: Add generation of Mardown changelog suitable for the online documentation. * cm: Add generation of online changelog to the release task. * cm: Also test Python 3.5 with Travis. * cm: Don't always generation the version when running `setuptools`. * cm: Don't raise an exception when no version file exists. * cm: Fix `setup.py` script. * cm: Fix a packaging bug, update package metadata. * cm: Ignore `py.test` cache. * cm: Ignore bdist output directory. * cm: Improve documentation generation script. * cm: It's fun to send typos to Travis-CI. * cm: Make Travis-CI test packaging. * cm: Regenerate the CHANGELOG. * docs: Add changelog page. * docs: Add information on more global `chef` options. * docs: Use HTTPS version of Google Fonts. * docs: Use new config variants format. * docs: Very basic theme documentation. * docs: Write about generators and data providers, update all related topics. * tests: Add ability to run tests with a theme site. * tests: Add another app config test. * tests: Add more tests for merged mappings. * tests: Add some tests for blog archives and multi-blog features. * tests: Fix logic for making time-based tests not fail randomly. * tests: Improve failure reporting. * tests: the `PageBaker` now needs to be shutdown. ### 13.4 Miscellaneous * Fix 404 broken link * jinja: Add `md5` filter. ## 14. PieCrust 2.0.0b5 (2016-02-16) ### 14.0 Commands * admin: Don't require `bcrypt` for running FoodTruck with `chef`. * admin: Remove settings view. ### 14.1 Core * internal: Remove SyntaxWarning from MacOS wrappers. ### 14.3 Project * cm: Exclude the correct directories from vim-gutentags. * cm: Fix CHANGELOG newlines on Windows. * cm: Fix categorization of CHANGELOG entries for new commands. * cm: Fixes and tweaks to the documentation generation task. * cm: Get a new version of pytest-cov to avoid a random multiprocessing bug. * cm: Ignore more things for pytest. * cm: Move all scripts into a `garcon` package with `invoke` support. * cm: Regenerate the CHANGELOG. * cm: Regenerate the CHANGELOG. * cm: Tweaks to the release script. * cm: Update node module versions. * cm: Update npm modules and bower packages before making a release. * cm: Update the node modules before building the documentation. ## 15. PieCrust 2.0.0b4 (2016-02-09) ### 15.0 Commands * admin: Ability to configure SCM stuff per site. * admin: Add "FoodTruck" admin panel from the side experiment project. * admin: Add summary of page in source listing. * admin: Better UI for publishing websites. * admin: Better error reporting, general clean-up. * admin: Better production config for FoodTruck, provide proper first site. * admin: Change the default admin server port to 8090, add `--port` option. * admin: Configuration changes. * admin: Dashboard UI cleaning, re-use utility function for page summaries. * admin: Fix "Publish started" message showing up multiple times. * admin: Fix constructor for Mercurial SCM. * admin: Fix crashes when creating a new page. * admin: Fix creating pages. * admin: Fix responsive layout. * admin: Improve publish logs showing as alerts in the admin panel. * admin: Make sure we have a valid default site to start with. * admin: Make the publish UI handle new kinds of target configurations. * admin: Make the sidebar togglable for smaller screens. * admin: New `admin` command to manage FoodTruck-related things. * admin: Prompt the user for a commit message when committing a page. * admin: Set the `DEBUG` flag before the app runs so we can read it during setup. * admin: Show the install page if no secret key is available. * admin: Use `HGPLAIN` for the Mercurial VCS provider. * admin: Use the app directory, not the cwd, in case of `--root`. * bake: Add a flag to know which record entries got collapsed from last run. * bake: Add new performance timers. * bake: Add option to bake assets for FoodTruck. This is likely temporary. * bake: Add support for a "known" page setting that excludes it from the bake. * bake: Don't re-setup logging for workers unless we're sure we need it. * bake: Set the flags, don't combine. * chef: Add `--debug-only` option to only show debug logging for a given logger. * chef: Add `--pid-file` option. * chef: Fix the `--config-set` option. * publish: Add option to change the source for the `rsync` publisher. * publish: Add publish command. * publish: Add the `rsync` publisher. * publish: Change the `shell` config setting name for the command to run. * publish: Make the `shell` log update faster by flushing the pipe. * publish: Polish/refactor the publishing workflows. * routes: Add better support for taxonomy slugification. * serve: Don't crash when looking at the debug info in a stand-alone window. * serve: Extract some of the server's functionality into WSGI middlewares. * serve: Fix corner cases where the pipeline doesn't run correctly. * serve: Fix error reporting when the background pipeline fails. * serve: Fix timing information in the debug window. * serve: Improve debug information in the preview server. * serve: Improve reloading and shutdown of the preview server. * serve: Make it possible to preview pages with a custom root URL. * serve: Refactor the server to make pieces usable by the debugging middleware. * serve: Rewrite of the Server-Sent Event code for build notifications. * serve: Werkzeug docs say you need to pass a flag with `wrap_file`. * showconfig: Don't crash when the whole config should be shown. * sources: Add code to support "interactive" metadata acquisition. * sources: Add method to get a page factory from a path. ### 15.1 Core * cli: Add `--no-color` option. * cli: More proper argument parsing for the main/root arguments. * data: Fix a crash bug when no parent page is set on an iterator. * debug: Don't show parentheses on redirected properties. * debug: Fix a crash when rendering debug info for some pages. * debug: Fix debug window CSS. * debug: Fix how the linker shows children/siblings/etc. in the debug window. * internal: Refactor the app configuration class. * internal: Rename `raw_content` to `segments` since it's what it is. * internal: Some fixes to the new app configuration. ### 15.2 Bugfixes * bug: Correctly handle root URLs with special characters. * bug: Fix a crash when some errors occur during page rendering. ### 15.3 Project * cm: Add requirements for FoodTruck. * cm: Add script to generate documentation. * cm: Add some pretty little icons in the README. * cm: CHANGELOG generator can handle future versions. * cm: Fix Gulp config. * cm: Ignore more stuff for CtrlP or Gutentags. * cm: Merge the 2 foodtruck folders, cleanup. * cm: Put Bower/Gulp/etc. stuff all at the root. * docs: Add documentation about FoodTruck. * docs: Add documentation about the `publish` command. * docs: Add raw files for FoodTruck screenshots. * docs: Add reference entry about the `site/slugify_mode` setting. * docs: Fix broken link. * docs: Make FoodTruck screenshots the proper size. * docs: Remove LessCSS dependencies in the tutorial, fix typos. * tests: Add unicode tests for case-sensitive file-systems. * tests: Fix (hopefully) time-sensitive tests. * tests: Fix another broken test. * tests: Fix broken test. * tests: Fix broken unit test. * tests: Print more information when a bake test fails to find an output file. ## 16. PieCrust 2.0.0b3 (2015-08-01) ### 16.0 Commands * import: Add some debug logging. * import: Correctly convert unicode characters in site configuration. * import: Fix the PieCrust 1 importer. ### 16.1 Core * internal: Fix a severe bug with the file-system wrappers on OSX. * templating: Make more date functions accept 'now' as an input. ### 16.3 Project * cm: Add a Gutentags config file for `ctags` generation. * cm: Changelog generator script. * cm: Ignore Rope cache. * cm: Update changelog. * tests: Check accented characters work in configurations. ## 17. PieCrust 2.0.0b2 (2015-07-29) ### 17.0 Commands * prepare: More help about scaffolding. ### 17.2 Bugfixes * bug: Fix crash running `chef help scaffolding` outside of a website. ## 18. PieCrust 2.0.0b1 (2015-07-29) ### 18.0 Commands * bake: Add a processor to generate a Pygments style CSS file. * bake: Fix logging configuration for multi-processing on Windows. * bake: Fix random crash with the Sass processor. * bake: Set the worker ID in the configuration. It's useful. * prepare: Fix the RSS template. * serve: Don't show the same error message twice. * serve: Fix a crash when matching taxonomy URLs with incorrect URLs. * serve: Improve Jinja rendering error reporting. * serve: Improve error reporting when pages are not found. * serve: Say what page a rendering error happened in. * serve: Try to serve taxonomy pages after all normal pages have failed. * themes: Add a `link` sub-command to install a theme via a symbolic link. * themes: Add config paths to the cache key. * themes: Don't fixup template directories, it's actually better as-is. * themes: Fix crash when invoking command with no sub-command. * themes: Improve CLI, add `deactivate` command. * themes: Proper template path fixup for the theme configuration. ### 18.1 Core * config: Make sure `site/auto_formats` has at least `html`. * formatting: Add support for Markdown extension configs. * internal: Correctly split sub URIs. Add unit tests. * internal: Fix some edge-cases for splitting sub-URIs. * internal: Fix timing info. * internal: Improve handling of taxonomy term slugification. * internal: Return `None` instead of raising an exception when finding pages. * templating: Add `now` global to Jinja, improve date error message. * templating: Make Jinja support arbitrary extension, show warning for old stuff. * templating: `highlight_css` can be passed the name of a Pygments style. ### 18.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. ### 18.3 Project * cm: Add `unidecode` to requirements. * cm: Error in `.hgignore`. Weird. * cm: Fix benchmark website generation on Windows. * cm: Ignore `.egg-info` stuff. * cm: Re-fix Mac file-system wrappers. * docs: Add some API documentation. * docs: Add some syntax highlighting to tutorial pages. * docs: Always use Pygments styles. Use the new CSS generation processor. * docs: Configure fenced code blocks in Markdown with Pygments highlighting. * docs: Make code prettier :) * docs: Make the "deploying" page consistent with "publishing". * docs: More generic information about baking and publishing. * docs: No need to specify the layout here. * docs: Start a proper "code/API" section. * docs: Use fenced code block syntax. * tests: Fix `find` tests on Windows. * tests: Fix processing test after adding `PygmentsStyleProcessor`. * tests: Fix processing tests on Windows. * tests: Fix the Mustache tests on Windows. * tests: Help the Yaml loader figure out the encoding on Windows. * tests: Normalize test paths using the correct method. ### 18.4 Miscellaneous * bake/serve: Improve support for unicode, add slugification options. * cosmetic: Remove debug print here too. * cosmetic: Remove debug printing. * jinja: Support `.j2` file extensions. * less: Fix issues with the map file on Windows. * sass: Overwrite the old map file with the new one always. ## 19. PieCrust 2.0.0a13 (2015-07-14) ### 19.0 Commands * bake: Fix a bug with copying assets when `pretty_urls` are disabled. ### 19.2 Bugfixes * bug: Correctly setup the environment/app for bake workers. * bug: Fix copying of page assets during the bake. ## 20. PieCrust 2.0.0a12 (2015-07-14) ### 20.0 Commands * bake: Abort "render first" jobs if we start using other pages. * bake: Add CLI argument to specify job batch size. * bake: Commonize worker pool code between html and asset baking. * bake: Correctly use the `num_worers` setting. * bake: Don't pass the previous record entries to the workers. * bake: Enable multiprocess baking. * bake: Improve bake record information. * bake: Improve performance timers reports. * bake: Make pipeline processing multi-process. * bake: Optimize the bake by not using custom classes for passing info. * bake: Pass the config variants and values from the CLI to the baker. * bake: Pass the sub-cache directory to the bake workers. * bake: Tweaks to the `sitemap` processor. Add tests. * bake: Use batched jobs in the worker pool. * serve: Fix bug with creating routing metadata from the URL. * serve: Fix crash on start. * serve: Use Werkzeug's HTTP exceptions correctly. ### 20.1 Core * debug: Add support for more attributes for the debug info. * debug: Better debug info output for iterators, providers, and linkers. * debug: Fix serving of resources now that the module moved to a sub-folder. * debug: Log error when an exception gets raised during debug info building. * internal: Add a `fastpickle` module to help with multiprocess serialization. * internal: Add support for fake pickling of date/time structures. * internal: Add utility function for incrementing performance timers. * internal: Allow re-registering performance timers. * internal: Create full route metadata in one place. * internal: Fix caches being orphaned from their directory. * internal: Floats are also allowed in configurations, duh. * internal: Handle data serialization more under the hood. * internal: Just use the plain old standard function. * internal: Move `MemCache` to the `cache` module, remove threading locks. * internal: Optimize page data building. * internal: Optimize page segments rendering. * internal: Register performance timers for plugin components. * internal: Remove unnecessary code. * internal: Remove unnecessary import. * linker: Add ability to return the parent and ancestors of a page. * performance: Add profiling to the asset pipeline workers. * performance: Compute default layout extensions only once. * performance: Only use Jinja2 for rendering text if necessary. * performance: Quick and dirty profiling support for bake workers. * performance: Refactor how data is managed to reduce copying. * performance: Use the fast YAML loader if available. * render: Lazily import Textile package. * rendering: Truly skip formatters that are not enabled. * reporting: Better error messages for incorrect property access on data. * reporting: Print errors that occured during pipeline processing. * templating: Add modification time of the page to the template data. * templating: Fix Pystache template engine. * templating: Let Jinja2 cache the parsed template for page contents. * templating: Workaround for a bug with Pystache. ### 20.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. ### 20.3 Project * cm: Add script to generate benchmark websites. * cm: Fix wrong directory for utilities. * cm: Move build directory to util to avoid conflicts with pip. * cm: Use Travis CI's new infrastructure. * docs: Add the `--pre` flag to `pip install` while PieCrust is in beta. * tests: Add pipeline processing tests. * tests: Fix Jinja2 test. * tests: Fix crash in processing tests. ### 20.4 Miscellaneous * Fixed 'bootom' to 'bottom' * markdown: Cache the formatter once. ## 21. PieCrust 2.0.0a11 (2015-05-18) ### 21.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. ### 21.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. ### 21.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. * tests: Fail bake tests with a proper error message when bake fails. * tests: More accurate marker position for diff'ing strings. * tests: Move all bakes/cli/servings tests files to have a YAML extension. ### 21.4 Miscellaneous * jinja: Look for `html` extension first instead of last. ## 22. PieCrust 2.0.0a10 (2015-05-15) ### 22.3 Project * setup: Add `requirements.txt` to `MANIFEST.in` so it can be used by the setup. ## 23. PieCrust 2.0.0a9 (2015-05-11) ### 23.0 Commands * serve: Add a WSGI utility module for easily getting a default app. * serve: Add a generic WSGI app factory. * serve: Add ability to suppress the debug info window programmatically. * serve: Compatibility with `mod_wsgi`. * serve: Split the server code in a couple modules inside a `serving` package. ### 23.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. ### 23.3 Project * docs: Add documentation for deploying as a dynamic CMS. * docs: Add lame bit of documentation on publishing your website. * setup: Keep the requirements in sync between `setuptools` and `pip`. * tests: Add a Chef test for the `find` command. * tests: Add support for "Chef tests", which are direct CLI tests. * tests: Fix serving unit-tests. ## 24. PieCrust 2.0.0a8 (2015-05-03) ### 24.0 Commands * bake: Fix crash when handling bake errors. * serve: Giant refactor to change how we handle data when serving pages. * serve: Refactoring and fixes to be able to serve taxonomy pages. * sources: Default source lists pages in order. * sources: Fix how the `autoconfig` source iterates over its structure. * theme: Fix link to PieCrust documentation. ### 24.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. ### 24.3 Project * tests: Changes to output report and hack for comparing outputs. ### 24.4 Miscellaneous * Update `requirements.txt`. * Update development `requirements.txt`, add code coverage tools. ## 25. PieCrust 2.0.0a7 (2015-04-20) ### 25.0 Commands * bake: Improve render context and bake record, fix incremental bake bugs. * bake: Several bug taxonomy-related fixes for incorrect incremental bakes. * bake: Use a rotating bake record. * chef: Add a `--config-set` option to set ad-hoc site configuration settings. * chef: Fix pre-parsing. * find: Don't change the pattern when there's none. * import: Use the proper baker setting in the Jekyll importer. * serve: Don't access the current render pass info after rendering is done. * serve: Fix crash on URI parsing. * showrecord: Add ability to filter on the output path. ### 25.1 Core * config: Add `default_page_layout` and `default_post_layout` settings. * data: Also expose XML date formatting as `xmldate` in Jinja. * internal: Fix stupid routing bug. * internal: Remove unused code. * internal: Template functions could potentially be called outside of a render. * internal: Try handling URLs in a consistent way. * internal: Use hashes for cache paths. * pagination: Make pagination use routes to generate proper URLs. ### 25.3 Project * build: Put dev-only lib requirements into a `dev-requirements.txt` file. * docs: Add "active page" style for the navigation menu. * docs: Add documentation for importing content from other engines. * docs: Add new site configuration settings to the reference documentation. * tests: Add `os.rename` to the mocked functions. * tests: Add more utility functions to the mock file-system. * tests: Fix test. * tests: Improve bake tests output, add support for partial output checks. * tests: Raise an exception instead of crashing rudely. * tests: Remove debug output. * tests: Support for YAML-based baking tests. Convert old code-based ones. ### 25.4 Miscellaneous * cleancss: Fix stupid bug. ## 26. PieCrust 2.0.0a6 (2015-03-30) ### 26.0 Commands * bake: Better error handling for site baking. * bake: Better error handling for the processing pipeline. * bake: Change arguments to selectively bake to make them symmetrical. * bake: Changes in how assets directories are configured. * bake: Don't include the site root when building output paths. * bake: Don't store internal config values in the bake record. * bake: Fix processing record bugs and error logging for external processes. * bake: Remove `--portable` option until it's (maybe) implemented. * import: Add an XML-based Wordpress importer. * import: Make the Wordpress importer extendable, rename it to `wordpressxml`. * import: Put importer metadata on the class, and allow return values. * import: Show help if no sub-command was specified. * import: Upgrade more settings for the PieCrust 1 importer. * import: Wordpress importer puts drafts in a `draft` folder. Ignore other statuses. * plugins: Change how plugins are loaded. Add a `plugins` command. * plugins: First pass for a working plugin loader functionality. * plugins: Fix crash for sites that don't specify a `site/plugins` setting. * plugins: Remove unused API endpoints. * prepare: Add user-defined scaffolding templates. * serve: Add server sent events for showing pipeline errors in the debug window. * serve: Correctly pass on the HTTP status code when an error occurs. * serve: Correctly show timing info even when not in debug mode. * serve: Don't crash when a post URL doesn't match our expectations. * serve: Don't expose the debug info right away when running with `--debug`. * serve: Don't have 2 processing loops running when using `--use-reloader`. * serve: Fix a bug where empty route metadata is not the same as invalid route. * serve: Fix exiting the server with `CTRL+C` when the SSE response is running. * serve: Keep the `?!debug` when generating URLs if it is enabled. * serve: Make the server find assets generated by external tools. * serve: Print nested exception messages in the dev server. * serve: Run the asset pipeline asynchronously. * serve: Use Etags and 304 responses for assets. * showrecord: Also show the pipeline record. * showrecord: Show relative paths. * showrecord: Show the overall status (success/failed) of the bake. * sources: Fix a bug where the `posts` source wasn't correctly parsing URLs. * sources: Generate proper slugs in the `autoconfig` and `ordered` sources. * sources: Make sure page sources have some basic config info they need. * sources: Pass any current mode to `_populateMetadata` when finding pages. * sources: Refactor `autoconfig` source, add `OrderedPageSource`. * sources: The ordered source returns names without prefixes in `listPath`. * sources: Use `posts_*` and `items_*` settings more appropriately. * theme: Fix the default theme's templates after changes in Jinja's wrapper. * theme: Updated "quickstart" text shown for new websites. * themes: Add the `chef themes` command ### 26.1 Core * config: Assign correct data endpoint for blogs to be v1-compatible. * config: Make YAML consider `omap` structures as normal maps. * config: Make sure `site/plugins` is transformed into a list. * data: Add a top level wrapper for `Linker`. * data: Add ability for `IPaginationSource`s to specify how to get settings. * data: Better error message for old date formats, add `emaildate` filter. * data: Correctly build pagination filters when we know items are pages. * data: Don't nest filters in the paginator -- nest clauses instead. * data: Fix incorrect next/previous page URLs in pagination data. * data: Fix typos and stupid errors. * data: Improve the Linker and RecursiveLinker features. Add tests. * data: Make the `Linekr` use the new `getSettingAccessor` API. * data: Only expose the `family` linker. * data: Temporary hack for asset URLs. * data: `Linker` refactor. * internal: A bit of input validation for source APIs. * internal: Add ability to get a default value if a config value doesn't exist. * internal: Add support for "wildcard" loader in `LazyPageConfigData`. * internal: Add utility function to get a page from a source. * internal: Be more forgiving about building `Taxonomy` objects. Add `setting_name`. * internal: Bump the processing record version. * internal: Code reorganization to put less stuff in `sources.base`. * internal: Fix bug with the default source when listing `/` path. * internal: Make the simple page source use `slug` everywhere. * internal: Re-use the cached resource directory. * internal: Remove mentions of plugins directories and sources. * internal: Remove the (unused) `new_only` flag for pipeline processing. * internal: Removing some dependency of filters and iterators on pages. * pagination: Add support for `site/default_pagination_source`. * render: Add support for a Mustache template engine. * render: Don't always use a `.html` extension for layouts. * 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. ### 26.3 Project * build: Add `pystache` to `requirements.txt`. * docs: A whole bunch of drafts for content model and reference pages. * docs: Add a page explaining how PieCrust works at a high level. * docs: Add documentation on making a plugin. * docs: Add documentation on the asset pipeline. * docs: Add embryo of a documentation website. * docs: Add information about the asset pipeline. * docs: Add some general information on `chef`. * docs: Add the ability to use Pygments highlighting. * docs: Add website configuration page. * docs: Change docs' templates after changes in Jinja's wrapper. * docs: Documentation for iterators and filtering. * docs: Documentation on website structure. * docs: Fix URLs to the docs source. * docs: Fix link, add another link. * docs: Fix missing link. * docs: Last part of the tutorial. * docs: More on creating websites. * docs: More tutorial text. * docs: Pagination and assets' documentation. * docs: Properly escape examples with Jinja markup. * docs: Quick support info page. * docs: Still adding more pages. * docs: Still more documentation. * docs: Tutorial part 1. * docs: Tutorial part 2. * docs: Tweak CSS for boxed text. * docs: Website configuration reference. * tests: Add a blog data provider test. * tests: Add help functions to get and render a simple page. * tests: Add tests for Jinja template engine. * tests: Add utility function to create multiple mock pages in one go. * tests: Bad me, the tests were broken. Now they're fixed. * tests: Fix linker tests. * tests: Fix tests for base sources. * tests: Fixes for running on Windows. * tests: Patch `os.path.exists` and improve patching for `open`. * tests: Remove debug output. ### 26.4 Miscellaneous * Add bower configuration file. * Merge code changes. * Merge docs. * Temporary root URL for publishing. * Use the site root for docs assets. * bake/serve: Fix how taxonomy index pages are setup and rendered. * bake/serve: Make previewed and baked URLs consistent. * builtin: Remove `plugins` command, it's not ready yet. * cleancss: Add option to specify an output extension, like `.min.css`. * cosmetic: Fix PEP8 spacing. * cosmetic: Fix some PEP8 issues. * cosmetic: Fix some PEP8 issues. * cosmetic: PEP8 compliance. * dataprovider: Use the setting name for a taxonomy to match page config values. * jinja: Add a global function to render Pygments' CSS styles. * jinja: Fix Twig compatibility for block trimming. * jinja: Provide a more "standard" Jinja configuration by default. * less: Generate a proper, available URL for the LESS CSS map file. * logging: If an error doesn't have a message, print its type. * markdown: Let the user specify extensions in one line. * oops: Remove debug print. * processing: Add Compass and Sass processors. * processing: Add `concat`, `uglifyjs` and `cleancss` processors. * processing: Add ability to specify processors per mount. * processing: Add more information to the pipeline record. * processing: Don't fail if an asset we want to remove has already been removed. * processing: More powerful syntax to specify pipeline processors. * processing: Use the correct full path for mounts. * sitemap: Fix broken API call. * sitemap: Fixed typo bug. ## 27. PieCrust 2.0.0a5 (2015-01-03) ### 27.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. * find: Fix the `find` command, add more options. * paths: properly format lists of paths. * prepare: Show a more friendly user message when no arguments are given. * routes: Actually match metadata when finding routes, fix problems with paths. * routes: Show regex patterns for routes. * routes: When matching URIs, return metadata directly instead of the match object. * serve: Add option to use the debugger without `--debug`. * serve: Always force render the page being previewed. * sources: Add `chef sources` command to list page sources. * sources: Add an `IListableSource` interface for sources that can be listed. * sources: Make the `SimplePageSource` more extensible, fix bugs in `prose` source. ### 27.1 Core * linker: Actually implement the `Linker` class, and use it in the page data. ### 27.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. ### 27.4 Miscellaneous * Ability to output debug logging to `stdout` when running unit-tests. * Add Textile formatter. * Add `--log-debug` option. * Add `autoconfig` page source. * Add `compressinja` to install/env requirements. * Add `ctrlpignore` file. * Add `help` function, cleanup argument handling. * Add `import` command, Jekyll importer. * Add `sitemap` processor. * Add a `BakeScheduler` to handle build dependencies. Add unit-tests. * Add ability for the processing pipeline to only process new assets. * Add packaging and related files. * Add support for KeyboardInterrupt in bake process. * Add support for Markdown extensions. * Add the `paginate` filter to Jinja, activate `auto_reload`. * Added requirements file for `pip`. * Added unit tests (using `py.test`) for `Configuration`. * Allow adding to the default content model instead of replacing it. * Always use version generated by `setup.py`. Better version generation. * Apparently Jinja doesn't understand `None` the way I thought. * Better `prepare` command, with templates and help topics. * Better combine user sources/routes with the default ones. * Better date creation for blog post scaffolding. * Better date/time handling for pages: * Better error management and removal support in baking/processing. * Better error reporting and cache validation. * Better handling of Jinja configuration. * Better support for times in YAML interop. * Cache rendered segments to disk. * Changes to `help` command and extendable commands: * Changes to the asset processing pipeline: * Check we don't give null values to the processing pipeline. * Copy page assets to bake output, use correct slashes when serving assets. * Correctly match skip patterns. * Correctly set the `debug` flag on the app. * Correctly set the current page on a pagination slicer. * Cosmetic fix. * Define page slugs properly, avoid recursions with debug data. * Display page tags with default theme. * Don't colour debug output. * Don't complain about missing `pages` or `posts` directories by default. * Don't fail if trying to clean up a file that has already been deleted. * Don't look at theme sources in `chef prepare`. * Don't look for tests inside the `build` directory. * Don't recursively clean the cache. * Don't stupidly crash in the RequireJS processor. * Don't try to get the name of a source that doesn't have one. * Don't use Werkzeug's reloader in non-debug mode unless we ask for it. * Don't use file-system caching for rendered segments yet. * Error out if `date` filter is used with PHP date formats. * Exit with the proper code. * First draft of the `prose` page source. * Fix `setuptools` install. * Fix a bug with page references in cases of failure. Add unit tests. * Fix a bug with the posts source incorrectly escaping regex characters. * Fix a crash when checking for timestamps on template files. * Fix cache validation issue with rendered segments, limit disk access. * Fix error reporting and counting of lines. * Fix for pages listing pages from other sources. * Fix generation of system messages. * Fix how the `Paginator` gets the numer of items per page. * Fix how we pass the out directory to the baking modules. * Fix outdate information and bug in default theme's main page. * Fix post sources datetimes by adding missing metadata when in "find" mode. * Fix problems with asset URLs. * Fix running `chef` outside of a website. Slightly better error reporting. * Fix search for root folder. Must have been drunk when I wrote this originally. * Fix some bugs with iterators, add some unit tests. * Fix some indentation and line lengths. * Fix stupid bug in default source, add some unit tests. * Fix stupid bug. * Fix stupid debug logging bug. * Fix unit tests. * Fixed a bug with the `shallow` source. Add unit tests. * Fixed outdate information in error messages' footer. * Fixes for Windows, make `findPagePath` return a ref path. * Fixes to the `cache` Jinja tag. * Forgot this wasn't C++. * Get the un-paginated URL of a page early and pass that around. * Gigantic change to basically make PieCrust 2 vaguely functional. * Give the proper URL to `Paginator` in the `paginate` filter. * Handle the case where the debug server needs to serve an asset created after it was started. * I don't care what the YAML spec says, ordered maps are the only sane way. * Ignore `setuptools` build directory. * Ignore messages' counter. * Improvements and fixes to incremental baking. * Improvements to incremental baking and cache invalidating. * In-place upgrade for PieCrust 1 sites. * Initial commit. * Jinja templating now has `spaceless`, `|keys` and `|values`. * Make a nice error message when a layout hasn't been found. * Make configuration class more like `dict`, add support for merging `dicts`. * Make sure `.html` is part of auto-formats. * Make template directories properly absolute. * Make the `Assetor` iterate over paths. * Match routes completely, not partially. * Mock `os.path.isfile`, and fix a few other test utilities. * More PieCrust 3 fixes, and a couple of miscellaneous bug fixes. * More Python 3 fixes, modularization, and new unit tests. * More installation information in the README file. * More options for the `showrecord` command. * More robust Markdown configuration handling. * More unit tests for output bake paths. * More unit tests, fix a bug with the skip patterns. * Moved all installation instructions to a new `INSTALL` file. * New site layout support. * Oops. * Optimize server for files that already exist. * Pass date information to routing when building URLs. * PieCrust 1 import: clean empty directories and convert some config values. * Prepare the server to support background asset pipelines. * Print the help by default when running `chef` with no command. * Processors can match on other things than just the extension. * Proper debug logging. * Properly add the config time to a page's datetime. * Properly escape HTML characters in the debug info, add more options. * Properly override pages between realms. * Properly use, or not, the debugging when using the chef server. * Propertly create `OrderedDict`s when loading YAML. * Property clean all caches when force baking, except the `app` cache. * PyYAML supports sexagesimal notation, so handle that for page times. * Quick fix for making the server correctly update referenced pages. * Re-arranged modules to reduce dependencies to builtin stuff. * Re-enable proper caching of rendered segments in server. * Remove unneeded trace. * Setup the server better. * Simple importer for PieCrust 1 websites. * Simplify `AutoConfigSource` by inheriting from `SimplePageSource`. * Slightly better exception throwing in the processing pipeline. * Slightly more robust dependency handling for the LESS processor. * Split baking code in smaller files. * Support for installing from Git. * Switch the PieCrust server to debug mode with `?!debug` in the URL. * The LESS compiler must be launched in a shell on Windows. * The `date` filter now supports passing `"now"` as in Twig. * Unused import. * Update system messages. * Update the `requirements` file. * Upgrade system messages to the new folder structure. * Upgrade to Python 3. * Use `SafeLoader` instead of `BaseLoader` for Yaml parsing. * Use cache paths that are easier to debug than hashes. * Use ordered dictionaries to preserve priorities between auto-formats. * Use properly formatted date components for the blog sources. * Use the `OrderedDict` correctly when fresh-loading the app config. * Use the item name for the `prepare` command. * Use the same defaults as in PieCrust 1. * Various fixes for the default page source: * When possible, try and batch-load pages so we only lock once. * cosmetic: pep8 compliance.