5.2 Hexo

Las ideas de usar Hexo (https://hexo.io) son muy similares a las que hemos aplicado a Jekyll en la sección anterior. También preparé un ejemplo mínimo en el repositorio de GitHub yihui/blogdown-hexo.

Los componentes claves de este repositorio siguen siendo .Rprofile, R/build.R, y R/build_one.R. Establecimos la opción blogdown.generator en hexo, build.method en custom, y el subdirectorio predeterminado para las nuevas publicaciones en source/_posts.

El script R/build.R es similar al del repositorio blogdown-jekyll. Las principales diferencias son:

  1. Encontramos todos los archivos Rmd bajo el directorio source/ en lugar del directorio raíz, porque la convención de Hexo es poner todos los archivos fuente bajo source/.

  2. Llamamos system2('hexo', 'generate') para construir el sitio web.

Para el script R/build_one.R, la principal diferencia con el script en el repositorio blogdown-jekyll es que establecemos la opción base.dir para knitr, de modo que se generan todas las figuras en R al directorio fuente/. Esto se debe a que Hexo copia todo bajo source/ a public/, mientras que Jekyll copia todo bajo el directorio raíz a _site/.

Este repositorio también se crea automáticamente y se implementa a través de Netlify cuando le envío cambios. Como Hexo es un paquete de Node y Netlify es compatible con Node, puede instalar Hexo fácilmente en Netlify. Por ejemplo, este repositorio de ejemplo usa el comando npm install && hexo generate para construir el sitio web; npm install instalará los paquetes de Node especificados en packages.json (un archivo bajo el directorio raíz del repositorio), y hexo generate es el comando para construir el sitio web desde source/ a public/.