PieCrust 2.0rc2 was published a couple days ago, and it’s mostly a bug fix and clean-up release, as you might expect. Run your
pip install piecrust --pre -U to update, or whatever you do usually. More info after the jump.
Since there are mostly bug fixes in this release, there’s only a few small user-facing change to discuss here.
Are you using the recent new publishing features? You should! Now there’s an SFTP publisher. See the publishers reference for details.
Simplified URL functions
I did some simplification of the way URL routing is handled. The biggest change is that URL functions now don’t need to specify their parameters. Here’s how it works:
- You define a custom source… for instance the PieCrust documentation site defines 2 separate sources, one for the user documentation and one for the API documentation.
- In the routes defined for those 2 sources, you can specify a
funcproperty which is the name of a function available through the template engine to generate URLs for these routes. In the aforementioned documentation configuration, these functions are
apiurl(so one documentation page can link to another by writing
- The parameters to pass to the URL function are the same as the placeholders in the URL itself… so if the route is
/blog/%year%/%slug%, you need to pass the year and the slug into the function (
You can see the (updated) documentation on routes for more details.
Merged taxonomy terms
By default, PieCrust “*slugifies*” your taxonomy terms (like tags) using URL encoding, so that something like “étrange” (“strange” in French… not the accented first letter) is transformed into “%C3%A9trange” (which your browser will properly show as “étrange”).
However, you can also tell PieCrust to do different slugification1, with the
site/slugify_mode configuration setting. So say you set it to
lowercase,transliterate… it will transform your tag names to lowercase and replace accented and non-latin characters with their closest equivalent. In this case, “étrange” gets slugified to “etrange” (without the accent), and “Technology” gets replaced with “technology” (lowercase).
Of course, it means that 2 slightly different tags can resolve to the same slugified tag – for example, “étrange” and “Etrange”. In this case, PieCrust will now warn you that you spelled things differently in some pages, but will combine both – i.e. the page listing for the term “étrange” will also list the posts where you spelled it “Etrange”.
As always, the full list of changes is available on the CHANGELOG.
Yes, that’s totally a word a made up. ↩