Github 页面上的 Jekyll:如何在脚注中包含外部内容?

Jekyll on Github Pages: how to include external content inside footnotes?

由于 Jekyll-Scholar 在 Github 页面上不可用,我正在尝试使用 kramdown 脚注和包含找到具有某种参考书目功能的解决方法。我想留在 Github 页面工作流程中,而不是在本地编译网站。

我有一个集合,其中包含 _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> 块中。

为什么这不起作用?有什么办法可以让它按预期工作吗?

_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>