我正在使用knitr
创建一堆HTML文件,可以将其视为主文档的单独章节。在我创建了所有这些章节之后,我想创建一个文件,其中每个HTML文件都是一个在另一个之下。
我能想到这样做的唯一方法是集成所有模板以创建一个主模板,配置图像的所有路径等,以便它们在主模板的一部分时仍然有效,然后进行编译。这听起来很费劲,我希望有更好的解决方案。
有什么想法吗?
根据knit_html
建议,于2014年1月22日增加:
我的文件夹结构是这样的 -
./Templates/Chapter1.Rmd
./Templates/Chapter2.Rmd
./Client1/Chapter1/Chapter1.html
./Client1/Chapter2/Chapter2.html
./Client2/Chapter1/Chapter1.html
./Client2/Chapter2/Chapter2.html
Rmd在客户端文件夹中不存在,甚至不知道编织的路径,直到我调用它并具体告诉它要编织到哪个文件夹。
现在我需要./Templates/CompileItAll.Rmd
来生成./Client1/Compiled.html
和./Client2/Compiled.html
。我认为底层是可行的,但确实如此,但它在每个子节点的开头添加<!DOCTYPE html>
,可以在输出中看到。我尝试指向md
文件,添加了rmd
文字,但由于某种原因省略了来自./Client/Chapter/*
的来源图片 -
```{r child='../Client1/Chapter1/Chapter1.html'}
```
```{r child='../Client1/Chapter2/Chapter2.html'}
```
我做错了吗?
我也试过下面的代码,也省略了源图像。 (我知道这些代码中的路径不起作用,但为了简单起见我保持这种方式,我认为意图很明确)
```{r}
setwd('./Client1/Chapter1')
```
```{r child='./Templates/Chapter1.Rmd'}
```
答案 0 :(得分:0)
不是knitr
解决方案,但可能有用:要简单地加入一堆HTML文件,您可以使用pandoc。如果您将以下代码输入终端,则会将两个文件合并为一个。
pandoc -f html -t html -o file.html file1.html file2.html
但我怀疑这种方法会给你一个不错的布局。它只是连接的内容,仅此而已。我同意@daroczig对此的评论。