Jekyll on Github Pages:如何在脚注中包含外部内容?

时间:2018-05-22 12:22:09

标签: jekyll github-pages

由于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">&#8617;</a></p>
    </li>
  </ol>
</div>

显然,期望的结果是将所包含的内容放在<li>块中。

这是不是有效的原因?有没有办法让它按预期工作?

1 个答案:

答案 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>