使用R Markdown 2
和YAML include
语句,我可以使用in_header
,before_body
和{{}轻松自定义标题部分,正文部分的开头和结尾1}}分别如RMarkdown docu。
after_body
如何为---
title: "Habits"
output:
html_document:
includes:
in_header: header.html
before_body: doc_prefix.html
after_body: doc_suffix.html
---
部分执行相同的操作? (输出应该是HTML)
类似的问题已被问及here PDF文件,还有另一个PDF here的答案。尽管如此,由于我对pandoc的了解太有限,我无法将解决方案转移到HTML页脚。
谢谢你的时间!
答案 0 :(得分:0)
这是一种使用R手动将HTML注入页脚的解决方法。在生成这些文档以获取自定义页脚之后,将其运行在我的所有文档中。仍然需要YAML-Pandoc解决方案。
library(stringr)
library(shiny) # for HTML function
函数inject_code_after_body_tag
将在HTML文件中读取并在最终正文标记后添加页脚部分。
inject_code_after_body_tag <- function(file, include)
{
file.lines <- readLines(file, warn = FALSE, encoding = "UTF-8")
include.lines <- readLines(include, warn = FALSE, encoding = "UTF-8")
inc <- HTML(paste(include.lines, collapse = "\r\n"))
l <- str_replace(file.lines,
perl("(?<=</body>)"),
inc)
HTML(paste(l, collapse = "\r\n"))
}
现在,读入文件并从footer.html注入代码
code <- inject_code_after_body_tag(file = "index.html", include = "include/footer.html")
最后,将新代码写回index.html
文件
writeLines(code, "index.html")