Sepal.Length Sepal.Width Petal.Length Petal.Width
Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100
1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300
Median :5.800 Median :3.000 Median :4.350 Median :1.300
Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199
3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800
Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500
Species
setosa :50
versicolor:50
virginica :50
1 ¿Qué son los shortcodes?
La documentación oficial de Quarto señala que:
Shortcodes are special markdown directives that generate various types of content.
Un shortcode es un código (una etiqueta, un elemento) que puedes insertar en tus documentos .qmd para añadir algún tipo de contenido en ellos sin tener que escribirlo directamente.
¿Y por qué querríamos hacer esto? Pues resulta que muchas veces, en un proyecto, queremos incluir el mismo contenido en varios sitios o en varios documentos; esto es facilitado al usar shortcodes.
Más que qué son, lo importante es para lo que sirven, y sirven para poder insertar fácilmente contenido que se repite.
Beneficios de usar shortcodes
Lo más evidente es que si hemos de insertar el mismo contenido varias veces o en varios documentos es más fácil hacerlo con shortcodes; además, si el contenido que gestionas con shortcodes cambia, solo tendrás que modificarlo una vez y automáticamente se cambiara en todos los sitios en los que hayan incluido tu shortcode.
Por ejemplo, es muy probable que incluyas tu dirección de contacto en varios sitios de una página web o en varios archivos de tu Qproject, así que mejor gestionar e incluir este contenido en tus documentos a través de shortcodes, porque si esta dirección cambia solo tendrás que modificarla una vez.
Un ejemplo de uso
El título de este post es “Usando shortcodes”. Imagina que ahora mismo necesito incluir el título del post en esta sección. No nos costaría mucho copiarlo y pegarlo pero … ¿y si luego decido cambiar el título? Es evidente, que si hay algún tipo de contenido que se repite, quizás debamos plantearnos la posibilidad de gestionarlo con shortcodes. Veamos un primer ejemplo.
Por ejemplo, {{< meta >}}
es un shortcode que permite incluir elementos de los metadatos de un archivo quarto: si incluimos {{< meta title >}}
estaríamos insertando el título del documento; mientras que si incluimos {{< meta date >}}
incluiríamos la fecha de creación del documento.
Veamos como podemos usarlo:
El título de este post es “Usando shortcodes”, y fue creado el 22 de enero de 2023.
El objetivo del post es: “Cómo usar shortcodes en Quarto para, entre otras cosas, poder incluir el mismo contenido en varios documentos.”
El título de este post es "{{< meta title >}}", y fue creado el {{< meta date >}}.
El objetivo del post es: "{{< meta description >}}"
2 Tipos de shortcodes
De momento, los que yo he usado son:
{{< meta >}}
: permite incluir elementos de los metadatos de un documento{{< var >}}
: permite incluir elementos definidos en el fichero_variables.yml
. Este fichero es de nivel proyecto
Además:
{{< include >}}
: permite incluir el contenido de un archivo .qmd. Documentación oficial aquí{{< video >}}
: permite incluir vídeos
3 Más ejemplos
Incluir contenido de _variables.yml
Dentro de un proyecto, podemos crear un fichero llamado _variables.yml
donde podemos definir variables con contenido para ser incluido en nuestros documentos .qmd
con el shortcode {{< var >}}
. El fichero _variables.yml
tiene que residir en la carpeta raíz del proyecto.
Vamos a ver un ejemplo de uso:
El email de Pedro es {{< var email.pedro >}} y el de Juan es {{< var email.juan >}}.
Uno de los blogs de Pedro es {{< var pedroblog >}} .
El email de Pedro es pedro@uvv.es y el de Juan es juan@gmaillll.com.
Uno de los blogs de Pedro es Pedro’s blog .
Incluir contenido de un archivo
En un proyecto en el que elaboraba tutoriales y slides con el mismo contenido en algunas partes, usé muchas veces el shortcode {{< include >}}
. Me permitió incluir el mismo contenido en varios ficheros. Además, tuve que modificarlo varias veces, pero como gestionaba ese contenido con {{< include >}}
solo tenía que modificarlo en un sitio. Os cuento con un ejemplo cómo se hace.
Si crees que un determinado contenido puede ser utilizado en varios sitios, quizá sea más eficiente tener ese contenido en un fichero independiente e incluirlo a través del shortcode {{< include >}}
.
Imagina que quieres incluir este contenido:
El conjunto de datos iris tiene 5 variables y 150 filas. Veamos un resumen con summary()
Para poder incluir ese contenido haciendo uso de {{< include >}}
deberás:
-
Crear un documento, llamado por ejemplo
_my_include_01.qmd
, que contenga el código que hemos visto anteriormente.- El nombre del fichero es conveniente que empiece por
_
porque eso hace que cuando hagamos un render del proyecto, este archivo no se procese. No queremos procesarlo, queremos que su contenido se incluya en otro documento y eso lo haremos utilizando el shortcode{{< include >}}
.
- El nombre del fichero es conveniente que empiece por
-
Una vez hemos creado el documento
_my_include_01.qmd
para que su contenido aparezca (y se ejecute, si tiene código ejecutable) en el documento que nosotros queramos, tendremos que incluir en este último documento lo siguiente:{{< include _my_include_01.qmd >}}
- Realmente
{{< include _my_include_01.qmd >}}
funcionará si el fichero_my_include_01.qmd
está en la misma carpeta que el documento en el que queremos que parezca su contenido; si estuviese en otra ubicación habría que proporcionar la ruta relativa a_my_include_01.qmd
.
- Realmente
Incluir videos
Se pueden incluir vídeos usando paquetes de R, también con extensiones de Quarto, pero es más cómodo hacerlo con el shortcode {{< video >}}
Has de usar este shortcode:
{{< video video https://www.youtube.com/embed/ZkECLuuRwTg >}}
No es tan-tan sencillo porque cuando vas a Youtube a ver ese vídeo lo ves en esta dirección: https://www.youtube.com/watch?v=ZkECLuuRwTg; como ves hay que sustituir watch?v=
por embed/
.
Saltos de página
Como casi siempre uso Quarto para generar documentos html, no me suelo preocupar por los saltos de página; aunque es verdad que si luego quiero imprimir el documento html como un pdf me arrepiento de no haberlo hecho; vamos que conviene pensar en los saltos de página y además es muy fácil incorporarlos con el shortcode {{< pagebreak >}}
. Además, como se cuenta aquí, estos saltos de página funcionan para diferentes formatos de salida:
Native pagebreaks are supported for HTML, LaTeX, Context, MS Word, Open Document, and ePub
Teclitas de ordenador
En Quarto 1.3 apareció esto los Keyboard Shortcuts. Se insertan “iconos” que simulan unas tecitas con el shortcode “kbd”.
Por ejemplo,
Referencias
(Algunos artículos que hablan de esto …)