我想列出我用来构建我的模型的乐高套装,就像标签一样,但是在单独的列表中。根据鹈鹕文件,这应该是可能的。但是当我运行pelican content
时,我得到了
Tags
Animal / Duplo / MOC
Sets
1/0/5/7/1
而不是
Tags
Animal / Duplo / MOC
Sets
10571
我通过将{% include 'includes/setlist.html' %}
添加到article_info.html
来修改了Daan Debie中的pelican-bootstrap theme。
这就是我的setlist.html
文件:
{% if article.sets %}
<span class="label label-default">Sets</span>
{% for set in article.sets %}
<a href="{{ SITEURL }}/{{ set.url }}">{{ set }}</a>
{% if not loop.last %}
/
{% endif %}
{% endfor %}
{% endif %}
这是我的降价文件的样子:
标题:Girafe
日期:2015-11-29 14:22:20
修改时间:2015-11-29 14:22:27
类别:
标签:动物,Duplo,MOC
套装:10571
S :: girafe
作者:Yann Baumgartner![GIRAFE] [GIRAFE]
[girafe]:{filename} /images/girafe.jpg“Girafe”
我在stackoverflow上阅读了所有鹈鹕问题,但找不到答案。我尝试了以下方法:
set_numbers
的名称无效。set.url
无效。我错过了什么(模板文件,jinja2过滤器)?任何提示都会非常感激。
答案 0 :(得分:1)
pelican
不会处理任何非标准元数据。它将被保留为字符串。因此,article.sets
将是包含"10571"
的单个字符串。如果你循环使用它,你将获得单独的字符。您需要通过插件或模板内部自己处理它,如:
{% if article.sets %}
<span class="label label-default">Sets</span>
{% for set in article.sets.split(',') %}
{{ set|trim }}
{% if not loop.last %}
/
{% endif %}
{% endfor %}
{% endif %}
PS :另外,我不确定您对set.url
的期望。同样,由于鹈鹕不会对您的自定义元数据做任何特殊处理,因此它将是基本字符串,并且它不会有url
。