.Rmarkdown 到 .markdown:使用 {{< figure >}} 简码代替 <img> HTML
.Rmarkdown to .markdown: Use {{< figure >}} shortcode instead of <img> HTML
我一直在考虑为我现有的 Hugo 博客使用 blogdown,我认为我已经将其缩小到一个缺点。我正在使用 .Rmarkdown 文件扩展名,因为我想使用 Blackfriday markdown 处理器来利用 Hugo 功能。
其中包括我添加到我的主题中的自定义项,它采用嵌入了内置短代码的任何图像,使用 PhotoSwipe 使它们在单击时显示在灯箱中。我已经做到了,所以任何使用 {{< figure >}}
简码的东西都可以做到这一点。
是否可以通过 blogdown 或 knitr(假设 knitr 是呈现 Rmarkdown 的过程的一部分)来自定义绘图的输出,以便将它们包装在简码而不是 HTML 标签中?我认为如果我至少可以在 Markdown ![](/path/to/img.jpg)
中格式化图表,甚至可以用 Go/Blackfriday 来做到这一点,如果那样会更容易的话。
有两种方法:要么重新定义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
短代码中。
我一直在考虑为我现有的 Hugo 博客使用 blogdown,我认为我已经将其缩小到一个缺点。我正在使用 .Rmarkdown 文件扩展名,因为我想使用 Blackfriday markdown 处理器来利用 Hugo 功能。
其中包括我添加到我的主题中的自定义项,它采用嵌入了内置短代码的任何图像,使用 PhotoSwipe 使它们在单击时显示在灯箱中。我已经做到了,所以任何使用 {{< figure >}}
简码的东西都可以做到这一点。
是否可以通过 blogdown 或 knitr(假设 knitr 是呈现 Rmarkdown 的过程的一部分)来自定义绘图的输出,以便将它们包装在简码而不是 HTML 标签中?我认为如果我至少可以在 Markdown ![](/path/to/img.jpg)
中格式化图表,甚至可以用 Go/Blackfriday 来做到这一点,如果那样会更容易的话。
有两种方法:要么重新定义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
短代码中。