由于Github Pages上没有Jekyll-Scholar,我正在尝试使用kramdown脚注和include来找到一种具有某种参考书目功能的解决方法。我想留在Github Pages工作流程中,而不是在本地编译网站。
我有一个包含_data/biblio.yaml
中所有引用的集合:
- authors: Me, Her and Him
title: A Serious Article
key: ref1
在page1.md
我有:
This is a sentence with a citation[^1]
[^1]:
{% include citation.html key="ref1" %}
在_includes/citation.html
我有一个引文模板:
{% assign citation = site.data.biblio | where:"key", include.key | first %}
<span class="cit-authors">{{citation.authors}}</span>, <span class="cit-title">{{citation.title}}</span>
这不起作用,因为在编译之后,引用在之前呈现而在内部呈现脚注定义:
<p>
<span class="cit-authors">Me, Her and Him</span>, <span class="cit-title">A Serious Article</span>
</p>
<div class="footnotes">
<ol>
<li id="fn:1">
<p><a href="#fnref:1" class="reversefootnote">↩</a></p>
</li>
</ol>
</div>
显然,期望的结果是将所包含的内容放在<li>
块中。
这是不是有效的原因?有没有办法让它按预期工作?
答案 0 :(得分:0)
在_includes/citation.html
中,你的assign语句引入了一个无用的换行符,它打破了kramdown解析。
您可以删除assign和html之间的换行符
{% assign citation = site.data.biblio | where:"key", include.key | first %}<span class="cit-authors">{{citation.authors}}</span>, <span class="cit-title">{{citation.title}}</span>
或使用新液体whitespace control({%- tag -%}
)
{%- assign citation = site.data.biblio | where:"key", include.key | first -%}
<span class="cit-authors">{{citation.authors}}</span>, <span class="cit-title">{{citation.title}}</span>