.Rmarkdown to .markdown:使用{{&lt;图&gt;}}短代码而不是<img/> HTML

时间:2017-09-19 12:57:33

标签: r knitr r-markdown hugo blogdown

我一直在考虑将博客用于现有的Hugo博客,我认为我已将其缩小为一个缺点。我正在使用.Rmarkdown文件扩展名,因为我想使用Blackfriday降价处理器来利用Hugo功能。

其中包括我已添加到我的主题中的自定义,它使用嵌入了内置短代码的任何图像使用PhotoSwipe使它们在点击时出现在灯箱中。我使用{{&lt;&lt;&lt;&lt;&lt;图&gt;}}短代码就是这样做的。

是否可以通过blogdown或knitr(假设knitr是呈现Rmarkdown的过程的一部分)来自定义绘图的输出,以便它们包含在短代码而不是HTML标记中?我认为甚至有可能使用Go / Blackfriday这样做,如果我至少可以在Markdown ![](/path/to/img.jpg)中格式化图表,如果这样会更容易。

1 个答案:

答案 0 :(得分:5)

有两种方法:重新定义the plot hook of knitr(需要更多关于 knitr 的知识),或使用以下技巧:

```{r cars-plot, fig.show='hide'}
plot(cars)
```

{{< figure src="`r knitr::fig_chunk('cars-plot', 'png')`" >}}

在上面的示例中,绘图已生成但隐藏在块输出中(fig.show='hide';如果要隐藏整个代码块,请使用include=FALSE)。然后通过函数knitr::fig_chunk()检索其路径,并将其插入figure短代码。