6

我一直在尝试在我的 Hexo 帖子中插入脚注(如果他们的标记语言相关,则用 Markdown 编写)。我来自使用 Jekyll 为我的网站提供动力的背景,当我使用 Jekyll 时,我会在文本中添加[^n](其中 n 是一个正整数,即 n ∈ {1,2,3,...})和类似的内容:

[^1]: footnote #1
[^2]: footnote #2
[^3]: footnote #3
...

在帖子的末尾,将footnote #1, #2,#3等替换为我的实际脚注而使用 Hexo 时,事情似乎有点复杂。我在https://hexo.io/plugins/寻找了一个脚注插件,但我可能会添加不成功,然后我使用谷歌搜索答案并找到了这个要点https://gist.github.com/kuanyui/d1728c2a526a615de56c。我试图通过将它添加到我的 Hexo 站点的script文件夹中来使用这个要点,但这失败了(有关完整的错误详细信息,请参阅要点,因为我在那里评论了详细信息)。然后,我尝试了一个 HTML 技巧,通过检查我的 Jekyll 帖子的生成内容,这些内容通过上述方法添加了脚注。即,添加:

<sup id="fnref:n"><a href="#fn:n" class="footnote">n</a></sup>

(其中 n 又是一个正整数)在我希望我的脚注出现的文本中,并且:

<ol>
  <li id="fn:1">Footnote #1.<a href="#fnref:1" class="reversefootnote">↩&lt;/a></li>
  <li id="fn:2">Footnote #2.<a href="#fnref:2" class="reversefootnote">↩&lt;/a></li>
  <li id="fn:3">Footnote #3.<a href="#fnref:3" class="reversefootnote">↩&lt;/a></li>
  ...
</ol>

到帖子的结尾。问题是这种方法虽然有效,但也很乏味(即,每个脚注需要比我想要的更多的输入),所以我尝试创建这个 ejs 模板(对应于文本脚注),我放在我的layouts文件夹中,名称为footnotes.ejs

<sup id ="fnref:<%= n %>"><a href="#fn:<%= n %>"><%= n %></a></sup>

并将其插入我的帖子中:

<%- include('layouts/footnotes', {n:1}); %>

但这也失败了(失败的意思是当我生成我的 hexo 网站时,这个文本引用完全没有格式化)。

所以我在这里寻求一种更有效的方法来将脚注插入到 Hexo 帖子中。也就是说,每个脚注需要尽可能少的打字。

4

1 回答 1

7

我刚刚创建了一个 hexo-plugin 来支持 markdown 脚注:

所以,你只需要安装包

npm install hexo-footnotes --save

如果 Hexo 自动检测所有插件,就这样。

如果不是这种情况,请在您的_config.yml文件中注册插件:

plugins:
  - hexo-footnotes

这是语法

basic footnote[^1]
here is an inline footnote[^2](inline footnote)
and another one[^3]
and another one[^4]

[^1]: basic footnote content
[^3]: paragraph
footnote
content
[^4]: footnote content with some [markdown](https://en.wikipedia.org/wiki/Markdown)

这是结果

脚注

于 2016-04-21T12:32:54.977 回答