html模板和CSS主题/突出显示的完全本地自定义

时间:2019-04-27 18:08:11

标签: templates r-markdown knitr pandoc

我目前正在研究R Markdown配置和HTML输出的可能性。我的目标是拥有一个本地html模板以及一个本地CSS主题文件,其行为与在yaml配置中选择主题/突出显示选项的行为完全相同。

我使用了以下配置:

output:
  html_document:
    theme: united
    highlight: tango
    toc: true
    toc_depth: 3
    toc_float: # set to false if you do no want a floating toc
    collapsed: true
    smooth_scroll: true

我现在希望能够自己定制HTML结构和CSS。我从HTML模板开始,如下所示:

下载了标准pandoc HTML5 template并将其复制到本地template.html文件中。我将配置更改为

output:
  html_document:
    template: template.html
    theme: united
    highlight: tango
    toc: true
    toc_depth: 3
    toc_float: # set to false if you do no want a floating toc
    collapsed: true
    smooth_scroll: true

存在几个问题:

  • 目录不再显示
  • 输出的呈现HTML设计发生了变化,也就是说,我一点都没有余地-所有的javascript功能都消失了,因此没有DT支持,没有制表符,没有滚动等。

我的问题是:如何实现与配置之前完全相同的设计和功能,但是将模板/主题/突出显示文件存储在本地? (因此,template.html和styles.css以及所有需要的JS文件)

让我知道是否需要提供更多详细信息。谢谢!

1 个答案:

答案 0 :(得分:1)

您链接到的Pandoc默认值不是rmarkdown中使用的默认值。该版本存储在system.file("rmd/h/default.html", pkg = "rmarkdown")中,当前版本在线https://github.com/rstudio/rmarkdown/blob/master/inst/rmd/h/default.html

如果您决定修改默认模板,还应该研究rmarkdown::html_document的来源。如果template != "default",还必须进行一些其他更改。