2

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

其中包括我添加到我的主题中的自定义项,它使用内置短代码嵌入的任何图像使用 PhotoSwipe 使它们在点击时出现在灯箱中。我已经做到了,任何使用{{< figure >}}简码的东西都可以做到这一点。

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

4

1 回答 1

4

有两种方法:或者重新定义knitrplot钩子(需要更多关于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短代码中。

于 2017-09-19T16:17:20.680 回答