I'm using Pelican with Markdown. I create blog posts as foo.md
files, which look like this:
Title: Light, by Kelly Link
Date: 2015-09-07 21:18
Blah blah ...
I would like a word in the title to be italicized, but I can't use markdown in the Title:
field (if I write *Light*, by Kelly Link
it's interpreted literally. Do I have to change the theme in order to do this?
So, the relevant section of code in Pelican is, I believe, the following from readers.py
(starting c. line 183):
def _parse_metadata(self, meta):
"""Return the dict containing document metadata"""
formatted_fields = self.settings['FORMATTED_FIELDS']
output = {}
for name, value in meta.items():
name = name.lower()
if name in formatted_fields:
# handle summary metadata as markdown
# summary metadata is special case and join all list values
summary_values = "\n".join(value)
# reset the markdown instance to clear any state
self._md.reset()
summary = self._md.convert(summary_values)
output[name] = self.process_metadata(name, summary)
In short, Pelican is looking to see if it is supposed to parse Markdown fields before writing them (title
is part of the meta
dict
). Based on that, it looks like all you need to do is make sure that you have title
in your FORMATTED_FIELDS
setting.