使用YAML参数:在HTML模板中

时间:2017-09-23 03:02:05

标签: r yaml knitr r-markdown pandoc

我正在尝试使用RStudio中的rmarkdown和knitr自动化一些文档制作。我的rmarkdown文档有一个YAML标题,它包含一个'params:'对象,我在文档中使用它来参数化我的分析。所以YAML部分看起来像这样:

---
title: 'My Doc Title'
project: 'My project name'
subject: 'Some subject description'

params:
    inputFile: 'notYetDefined'
    inputYear: '00'

---

我正在调用此YAML代码所在的.rmd文件,使用另一个r脚本文件:

rmarkdown::render('myRMarkdown.rmd', params = list(inputFile = 'inputs1.txt'))

这使我能够将参数的值传递给.rmd以便在文件中使用。 这在r块中很有用(例如params $ inputFile)但是当我尝试在HTML模板中使用这些params时,在调用rmarkdown :: render()时传递的params的值被忽略,而是使用默认的值。

因此,如果HTML模板如下所示:

<div id="coverTitles">
    $if(project)$
        <p id="coverTitle">$title$</p>
        $if(subject)$
            <p id="coverSubtitle">$params.inputFile$</p>
        $endif$
    $endif$
</div>

我得到了输出:

  

我的文件标题

     

notYetDefined

当我真正想要的时候:

  

我的文件标题

     

inputs1.txt

'inputs1.txt'希望来自rmarkdown :: render()调用,并在编织时传递给HTML模板。

任何人都可以帮助我在模板上正确传递'inputs1.txt'参数进行渲染吗?

0 个答案:

没有答案