I'm using Jinja2 templates with my new Pelican-based articles. If you have Django experience, you'll feel right at home using Jinja2 templates. I decided early on that I wanted to create my own theme from scratch and keep it as basic as possible. (In fact, 'basic' is the name of my theme.) One of the early things I've struggled with is how to handle certain
<meta> tags. The 'description' tag has been especially interesting.
My first attempt was to set the description using metadata in my markdown file. That looked something like this:
That solution works fine, but requires me to set a description in the metadata
of every article. I'm lazy, so an easier solution would be preferable. The
answer to that is Pelican's summary feature (invoked via
The length of the summary is controlled by the
SUMMARY_MAX_LENGTH setting and
defaults to 50 words. Here's how the code changed once I decided to use
The important bit here is to pass
article.summary through the
filter. That will ensure that any HTML tags you might have included will get
removed. If those appear inside your
meta tag content, it will wreak havoc
on how your site displays.