75

我最近切换到在 Github Pages 上为我的各种博客使用 Jekyll,并且喜欢我可以将 Markdown 推送到 Github 并由他们处理。我想继续以这种方式使用它(而不是在本地运行 Jekyll 并将预生成的站点推送到 Github),因为如果我不在自己的机器上,Github UI 可以很容易地添加和调整帖子。

只有一件事我无法弄清楚:我无法让 Markdown 脚注起作用。我正在使用这种风格:

I bet you'd like more information about this sentence [^1].

[^1]: Well lucky for you, I've included more information in footnote form.

我确实找到了一篇文章(某处)建议为 redcarpet markdown 处理器启用脚注扩展,但这也没有这样做:

markdown: redcarpet
redcarpet:
  extensions: ["footnotes"]

有没有办法在将静态站点推送到 Github 之前使用 Markdown 脚注而不预先生成静态站点?

4

4 回答 4

70

我使用 kramdown 进行降价解析,它可以很好地处理脚注。

更改_config.yml文件中的这一行:

markdown: redcarpet

到:

markdown: kramdown
于 2013-10-22T01:32:25.443 回答
37

从 Jekyll 3.0.0 开始,kramdown 是默认的 Markdown 处理器,因此 OP 问题中的示例现在可以开箱即用。模式是:

Some text[^1].

Some other text[^2].

The identifier in the square brackets does not have to be numeric[^my_footnote].

[^1]: Some footnote.
[^2]: Other footnote.

[^my_footnote]: This also works fine.

2020 年 1 月 3 日更新:

于 2018-01-14T14:25:47.280 回答
7

红地毯

当您想使用时redcarpet,现在似乎没有方便的解决方案。尽管Redcarpet 3 支持您使用的语法的脚注,但它并未包含在 Jekyll 中,因为 Redcarpet 3 删除了 Ruby 1.8 兼容性(来源)。

解决方案 1:使用分叉的 Redcarpet 2

请参阅Jerod Santo 的此解决方案

添加一个名为GemfileJekyll 文件夹根目录的文件,内容如下:

source "https://rubygems.org"

gem "jekyll"
gem "redcarpet", github: "triplecanopy/redcarpet"

或者djui/redcarpet

然后调整你_config.yml

markdown: redcarpet
redcarpet:
  extensions: [footnotes]

解决方案 2:Fork Jekyll 并包含 Redcarpet 3

我不知道最简单的方法是什么。欢迎评论。

丸久

似乎支持脚注(sourcesource)。

于 2014-01-21T18:26:45.053 回答
0

我找到了jekyll Github orangejulius/jekyll-footnotes的插件。愿它解决问题。

另外,我今天刚刚读到一篇博客文章,Github 改进了脚注。

于 2021-09-30T18:47:15.500 回答