如何筛选R标记模板标题以防止资源版本冲突?
我已经设置了一个自定义的R-markdown template.html,它使用bootstrap v4.1.0 这一切都很好,直到我在模板html如何筛选R标记模板标题以防止资源版本冲突?,r,twitter-bootstrap,header,r-markdown,R,Twitter Bootstrap,Header,R Markdown,我已经设置了一个自定义的R-markdown template.html,它使用bootstrap v4.1.0 这一切都很好,直到我在模板htmlhead中添加了以下内容: $for(header-includes)$ $header-includes$ $endfor$ (这来自default.html文件,用于修复加载plotly图形时的模板错误),其中包括加载bootstrap v3.3.5 问题是,现在我的格式正在做一些有趣的事情:菜单栏未对齐和字体太小。我认为这是因为加载了两个
head
中添加了以下内容:
$for(header-includes)$
$header-includes$
$endfor$
(这来自default.html文件,用于修复加载plotly图形时的模板错误),其中包括加载bootstrap v3.3.5
问题是,现在我的格式正在做一些有趣的事情:菜单栏未对齐和字体太小。我认为这是因为加载了两个版本的引导,尽管引导v4.1.0是第二个加载的,应该优先加载
我想我需要在for循环的模板head
中添加一个过滤器,这样我就可以排除早期版本,但不确定如何排除。这个问题把我难住了
或者,我如何检查/定义针织物的$头包含$
部分中包含的内容
可以在上安装当前版本的包以查看可复制的示例(我想不出如何在这里提供可复制的模板示例)
更新
多亏了-如果我将theme:null
添加到yaml标题中,我的格式问题得到了解决(bootstrap v3.3.5默认情况下不加载)-但我使用toc_float:true
从文档标题生成引导菜单,这显然需要一个主题:
函数(toc=FALSE,toc\u depth=3,toc\u float=FALSE,number\u sections=FALSE)中出错:指定“toc\u float”选项时必须使用主题
谢谢。我通过删除以下三行找到了解决此问题的方法:
$for(header-includes)$
$header-includes$
$endfor$
并手动链接到依赖项
我可以通过设置self\u contained:false
来获取这些文件,这允许r-markdown将所有依赖项/外部文件放在一个目录中;我将它们复制到我的资产目录中,并在template.html文件中引用它们的路径。我下载了这些文件,并在可能的情况下链接到更新版本。一切似乎都正常工作正如所料
我的问题是这个解决方案不够健壮。当将来的文档需要一个当前未手动导入的依赖项时,它将失败。此外,在模板的当前表单中,我有一堆绘图文件,我所做的每一件工作都不需要这些文件
很明显,我可以为每个项目定制模板,但这种做法违背了模板制作的目的,不是吗