New PieCrust features
After several release candidates1 , I finally updated PieCrust to version 0.0.4.
There are quite a few nice new things in it:
- pattern-based ability to skip files from baking
- pagination filtering
- multi-tag pages
- multi-blog support
- various bug fixes and optimizations
More details after the break.
“Skip patterns” for the baker
As part of the ongoing PieCrust cookbook, I blogged about previewing a baked site in IIS or Apache. Back then I mentioned how just one piece was missing to make it simpler: the ability to specify a pattern for files to exclude from baking. Well, I did just that.
Now, in your site configuration, you can specify an array of skip_patterns
in the baker
category. See the documentation for more info.
Pagination filtering
If you have a page that displays a list of posts, you can now do some custom filtering for those posts. In that page’s configuration header, add a section called posts_filters
like such:
posts_filters:
has_tags: piecrust
has_tags: cookbook
This will only list blog posts that have both the “piecrust
” and “cookbook
” tags. This is useful for example if you only want to display important annoucements on your homepage, and have a separate “news” page with all the posts.
For more info, check out the documentation on pagination.
Multi-tag pages
Edit: in PieCrust 1.0RC and above, the multi-tags syntax changed!
PieCrust can generate tag pages, like for example the page listing all my posts related to PieCrust. However, if you want to generate a page that shows all the posts related to the PieCrust cookbook, you would have to specify two tags ("piecrust
" and “cookbook
”)… that is, assuming you really didn’t want to create specific “piecrust-cookbook
” tag.
This is now possible by separating tags with a /
like so: cookbook/piecrust
. Try it!
If you’re using Twig, the default template engine, or Dwoo, one of the optional ones, it means you can use the pctagurl
like so:
{{ pctagurl('cookbook/piecrust') }}
The only limitation is when you bake your site: only tag combinations that you insert with the Twig or Dwoo pctagurl
functions will be baked. Since you should always insert links with the pc*
functions, it should be all right, but you may want to link to a tag combination from outside your website. If that’s the case, you can specify custom tag combinations to be baked. Check the documentation for more details.
Multi-blog support
PieCrust now also supports multiple blogs in the same website. I debated with myself for quite a long time before adding this feature. On one hand, it felt a bit too complicated for a system that’s supposed to feel simple and natural, but on the other hand, well, I needed it. And after much pondering, I figured out a way to make it rather simple to the user. I think. Maybe. Hopefully.
Anyway, if you have a single-blog site, you don’t have to change anything (yay!). If you want more than one blog… go check out the documentation on multi-blog sites!
Other changes
Other changes include a more clever cache validation mechanism, some new debugging features, and many bug fixes.
-
a.k.a: Ludovic doesn’t test his shit enough before applying a version tag. ↩︎