【问题标题】:knitr chunk in footnote with jekyll脚注中的 knitr 块与 jekyll
【发布时间】:2016-03-15 18:54:10
【问题描述】:

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

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

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

这在直接使用 knitr 编译脚注时有效:

如果我让 jekyll 编译它,它看起来会有所不同:

代码块实际上不在脚注中。它在它之上。并且像这样缩进没有正确识别为脚注注释。

config.yaml 中我定义了markdown: kramdown

【问题讨论】:

    标签: r jekyll knitr pandoc


    【解决方案1】:

    Knitr 在后台使用pandoc。要使用 Jekyll 实现相同的输出,您应该使用 jekyll-pandoc,因此使用 config.yaml 而不是 markdown: kramdown 然后是 markdown: pandoc

    【讨论】:

    • 好提示。我安装了jekyll-pandoc 并让它工作(见我的回答)。然而,编译我的帖子比使用 knitr 或使用 kramdown 的 jekyll 需要更长的时间......实际上很长。
    【解决方案2】:

    正如@mb21 指出的那样,将markdown: kramdown 切换为pandoc 使得jekyll 使用与knitr 默认情况下相同的markdown 编译器。您必须先安装 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")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-02
      • 2018-08-24
      • 1970-01-01
      相关资源
      最近更新 更多