Mercurial > piecrust2
view CHANGELOG.rst @ 1195:ae9387338db1 draft default tip
admin: add option to publish immediately
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Fri, 30 Dec 2022 16:48:04 -0800 |
parents | 5f9f411a109e |
children |
line wrap: on
line source
######### CHANGELOG ######### This is the changelog for PieCrust_. .. _PieCrust: http://bolt80.com/piecrust/ ================================== 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.