与杰基尔的脚注中的knitr chunk

时间:2016-03-15 18:54:11

标签: r jekyll knitr pandoc

kramdown markdown documentation我读到我可以通过缩进脚注中的下一行来插入多行脚注。我试着像这样在脚注中插入一个knitr chunk:

---
title: "test"
output: html_document
layout: post
---
My text[^1]

[^1]:This should appear in a footnote:
    ```{r}
    runif(1:10)
    ```

直接使用knitr编译脚注时,这是有效的: footnote generated by jekyll

如果我让jekyll编译它,它看起来不一样:

enter image description here

代码块实际上不在脚注中。它在它上面。它是缩进的,因为它没有被正确识别为脚注注释。

config.yaml我定义了markdown: kramdown

2 个答案:

答案 0 :(得分:1)

Knitr在引擎盖下使用pandoc。要使用Jekyll获得相同的输出,您应该使用jekyll-pandoc,因此在config.yaml而不是markdown: kramdown然后使用markdown: pandoc

答案 1 :(得分:1)

正如@ mb21指出切换markdown: kramdownpandoc使得jekyll默认使用与knitr相同的降价编译器。您必须先安装jekyll-pandoc gem。最好使用bundler:

根据bundler.io,在命令行中:

gem install bundler
cd /path/to/my/project
bundle init

根据jekyll-pandoc

nano Gemfile

用以下内容覆盖:

source "https://rubygems.org"

gem "jekyll-pandoc"

保存。

然后:

bundle install

这将安装jekyll-pandoc和所有依赖项。

在您的项目中,将其添加到_config.yaml

# Build settings
gems:
  - jekyll-pandoc
markdown: pandoc

(替换markdown: kramdown)。

要生成您的站点,请在R:

中使用此命令
servr::jekyll(command="bundle exec jekyll build")