quarto create-project blog_prueba_00 --type website --template blog Programación y manejo de datos con R (Slides 07-C)
Creación de un blog básico: mi blog en 3 minutos
Tuneado básico del blog.
Convirtiendo el blog en una web personal
Workflow: creando posts
Escribiendo un post con Quarto
Es fácil (pocas barreras de entrada si ya usas Rmarkdown)
Es divertido
Registrar análisis que haces que de otra forma olvidarías
Portafolio y contactos
Vamos a usar Quarto para hacer un blog
En realidad un blog no es más que un tipo (especial) de web
Mike Mahoney (el repo aqui)
Isabella Velásquez (el repo aqui)
Danielle Navarro (el repo aqui)
Jeff y Marc Dotson (el repo aqui)
Layton R blog (el repo aqui)
Matt Worthington (el repo aqui)
Ilya Kashnitsky (el repo aquí)
Rebecca Carter (el repo aquí)
Data in life y el repo
Andrew Heiss y el repo
Quantum Jitter y el repo
MAT555E-Statistical Data Analysis for Comp. Sciences y el repo
Antony Barja y el repo. Además tiene cursos sobre GIS
The tidy trekker y el repo
Tidy Tales y el repo
Unas plantillas para webs personales y académicas (cursos y workshops)
Otras plantillas para webs académicas
Más plantillas, pero también para books, etc …Muy chulas
Otras plantillas para webs, pero también para books, etc … (muy chulas)
(1ª parte del tutorial)
¿Qué haremos en este tutorial?
Veremos de forma rápida el proceso de creación y la estructura de ficheros de un blog creado con Quarto. La documentación oficial está aquí.
Alojaremos el blog en Quarto Pub.
Será un blog básico pero completamente operativo. Ya tendremos tiempo de mejorarlo, o tunearlo, en las siguientes secciones del taller.
Tarea 1.1: Hemos de crear la carpeta que contendrá nuestro blog.
La carpeta la creará Quarto, pero tenemos 3 formas de hacerlo:
En RStudio sigue la siguiente ruta de menús:
File > New Project > New Directory > Quarto Blog
Mejor si llamas a la carpeta: blog_prueba_00
Has de ejecutar desde la Terminal:
Tienes que ir aquí. Se abrirá Rstudio en el navegador con un Qproject llamado blog_prueba_00.
Has de tener cuenta en RStudio Cloud. Haz una copia permanente y trabaja sobre ella
De cualquiera de las 3 maneras acabaremos teniendo una carpeta con todo o necesario para crear un blog.
Los archivos importantes ahora son 3:
_quarto.yml: especifica la estructura (y apariencia) de la web
index.qmd : generará (y dará formato) a la “landing page” o Home. Esta página será un listado de páginas (un blog)
about.qmd : una de la páginas del blog
Tarea 1.2: Generación del blog
Ir al cuadrante superior-derecha de RStudio, pinchar en la pestaña Build y pinchar en Render Website.
De esta forma, se procesarán los archivos del Qproject y se creará el blog.
Podremos verlo en el cuadrante inferior-derecha de RStudio, concretamente en la pestaña Viewer.
Extensiones: formas alternativas de generar el blog
También podríamos haber generado el blog usando la Consola o la Terminal desde RStudio.
En ambos casos hay que estar en el Qproject “blog_prueba_00”; es decir, “blog_prueba_00” es el working directory
Desde la Terminal
desde la Consola de R
Se han creado 2 subcarpetas: _site y _freeze
_site es la carpeta que contiene el blog.
_site es la carpeta que contiene el blog. Veamos su contenido
La página principal (o Home) de nuestro blog es el archivo index.html.
El archivo index.html ha sido generado por el fichero index.qmd.
Tarea 1.3: Ver el blog
Enseguida publicaremos el blog en Quartopub, pero antes vamos a verlo en local.
Para ello solo tienes que pinchar en el archivo ./blog_prueba_00/_site/index.html
Ese fichero es el que contiene la “Landing Page” o “Home” de nuestro blog.
Como ves el blog es muy sencillo, solo tiene 2 páginas:
la Home Page (que consiste en un listado de posts)
la página About
index.qmdindex.qmd genera index.html, la página principal (o Home) de nuestro blogExtensiones: ver el contenido del archivo index.qmd
Contenido del archivo index.qmd que genera a index.html:
Como vemos, el archivo index.qmd no tiene contenido, sólo contiene un yaml o encabezamiento
Ese encabezamiento genera una lista (listing:) con los contenidos (con los ficheros .qmd) que haya en la carpeta posts.
Sí, has imaginado bien, en la carpeta posts es donde estarán los ficheros .qmd que generarán los posts
El resto del yaml son opciones para nuestro blog. Por ejemplo, sort: "date desc" ordenará el listado de post de más reciente a más antiguo.
Lo iremos viendo
Tarea 1.4: Alojar el blog en Quarto Pub
Para publicar nuestro blog en Quartopub sólo hay que:
teclear en la Terminal de RStudio (panel inferior-izquierda) lo siguiente:
Tras ejecutar lo anterior, se te pedirá que autorices en la Terminal.
Después se abrirá el navegador, tendrás que logearte en Quarto Pub y volverás a autorizar. Además te preguntarán el nombre del blog.
Resumen (tutorial nº 1)
En este tutorial, la segunda parte del taller, hemos visto:
Como crear un Qproject con la estructura de carpetas y archivos necesaria para generar un blog básico
Hemos visto (de forma rápida) el contenido, los archivos, que hay en el Qproject.
El Qproject contiene 3 archivos que serán los importantes, los que trabajaremos en el próximo tutorial, concretamente: _quarto_yml, index.qmd y about.qmd
Hemos aprendido a generar el blog a través de RStudio, simplemente Build > Render Website
Hemos visto que el blog realmente se aloja en la carpeta _site y que la homepage es index.html
La homepage del blog es un listado de post (lógicamente, es un blog!!)
La homepage (index.html) es generada por el archivo index.qmd
El archivo index.qmd solo tiene yaml
Hemos publicado el blog en Quarto Pub
(2ª parte del tutorial)
¿Qué haremos en este tutorial?
En esta segunda parte del taller vamos a mejorar/tunear un poco nuestro blog. Nos servirá para afianzar nuestro conocimiento de la estructura de ficheros del blog
En este tutorial nº 2, para hacer un tuneado básico del blog, modificaremos 3 archivos, concretamente los archivos: _quarto.yml, index.qmd y about.qmd. Iremos archivo por archivo
Finalmente modificaremos (un poco) el archivo styles.css
En el tutorial nº 6 se profundiza en el tuneado del blog
_quarto.ymlTarea 2.1: Modificar el contenido de _quarto.yml
Sustituye el contenido original del fichero _quarto.yml por el contenido del siguiente chunk.
Pon un título que te guste a tu blog (línea 5 title: "titulo-de-mi-blog")
Pon tu usuario de Github y cuenta de Twitter (lineas 12 y 14: href:)
Pon tu email (línea 16: href:)
project:
type: website
website:
title: "Mi blog (aún en pruebas)"
navbar:
logo: "profile.jpg"
right:
- text: "About me"
href: about.qmd
- icon: github
href: https://github.com/<tu-usuario-github>
- icon: twitter
href: https://twitter.com/<tu-usuario-twitter>
- icon: envelope
url: "mailto:<tu-mail@uv.es>"
left:
- text: "Docencia"
href: docencia.qmd
format:
html:
theme: flatly
css: styles.css
toc: true
highlight-style: a11yAdemás:
docencia.qmdTarea 2.2: Crear el archivo docencia.qmd
docencia.qmd con cualquier contenido, incluso podría ser un documento sin contenido, PERO, mejor si lo creas con el siguiente contenido:Tarea 2.3: Crear el archivo /pdfs/econometria.pdf
Como puedes ver, en el archivo docencia.qmd se hace referencia al archivo /pdfs/econometria.pdf. Si quieres que el link funcione, tienes que crear dentro del Qproject, la subcarpeta pdfs, y dentro de ella el archivo econometria.pdf.
Puede ser cualquier pdf, siempre que se llame econometria.pdf
Tarea 2.4: Volver a generar el blog
Build > Web page.index.qmdDe momento, solo vamos a hacer cambios en la segunda linea: cambiaremos el título.
Fíjate que es el título del listado de posts (del blog), no de la página web.
Fijaros que index.qmd es un archivo especial: “sólo tiene yaml”. Es el que genera el listado de posts: es una “listing page”
Tarea 2.5: Modificar el contenido de index.qmd
He cambiado la segunda linea (title:) para poner un nombre a la página con el listado de posts.
También podemos añadir una descripción (con description:).
about.qmdSi en el yaml se activa la opción about: (linea 4), entonces puedes usar unas plantillas que Quarto tiene disponibles para crear About’s pages.
Como puedes ver aquí hay 5 plantillas: jolla, trestles, solana, marquee y broadside.
Aquí tienes la documentación oficial sobre estas plantillas.
Tarea 2.6: Modificar el contenido de about.qmd
Antes he dicho que solo modificaríamos la linea 5, pero mejor si lo complementamos con algunas acciones más, como el tamaño de la foto y su forma, por eso he añadido 2 lineas tras template:trestles.
Lógicamente estaría bien que sustituyeses la foto: se trata de cambiar profile.jpg, en la linea 3, por la ruta a tu foto.
Abajo tienes el código:
---
title: Yo mismo
image: profile.jpg
about:
template: trestles #- {jolla, solana, ...}
image-width: 10em #- https://cybmeta.com/em-y-rem
image-shape: round #- rectangle, round, rounded
links:
- icon: twitter
text: Twitter
href: https://twitter.com
- icon: linkedin
text: LinkedIn
href: https://linkedin.com
- icon: github
text: Github
href: https://github.com
---
Hola, soy "Yo mismo".
Estoy asistiendo al taller **Mi primer blog con Quarto** impartido en el [I Congreso & XII Jornadas de Usuarios de R](http://r-es.org/12jr/){target="_blank"} celebradas en Córdoba (Spain), 23-25 de noviembre de 2022.
En un ratito ya piloto Quarto y genero my blog!!! 🙂styles.cssthemes predefinidos en Quarto o puedes usar el archivo styles.css1Resumen (tutorial nº 2)
En esta tercera parte del taller hemos aprendido a mejorar/tunear un poco nuestro blog.
Hemos modificado 3 archivos:
_quarto.yml: hemos modificado el título del blog y la estructura de la barra de navegación; concretamente hemos añadido una página nueva.
index.qmd: construye la Home Page de nuestra web. La opción listing: hace que nuestra web es en realidad un blog.
about.qmd: hemos utilizado las plantillas de Quarto para configurar nuestra About page.
Finalmente hemos modificado (mínimamente) el archivo styles.css.
_quarto.yml, index.qmd, about.qmd y styles.css.En esta sección dedicaremos un tiempo a la práctica libre para que adaptes el blog a tus necesidades y gustos. Por ejemplo puedes probar:
_quarto.yml). Os doy una posibilidad en la siguiente slideindex.qmd). Gracias YAML inteligence!!about.qmd)Práctica 2.1: añadir una página más a nuestra web (_quarto.yml)
Evidentemente puedes probar a añadir la página que quieras, pero te ofrezco la siguiente posibilidad:
Con las lineas 12 y siguientes crear una página más en nuestro blog. La página se llamará “Más cosas”. Además, esta página nueva tiene la particularidad de que cuando recreemos el blog se convertirá en un desplegable con acceso a varias páginas: “Docencia 2”, “Docencia 3” y “Docencia 4”.
Fíjate que he puesto la nueva página a la izquierda (left:)
Además, puedes probar distintas opciones de theme (linea 34) y de highlighting (linea 38)
También puedes cambiar el color del fondo de la barra de navegación (linea 8)
project:
type: website
website:
title: "Mi blog (aún en pruebas)"
navbar:
logo: "profile.jpg"
#background: "#CCCCFF" #- {“primary”, “secondary”, “danger”, “warning”, “light”, “dark”, or hex color} (el backgroung de la navbar)
left:
- text: "Docencia"
href: docencia.qmd
- text: "Más cosas"
menu:
- text: "Docencia 2"
href: docencia.qmd
- text: "Docencia 3"
href: docencia.qmd
- text: "---"
- text: "Docencia 4"
href: docencia.qmd
right:
- about.qmd
- icon: github
href: https://github.com/<tu-usuario-github>
- icon: twitter
href: https://twitter.com/<tu-usuario twitter>
- icon: envelope
url: "mailto:<tu-mail@uv.es>"
format:
html:
#- https://quarto.org/docs/output-formats/html-themes.html
theme: flatly
css: styles.css
toc: true
#- https://quarto.org/docs/output-formats/html-code.html#highlighting
highlight-style: a11yPráctica 2.2: Modificar la apariencia del blog (index.qmd)
Se trata de cambiar las opciones predefinidas de tu archivo index.qmd
Con ello podremos cambiar la apariencia del listado de posts
Para ello tienes que ir jugando con las opciones que nos ha proporcionado la plantilla de Quarto en el fichero index.qmd.
la YAML inteligence te ayudará!! (vamos el autocompletado en el YAML)
No uses las opciones llamadas custom
---
title: "Mi listado de posts"
description: |
Estoy tratando de hacer mi blog
listing:
contents: posts
sort: "date desc"
type: default #- {default, table, grid, custom}
categories: true
sort-ui: false
filter-ui: false
page-layout: full #- {article, full, custom}
title-block-banner: true #- {true, false}
---`
Práctica 2.3: Modificar la página About (about.qmd)
Se trata de cambiar las opciones predefinidas de tu archivo about.qmd
Estaría bien que pusieses una foto tuya.
Poner los enlaces a tus redes sociales y email
Puedes adaptar el texto y dar algo de formato a la página.
---
title: Yo mismo
image: profile.jpg
about:
template: trestles #- {jolla, solana, ...}
image-width: 10em #- https://cybmeta.com/em-y-rem
image-shape: round #- rectangle, round, rounded
links:
- icon: twitter
text: Twitter
href: https://twitter.com
- icon: linkedin
text: LinkedIn
href: https://linkedin.com
- icon: github
text: Github
href: https://github.com
---
Hola, soy "Yo mismo".
Estoy asistiendo al taller **Mi primer blog con Quarto** impartido en el [I Congreso & XII Jornadas de Usuarios de R](http://r-es.org/12jr/){target="_blank"} celebradas en Córdoba (Spain), 23-25 de noviembre de 2022.
En un ratito ya piloto Quarto y genero my blog!!! 🙂(3ª parte del tutorial)
¿Qué haremos en este tutorial?
Convertir nuestro blog en una web personal.
Haremos que la “landing page” o Home de nuestra web no sea una página con el listado de posts, sino que sea una página en la que se reciba a los futuros visitantes de nuestra web
Para ello solo tendremos que cambiar el nombre de dos ficheros y referenciar uno de ellos en _quarto.yml.
Tarea 3.1: Renombrar el archivo index.qmd
Cambia el nombre del fichero index.qmd a blog.qmd
Ahora este archivo no está referenciado en _quarto.yml, por lo que no se mostraría si hacemos un rebuild1.
Tarea 3.2: Incluir blog.qmd en la web
Para que blog.qmd, la página que contiene el listado de posts, se muestre en nuestra web hay que refrenciarlo/incluirlo en _quarto.yml
Simplemente, tendríamos que modificar las lineas 8 y 9 que ahora están referenciando al fichero about.qmd. Por ejemplo podríamos dejar las lineas 8 y 9 como se ve abajo (a la derecha):
_quarto.ymlproject:
type: website
website:
title: "Mi blog (aún en pruebas)"
navbar:
logo: "profile.jpg"
#background: "#CCCCFF" #- {“primary”, “secondary”, “danger”, “warning”, “light”, “dark”, or hex color} (el backgroung de la navbar)
left:
- text: "Docencia"
href: docencia.qmd
- text: "Más cosas"
menu:
- text: "Docencia 2"
href: docencia.qmd
- text: "Docencia 3"
href: docencia.qmd
- text: "---"
- text: "Docencia 4"
href: docencia.qmd
right:
- text: "Mi blog"
href: blog.qmd
- icon: github
href: https://github.com/<tu-usuario-github>
- icon: twitter
href: https://twitter.com/<tu-usuario twitter>
- icon: envelope
url: "mailto:<tu-mail@uv.es>"
format:
html:
#- https://quarto.org/docs/output-formats/html-themes.html
theme: flatly
css: styles.css
toc: true
#- https://quarto.org/docs/output-formats/html-code.html#highlighting
highlight-style: a11yindex.qmd.Tarea 3.3: Renombrar el archivo about.qmd
Cambia el nombre del fichero about.qmd a index.qmd, con lo que pasará ser nuestra “landing page”.
Como el antiguo fichero about contenía nuestra foto parece que es un buen candidato a ser nuestra “Home”
Tarea 3.4: Hacemos un rebuild de la web
Ahora ya tenemos fichero index.qmd, por lo que ya podemos hacer un rebuild de nuestra web y veremos la nueva estructura de nuestra web, con una foto nuestra en la “landing page”.
Para ello: Build > Render Website en RStudio.
(4ª parte del tutorial)
¿Qué haremos en este tutorial?
Ver como podemos iniciar un nuevo post
(podemos marcar post todavía no acabados con draft: true en el yaml del post)
Los ficheros .qmd que generan los posts están en la carpeta posts (de nuestro Qproject que genera el blog).
Cada post está en una carpeta diferente1:
./posts/welcome/./posts/./posts/welcome/Tarea 4.1: Creando un nuevo post
Crea una nueva subcarpeta en ./posts/
Ponle nombre, por ejemplo: “my-primer-post”
Copia en la carpeta que hemos creado el contenido de la carpeta de uno de los 2 posts. Por ejemplo copia los 2 archivos que hay en ./posts/welcome/ y pégalos en ./posts/my-primer-post/; es decir, pegamos el archivo index.qmd y tumbnail.jpg en nuestra nueva carpeta.
Vuelve a regenerar el blog: Build > Render Website y verás que ahora nuestro blog ya tiene tres posts.
Tarea 4.2: Modificando el tercer post
/.posts/my-primer-post/index.qmd. Por ejemplo, puedes dejarlo así:---
title: "Mi primer post con Quarto"
author: "Pedro J. Pérez"
date: "2022-10-25"
categories: [R, quarto]
image: "thumbnail.jpg"
---
Este es mi **primer post** con Quarto!!!!
```{r}
sqrt(2 + 2)
```
Voy a poner una imagen:

Acabé con mi primer post. FIN
Sustituye thumbnail.jpg por otro archivo
La opción de yaml (linea 6): image: "thumbnail.jpg" nos permite elegir la imagen que acompañara al post en la listing page.
Vuelve a regenerar el blog: Build > Render Website
Resumen (tutorial nº 4)
draft: true en el yaml del post.(5ª parte del tutorial)
¿Qué haremos en este tutorial?
Aprender a escribir nuestro posts con Quarto: con ficheros .qmd
Repasaremos las 3 partes de los documentos .qmd: yaml, texto, chunks
Además veremos: layout
Aprender a utilizar algunos truquillos de Quarto
Advertencia
Voy a suponer que los asistentes al taller, y posibles lectores de estos tutoriales, conocen Rmarkdown y han escrito algún documento .Rmd. En ese caso, el paso de .Rmd a .qmd es sencillo.
En cualquier caso, aquí tienes unas FAQ’s para usuarios de .Rmd que se preguntan si pasarse a Quarto, y aquí unas slides sobre las diferencias entre .qmd y .Rmd.
Aquellos que no sepan qué es Rmarkdown pueden empezar por aquí o aquí.
.qmd.qmd tienen 3 partes: YAML, texto y chunks de código.YAML será procesado varias veces durante el procesado del documento: es leído por Quarto, knitr y Pandoc e influirá en el output final..qmd. Documentación oficial aquíyaml de un post se puede especificar en 3 niveles_quarto.yml. Todo documento que se procese dentro del proyecto, heredará los metadatos definidos en _quarto.yml._metadata.yml, los documentos de esa carpeta heredan sus metadatos. La carpeta ./posts/ de un blog suele tener un archivo _metadata.yml..qmd