2017-09-19 1 views
2

Ich habe in Blogdown für meine bestehenden Hugo Blog untersucht und ich denke, ich habe es auf ein Manko eingegrenzt. Ich benutze die .Rmarkdown-Dateierweiterung, weil ich den Blackfriday-Markdown-Prozessor verwenden möchte, um die Hugo-Funktionen zu nutzen..Rmarkdown zu .markdown: Verwenden Sie {{< figure >}} shortcode anstelle von <img> HTML

Unter diesen ist eine Anpassung, die ich zu meinem Thema hinzugefügt habe, die jedes Bild mit dem integrierten Shortcode verwendet verwendet PhotoSwipe, um sie in einem Leuchtkasten auf Klick erscheinen zu lassen. Ich habe es so gemacht, dass alles mit dem {{< figure>}} shortcode das macht.

Ist es möglich, entweder über blogdown oder knitr (vorausgesetzt, knitr ist Teil des Renderns von Rmarkdown) die Ausgabe von Plots so anzupassen, dass sie in den Shortcode und nicht in HTML-Tags eingebettet sind? Ich denke, es wäre sogar möglich, dies mit Go/Blackfriday zu tun, wenn ich wenigstens die Plots in Markdown ![](/path/to/img.jpg) formatieren könnte, wenn das irgendwie einfacher wäre.

Antwort

5

Es gibt zwei Möglichkeiten: Entweder neu definieren the plot hook of knitr (mehr Wissen über knitr erfordert), oder verwenden Sie den folgenden Trick:

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

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

Im obigen Beispiel wurde das Grundstück erzeugt aber im Chunk Ausgabe versteckt (fig.show='hide'; wenn Sie den gesamten Code-Chunk ausblenden möchten, verwenden Sie include=FALSE). Dann wird sein Pfad über die Funktion knitr::fig_chunk() abgerufen und in den figure Shortcode eingefügt.

Verwandte Themen