Repository for my personal and professional website, created using Quarto and babelquarto.
The website brings together information about my career, projects, publications and outreach activities, as well as a blog.
Website: rayonvina.rbind.io
The site is available in Spanish and English:
- Spanish, the main language: https://rayonvina.rbind.io/
- English: https://rayonvina.rbind.io/en/
The pages are stored in separate files:
*.qmd: content in Spanish.*.en.qmd: English translation.
Both versions are stored in the same folder. For example:
projects/phytomap/
├── index.qmd
└── index.en.qmd
.
├── index.qmd # Home page in Spanish
├── index.en.qmd # Home page in English
├── about/ # Introduction, CV and outreach
├── projects/ # Projects
├── blog/ # Blog posts
├── assets/ # Theme, styles, images and HTML components
├── _quarto.yml # General configuration
├── _quarto-es.yml # Navigation and footer in Spanish
├── _quarto-en.yml # Navigation and footer in English
├── render.R # Full site build
├── scripts/ # Auxiliary scripts
└── docs/ # Site generated for GitHub Pages
The visual theme is defined in assets/frv-theme.scss.
The language selector is implemented in assets/language-switcher.html,
with navigation adjustments in assets/navigation-layout.html.
To build the site, you will need:
- Quarto CLI.
- R.
- The
babelquartopackage. - The dependencies required to run the documents and generate the CV PDFs.
Install babelquarto from R:
install.packages(
‘babelquarto’,
repos = c(
‘[https://ropensci.r-universe.dev](https://ropensci.r-universe.dev)’,
‘[https://cloud.r-project.org](https://cloud.r-project.org)’
)
)For optional local preview:
install.packages(‘servr’)From the project root directory, run the following in R:
source(‘render.R’)You can also do this from the terminal:
Rscript render.RThe script:
- Generates the CV PDFs using
scripts/render-cv-pdf.R. - Compiles the Spanish and English versions using
babelquarto. - Saves the generated website to
docs/. - Corrects the alternative language links (
hreflang) and removes those pointing to non-existent pages.
To prepare a publication, use this script instead of simply running
quarto render.
After compiling, run the following in R:
servr::httw(‘docs’)This allows you to review the generated output for both languages locally.
To add a page or post:
- Create the file in Spanish, for example
index.qmd. - Add its translation as
index.en.qmdin the same folder. - Save the images and other associated resources.
- If applicable, update the navigation in
_quarto-es.ymland_quarto-en.yml. - Run
render.Rand check both versions.
Modify the source files, not the HTML files in docs/: these are regenerated
upon compilation.
The site is published using GitHub Pages from the docs/ folder
on the main branch, using the domain rayonvina.rbind.io.
Update workflow:
- Make changes in a working branch.
- Build the site with
render.R. - Review the local output in Spanish and English.
- Include both the source files and the changes
generated in
docs/in the commit. - Open a pull request to
main. - Review the validations and merge the changes.
- Check the deployment and the public website.
The published folder must retain:
docs/CNAME, with the custom domain.docs/.nojekyll, to prevent processing by Jekyll.
The .github/workflows/validate.yml workflow checks the HTML files
in docs/ and verifies links in pull requests and updates
to main.
This workflow does not build the site. The output of docs/ must be generated
locally before publishing the changes.
Translated with DeepL.com (free version)
Repositorio de mi web personal y profesional, creada con Quarto y babelquarto.
La web reúne información sobre mi trayectoria, proyectos, publicaciones y actividades de divulgación, además de un blog.
Web: rayonvina.rbind.io
El sitio está disponible en español e inglés:
- Español, idioma principal: https://rayonvina.rbind.io/
- Inglés: https://rayonvina.rbind.io/en/
Las páginas se mantienen en archivos independientes:
*.qmd: contenido en español.*.en.qmd: traducción al inglés.
Ambas versiones se guardan en la misma carpeta. Por ejemplo:
projects/phytomap/
├── index.qmd
└── index.en.qmd
.
├── index.qmd # Portada en español
├── index.en.qmd # Portada en inglés
├── about/ # Presentación, CV y divulgación
├── projects/ # Proyectos
├── blog/ # Entradas del blog
├── assets/ # Tema, estilos, imágenes y componentes HTML
├── _quarto.yml # Configuración general
├── _quarto-es.yml # Navegación y pie en español
├── _quarto-en.yml # Navegación y pie en inglés
├── render.R # Compilación completa del sitio
├── scripts/ # Scripts auxiliares
└── docs/ # Web generada para GitHub Pages
El tema visual se define en assets/frv-theme.scss.
El selector de idioma se implementa en assets/language-switcher.html,
con ajustes de navegación en assets/navigation-layout.html.
Para compilar el sitio se necesitan:
- Quarto CLI.
- R.
- El paquete
babelquarto. - Las dependencias necesarias para ejecutar los documentos y generar los PDF del currículum.
Instala babelquarto desde R:
install.packages(
"babelquarto",
repos = c(
"[https://ropensci.r-universe.dev](https://ropensci.r-universe.dev)",
"[https://cloud.r-project.org](https://cloud.r-project.org)"
)
)Para la previsualización local opcional:
install.packages("servr")Desde la raíz del proyecto, ejecuta en R:
source("render.R")También puedes hacerlo desde la terminal:
Rscript render.REl script:
- Genera los PDF del currículum mediante
scripts/render-cv-pdf.R. - Compila las versiones española e inglesa con
babelquarto. - Guarda la web generada en
docs/. - Corrige los enlaces alternativos de idioma (
hreflang) y elimina los que apunten a páginas inexistentes.
Para preparar una publicación, utiliza este script en lugar de ejecutar
únicamente quarto render.
Después de compilar, ejecuta en R:
servr::httw("docs")Esto permite revisar localmente la salida generada de ambos idiomas.
Para añadir una página o entrada:
- Crea el archivo en español, por ejemplo
index.qmd. - Añade su traducción como
index.en.qmden la misma carpeta. - Guarda las imágenes y otros recursos asociados.
- Si corresponde, actualiza la navegación en
_quarto-es.ymly_quarto-en.yml. - Ejecuta
render.Ry revisa ambas versiones.
Modifica los archivos fuente, no los HTML de docs/: estos se regeneran
al compilar.
El sitio se publica con GitHub Pages desde la carpeta docs/
de la rama main, utilizando el dominio rayonvina.rbind.io.
Flujo de actualización:
- Realizar los cambios en una rama de trabajo.
- Compilar el sitio con
render.R. - Revisar la salida local en español e inglés.
- Incluir en el commit tanto los archivos fuente como los cambios
generados en
docs/. - Abrir una pull request hacia
main. - Revisar las validaciones y fusionar los cambios.
- Comprobar el despliegue y la web pública.
La carpeta publicada debe conservar:
docs/CNAME, con el dominio personalizado.docs/.nojekyll, para evitar el procesamiento con Jekyll.
El workflow .github/workflows/validate.yml revisa los archivos HTML
de docs/ y comprueba enlaces en las pull requests y actualizaciones
de main.
Este workflow no compila el sitio. La salida de docs/ debe generarse
en local antes de publicar los cambios.