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">↩</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>
由于 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">↩</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>