.yml中的设置不会显示在呈现的.Rmd

时间:2018-04-11 11:50:27

标签: r r-markdown knitr

我正在制作R Markdown website。但是,我在设置文档的输出样式样式时遇到问题。

我的_site.yml输出参数如下所示:

output:
  bookdown::html_document2:
    toc: true
    toc_float: true
    theme: flatly
    highlight: tango
    df_print: paged
    include:
      in_header: "header.html"
      after_body: "footer.html"
    css: "./assets/style.css"

我在同一目录中有一些 .Rmd 文件,这些文件具有简单的YAML问题:

---
title: "A title"
subtitle: "A subtitle"
author: "Name"
---

我渲染网站rmarkdown::render_site()。网站和网页有效,但呈现的 .Rmd 文件不显示_site.yml文件中定义的设置(toc,主题,突出显示等)和css样式。页眉和页脚也不显示。已经验证了header.html,footer.html和style.css的路径/位置。

我是否必须在每个.Rmd文件中指定输出设置?

1 个答案:

答案 0 :(得分:1)

问题似乎来自使用bookdown::html_document2而不是rmarkdown函数html_document

使用RStudio here提供的模板,我对设置进行了一些修改,添加了theme: flatly

name: "my-website"
navbar:
  title: "My Website"
  left:
    - text: "Home"
      href: index.html
    - text: "About"
      href: about.html
output:
  html_document:
    highlight: textmate
    theme: flatly
    include:
      after_body: footer.html
    css: styles.css

enter image description here

html_document

替换bookdown::html_document2()

enter image description here

查看render_site函数的source code,似乎无法解析除html_document之外的任何其他输出。实际上,当提供bookdown::html_document2()时,它会将_site.yml文件覆盖为:

name: my-website
navbar:
  title: My Website
  left:
  - text: Home
    href: index.html
  - text: About
    href: about.html
output:
  html_document:
    lib_dir: site_libs
    self_contained: no
output_dir: _site
  

如果您希望在网站中使用html_documents2,您应该查看blogdown