2017-09-19 2 views
2

Je cherchais à utiliser blogdown pour mon blog Hugo existant et je pense que je l'ai réduit à une lacune. J'utilise l'extension de fichier .Rmarkdown parce que je veux utiliser le processeur de démarque Blackfriday pour tirer parti des fonctionnalités de Hugo..Remarque vers .markdown: Utiliser le {< figure >}} code court au lieu de <img> HTML

Parmi ceux-ci est une personnalisation que j'ai ajouté à mon thème, qui prend n'importe quelle image incorporée avec le shortcode intégré utilise PhotoSwipe pour les faire apparaître dans une lightbox sur clic. J'ai fait en sorte que tout ce qui utilise le shortcode {{< figure}}} le fasse. Est-ce possible via blogdown ou knitr (en supposant que knitr fait partie du processus de rendu du Rmarkdown) pour personnaliser la sortie des tracés afin qu'ils soient enveloppés dans le shortcode plutôt que dans les balises HTML? Je pense qu'il pourrait même être possible de le faire avec Go/Blackfriday si je pouvais au moins obtenir les graphiques à mettre en forme dans Markdown ![](/path/to/img.jpg), si cela serait en quelque sorte plus facile.

Répondre

5

Il y a deux façons: Redéfinissez the plot hook of knitr (nécessite plus de connaissances sur knitr), ou utiliser l'astuce suivante:

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

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

Dans l'exemple ci-dessus, la parcelle a été générée, mais caché dans la sortie de morceau (fig.show='hide'; si vous souhaitez masquer le bloc de code entier, utilisez include=FALSE). Ensuite, son chemin est récupéré via la fonction knitr::fig_chunk() et inséré dans le code court figure.