我正在使用带有 Markdown 的鹈鹕。我将博客文章创建为foo.md
文件,如下所示:
Title: Light, by Kelly Link
Date: 2015-09-07 21:18
Blah blah ...
我希望标题中的一个词用斜体显示,但我不能在该Title:
字段中使用降价(如果我写*Light*, by Kelly Link
它是按字面解释的。我是否必须更改主题才能做到这一点?
因此,我相信 Pelican 中的相关代码部分是readers.py
(从第 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)
简而言之,Pelican 正在寻找是否应该在编写 Markdown 字段之前对其进行解析(title
是 的一部分meta
dict
)。基于此,看起来您需要做的就是确保您title
在FORMATTED_FIELDS
设置中拥有。
谢谢,很有帮助!我这样做了,但现在由于某种原因
<p></p>
,Pelican 将格式化文本包装在其中有很大的余量。– Eli Rose 2015 年 9 月 8 日 2:26
您通常可以通过将主题的 html 页面中的变量<p></p>
修改为. 这解决了 Typogrify 有时会产生的其他几个问题(例如标题中的全大写部分)。title
title|striptags
例如:
{% for p in PAGES %}
<li{% if p == page %} class="selected"{% endif %}><a href="{{ SITEURL }}/{{ p.url }}">{{ p.title|striptags }}</a></li>