¿Qué es _quarto.yml?
_quarto.yml es el archivo de configuración principal de un proyecto Quarto. Define las opciones globales que se aplicarán a todo el sitio web, libro o proyecto.
Ubicación:
proyecto/
├── _quarto.yml <- Archivo principal (raíz del proyecto)
├── index.qmd
├── posts/
│ ├── _metadata.yml <- Opciones específicas para posts
│ └── post1/
│ └── index.qmd
└── assets/
Diferencia con _metadata.yml
| Archivo | Alcance | Uso Principal | Ubicación |
|---|---|---|---|
_quarto.yml |
Todo el proyecto | Configuración del sitio, navbar, footer, tema | Raíz del proyecto |
_metadata.yml |
Directorio específico | Opciones por defecto para posts | Dentro de directorios |
Ejemplo de relación:
Propósito y Funciones Principales
_quarto.yml controla:
- Tipo de proyecto (website, book, default)
- Estructura del sitio (navegación, footer, sidebar)
- Apariencia global (tema, CSS, fuentes)
- Metadatos del sitio (título, descripción, SEO)
- Herramientas externas (Google Analytics, comentarios)
- Formatos de salida (HTML, PDF, DOCX)
- Recursos compartidos (imágenes, archivos estáticos)
Jerarquía de Configuración
Orden de Prioridad
1. Front-matter del documento (index.qmd)
└── Mayor prioridad
2. _metadata.yml (directorio del documento)
3. _metadata.yml (directorio padre)
4. _quarto.yml (raíz del proyecto)
5. Valores por defecto de Quarto
└── Menor prioridad
Ejemplo práctico:
Resultado final para mi-post/index.qmd:
toc: false(del documento - mayor prioridad)theme: cosmo(de _quarto.yml - heredado)toc-depth: 3(de _metadata.yml - no se usa porque toc está desactivado)
Herencia y Combinación
Regla: Las configuraciones se combinan cuando son diferentes claves, pero se sobrescriben cuando son la misma clave.
Resultado combinado:
Estructura del Archivo
Anatomía de _quarto.yml
# ========================================================================
# CONFIGURACIÓN DE PROYECTO
# ========================================================================
project:
type: website
output-dir: _site
resources: []
# ========================================================================
# CONFIGURACIÓN DEL SITIO WEB
# ========================================================================
website:
# Información básica
title: ""
description: ""
# Navegación
navbar: {}
sidebar: []
# Footer
page-footer: {}
# SEO y metadatos
site-url: ""
favicon: ""
open-graph: {}
twitter-card: {}
# Herramientas
google-analytics: {}
cookie-consent: {}
comments: {}
# ========================================================================
# FORMATOS DE SALIDA
# ========================================================================
format:
html: {}
pdf: {}
docx: {}
# ========================================================================
# OPCIONES AVANZADAS
# ========================================================================
# Bibliografía global, filtros, extensiones, etc.Secciones Principales
| Sección | Propósito | Obligatoria |
|---|---|---|
project |
Define tipo y estructura del proyecto | Sí |
website |
Configuración específica de sitios web | Sí (para websites) |
format |
Formatos de salida y sus opciones | Recomendada |
editor |
Configuración del editor | Opcional |
execute |
Opciones de ejecución de código | Opcional |
Sección: Project
Esta sección define las características fundamentales del proyecto.
Opciones Básicas
type: Tipo de Proyecto
Opciones disponibles:
| Valor | Descripción | Uso |
|---|---|---|
website |
Sitio web con múltiples páginas | Blogs, sitios académicos, portfolios |
book |
Libro con capítulos | Documentación técnica, libros académicos |
default |
Proyecto simple sin estructura especial | Documentos individuales |
Ejemplo para cada tipo:
output-dir: Directorio de Salida
Define dónde se generan los archivos compilados.
Importante: Si cambias output-dir, asegúrate de actualizar: - .gitignore (agregar el nuevo directorio) - Configuración de despliegue (Netlify, GitHub Pages, etc.)
resources: Archivos Adicionales
Site Resources permite asegurar que archivos adicionales (como imágenes, documentos, datos, configuraciones especiales, etc.) se copien automáticamente al directorio de salida del sitio (_site) durante el renderizado. Quarto ya copia de forma automática los archivos referenciados en tus documentos (imágenes, CSS, etc.), pero con esta opción puedes forzar la inclusión de archivos no referenciados directamente.
Cuándo usar resources:
- Archivos no referenciados directamente en documentos
- Archivos de configuración de hosting (CNAME, robots.txt)
- Datasets descargables
- Documentos PDF, Excel, etc.
Archivos copiados automáticamente (sin necesidad de declararlos):
404.htmlrobots.txt_redirects(Netlify)CNAME(GitHub Pages).nojekyll(GitHub Pages)
Ejemplos prácticos
1. Sitio con datos descargables
Los usuarios podrán acceder a https://tusitio.com/data/mi-datos.csv.
2. Publicar en GitHub Pages con dominio personalizado
3. Incluir documentos PDF o Excel para descarga
Y en una página:
4. Recursos solo en una página específica
Solo estas páginas tendrán los archivos adicionales copiados.
pre-render y post-render: Scripts Personalizados
Ejecutar scripts antes o después del renderizado:
Ejemplo de pre-render (preparar datos):
Ejemplo de post-render (optimizar imágenes):
render: Control de Renderizado
Especificar qué archivos renderizar:
Casos de uso:
- Excluir directorios de trabajo en progreso
- Renderizar solo archivos específicos durante desarrollo
- Ignorar templates o plantillas
Sección: Website
Esta sección contiene toda la configuración específica de sitios web.
Información Básica
title: Título del Sitio
- Aparece en la navbar (si no se especifica logo)
- Se usa como título por defecto en Open Graph
- Máximo recomendado: 60 caracteres
description: Descripción del Sitio
- Usada en metadatos SEO
- Aparece en resultados de búsqueda
- Recomendado: 150-160 caracteres
site-url: URL del Sitio
Obligatorio para:
- Open Graph y Twitter Cards (imágenes de vista previa)
- RSS feeds
- Sitemap.xml
- Canonical URLs
Sin site-url: Las rutas relativas en Open Graph no funcionarán correctamente.
repo-url: Repositorio de Código
Beneficios:
- Botón automático “Edit this page” en cada página
- Enlace al repositorio en la navbar (con
repo-actions)
Favicon e Imágenes
El Favicon es el pequeño ícono que aparece en la pestaña del navegador, en los marcadores y en otros lugares donde se representa tu sitio web. Configurarlo mejora la identidad visual y el reconocimiento de tu sitio.
favicon: Ícono del Sitio
Formatos recomendados:
.ico(máxima compatibilidad).png(calidad, transparencia).svg(escalable)
Tamaño recomendado: 32x32 px mínimo, 64x64 px ideal.
image: Imagen de Vista Previa por Defecto
Usada cuando:
- Una página no tiene su propia imagen especificada
- Se comparte un enlace en redes sociales
- Open Graph/Twitter Cards necesitan una imagen
Especificaciones:
- Tamaño ideal: 1200x630 px (ratio 1.91:1)
- Formato: JPG o PNG
- Máximo: 8 MB
Anuncios (Announcement Bar)
La Announcement Bar (barra de anuncio) es una barra prominente y personalizable que se muestra en la parte superior del sitio web. Es ideal para resaltar información importante como alertas, actualizaciones, promociones, eventos o mensajes temporales.
Configuración Completa
Opciones de type
Opciones de position
Íconos Disponibles
Cualquier ícono de Bootstrap Icons:
info-circlebellmegaphonegiftexclamation-trianglecalendar-checkheart
Ejemplos por Tipo de Anuncio
Alerta importante:
Evento o promoción:
Actualización:
Open Graph
Open Graph mejora la presentación de tus páginas cuando se comparten en plataformas como Facebook, LinkedIn, Slack, Discord, WhatsApp, iMessage y muchas más, mostrando título, descripción, imagen de vista previa y otros metadatos enriquecidos.
Configuración Completa
Opciones
| Opción | Descripción | Recomendación |
|---|---|---|
title |
Título del sitio | Máx. 60 caracteres |
description |
Descripción | 150-160 caracteres |
image |
Imagen de vista previa | 1200x630 px, ratio 1.91:1 |
image-width |
Ancho de la imagen | 1200 |
image-height |
Alto de la imagen | 630 |
locale |
Idioma y región | es_ES, en_US, etc. |
site-name |
Nombre del sitio | Nombre corto |
Imágenes de vista previa (orden de prioridad)
Exactamente igual que en Twitter Cards:
Metadato
imageen la página (URL completa o ruta relativa).Imagen con clase
.preview-imageen el contenido:Archivos con nombres:
preview.png,feature.png,cover.png,thumbnail.png.Imagen por defecto del sitio:
Para desactivar la imagen en una página específica:
Ejemplos prácticos
1. Configuración mínima recomendada
2. Configuración profesional (global)
3. Personalización por página (en el front-matter de page.qmd)
Importante: Requiere site-url definido para rutas relativas.
Preview Images
Las Preview Images (imágenes de vista previa) son las imágenes que se muestran cuando una página de tu sitio se comparte en redes sociales (Twitter/X Cards, Open Graph) o en mensajeros como Slack, WhatsApp, etc. Quarto busca automáticamente estas imágenes siguiendo un orden de prioridad específico, lo que facilita su configuración.
Estas imágenes se usan tanto para Twitter Cards como para Open Graph.
Configuración básica
La forma más simple es definir una imagen por defecto a nivel de sitio en _quarto.yml:
Con esto, todas las páginas que no especifiquen su propia imagen usarán esta.
Configuración completa (todas las opciones y métodos)
Quarto busca la imagen de vista previa en el siguiente orden de prioridad:
1. Imagen explícita en el front-matter de la página (método recomendado)
# En page.qmd
---
title: "Mi Artículo Genial"
description: "Una guía completa sobre Quarto"
image: /images/mi-articulo-preview.jpg # Ruta relativa al proyecto
# o URL completa:
# image: https://misitio.com/images/mi-articulo-preview.jpg
image-width: 1200 # Opcional: ancho en píxeles
image-height: 630 # Opcional: alto en píxeles
---2. Imagen con clase especial en el contenido Markdown
Quarto selecciona la primera imagen con la clase .preview-image.
3. Imagen por nombre automático
Si no hay ninguna de las anteriores, Quarto busca en la página renderizada un archivo con uno de estos nombres: - preview.png - feature.png - cover.png - thumbnail.png
4. Imagen por defecto del sitio (en _quarto.yml)
5. Desactivar imagen en una página específica
Ejemplos prácticos
1. Configuración global básica + página individual
2. Usando clase .preview-image en el contenido
3. Página con dimensiones específicas (mejora presentación)
4. Sitio con imagen por defecto y algunas páginas personalizadas
Páginas normales: usan la imagen por defecto.
Páginas importantes (blog posts, anuncios): definen su propia image:.
Twitter Cards
Twitter Cards (ahora también conocidas como X Cards) permiten que los enlaces a tu sitio web se muestren de forma enriquecida cuando se comparten en X/Twitter, incluyendo título, descripción, imagen de vista previa y estilo de tarjeta.
Configuración Completa
Opciones
| Opción | Ubicación | Descripción | Ejemplo / Valores posibles |
|---|---|---|---|
twitter-card |
website: |
Activa la generación automática | true |
creator |
Dentro de twitter-card: |
@username del autor del contenido |
"@juanperez" (comillas si incluye @) |
site |
Dentro de twitter-card: |
@username de la cuenta oficial del sitio |
"@quarto_pub" |
card-style |
Dentro de twitter-card: |
Estilo de la tarjeta | summary o summary_large_image |
title |
Global o por página | Sobrescribe el título solo para la tarjeta | “¡Nueva guía de Quarto!” |
description |
Global o por página | Sobrescribe la descripción | “Aprende todo sobre sitios web con Quarto” |
image |
Global o por página | Ruta/URL de la imagen de vista previa | “/images/preview.png” o URL completa |
image-width |
Global o por página | Ancho recomendado de la imagen | 1200 |
image-height |
Global o por página | Alto recomendado de la imagen |
Estilos de tarjeta:
summary: Imagen pequeña al ladosummary_large_image: Imagen grande arriba (recomendado)
Imágenes de vista previa (orden de prioridad)
Quarto busca la imagen en este orden:
Metadato
imageen la página (URL completa o ruta relativa).Imagen con clase
.preview-imageen el contenido:Archivos con nombres:
preview.png,feature.png,cover.png,thumbnail.png.Imagen por defecto del sitio (configurada globalmente):
Para desactivar la imagen en una página específica:
Ejemplos prácticos
1. Configuración mínima recomendada
2. Configuración profesional (global)
3. Personalización por página (en el front-matter de page.qmd)
Nota: Twitter Cards también usa la configuración de Open Graph para título, descripción e imagen.
Google Analytics
Integración con Google Analytics.
Configuración Básica
Configuración Completa
Opciones
| Opción | Descripción | Valores | Recomendación |
|---|---|---|---|
tracking-id |
ID de seguimiento | G-XXXXXXX (GA4) o UA-XXXXX (antiguo) | Obligatorio |
storage |
Almacenamiento | cookies (por defecto) o none |
cookies normal, none para privacidad |
anonymize-ip |
Anonimizar IPs | true o false |
true para RGPD/privacidad |
version |
Versión de GA | 3 o 4 |
Se detecta automáticamente |
Recomendación para Europa:
Ejemplos prácticos
1. Configuración mínima (recomendada para la mayoría)
2. Configuración respetuosa con la privacidad (recomendada en Europa)
Comentarios
Integración de sistemas de comentarios.
Utterances (GitHub Issues)
Opciones de issue-term:
title: Usa el título del post como título del issuepathname: Usa la ruta del posturl: Usa la URL completaog:title: Usa el título de Open Graph
Temas disponibles:
github-light,github-darkpreferred-color-scheme(automático)github-dark-orange,icy-dark,dark-blue,photon-darkboxy-light,gruvbox-dark
Giscus (GitHub Discussions)
Hypothesis
Sección: Format
Define los formatos de salida y sus opciones.
Formato HTML
Configuración Básica
Tema
Temas predefinidos de Bootswatch:
Temas disponibles:
default,cerulean,cosmo,cyborg,darkly,flatlyjournal,litera,lumen,lux,materia,mintymorph,pulse,quartz,sandstone,simplex,sketchyslate,solar,spacelab,superhero,united,vaporyeti,zephyr
Tema claro y oscuro:
Tema personalizado:
CSS Adicional
Tabla de Contenidos
Código
Includes (Archivos Adicionales)
Casos de uso:
- Google Tag Manager
- Scripts personalizados
- Analytics adicionales
- Banners o avisos
Configuración Completa de HTML
format:
html:
# Tema
theme:
light: cosmo
dark: darkly
css: assets/styles.css
# Tabla de contenidos
toc: true
toc-depth: 3
toc-expand: 2
toc-location: left
# Código
code-fold: true
code-copy: true
code-line-numbers: true
code-overflow: scroll
highlight-style: github
# Navegación
page-navigation: true
smooth-scroll: true
link-external-newwindow: true
# Citas
citations-hover: true
footnotes-hover: true
# Includes
include-in-header: assets/gtm-head.html
include-after-body: assets/gtm-body.html
# Grid (ancho de columnas)
grid:
body-width: 1000px
sidebar-width: 300px
margin-width: 200pxFormato PDF
Formato DOCX
Múltiples Formatos
Configuraciones Avanzadas
Filtros
Metadata Compartidos
Estos metadatos se aplican a todos los documentos.
Bibliografía Global
Variables de Entorno
Análisis de Tu Configuración
Voy a analizar tu _quarto.yml sección por sección.
Tu Configuración Actual
project:
type: website
output-dir: _site
resources:
- assets/img/sidebar.jpg
website:
title: "Edison Achalma B.Sc. Econ."
description: "Investigador y educador que aplica la ciencia de datos \
de forma que se dé prioridad a la equidad social."
favicon: assets/img/favicon.png
image: /assets/img/default-preview.jpg
announcement:
content: "¡Bienvenidos a mi mundo! ¡Felices fiestas! Gracias por \
visitar 🎄"
icon: gift
type: primary
dismissable: true
position: below-navbar
open-graph:
title: "Edison Achalma B.Sc. Econ."
description: "Investigador y educador que aplica la ciencia de \
datos de forma que se dé prioridad a la equidad social."
image: /assets/img/sidebar.jpg
image-width: 1200
image-height: 630
locale: es_ES
site-name: "Actus mercator"
twitter-card:
creator: "@achalmaedison"
card-style: summary_large_image
comments:
utterances:
repo: achalmed/methodica
label: utterances
theme: body-light
issue-term: title
site-url: https://methodica.netlify.app/
repo-url: https://github.com/achalmed/methodica
navbar:
right:
- text: About
aria-label: "About Me"
href: https://achalmaedison.netlify.app/about/
- text: "More"
aria-label: "More"
icon: ellipsis-h
menu:
- text: "Econometria"
href: https://epsilon-y-beta.netlify.app/
# ... más items
- icon: github
href: https://github.com/achalmed
- icon: twitter
href: https://x.com/achalmaedison
- icon: rss
href: index.xml
page-footer:
left: >-
© 2026 Edison Achalma · Made with [Quarto](https://quarto.org)
center: |
<a class="link-dark me-1" href="/accessibility.html"></a>
# ... más enlaces
right:
- text: "Accessibility"
href: https://achalmaedison.netlify.app/accessibility
# ... más items
format:
html:
theme:
light:
- cosmo
- assets/theme_light.scss
- assets/colors.scss
- assets/fonts.scss
css: assets/styles.css
include-in-header: assets/gtm-head.html
include-after-body: assets/gtm-body.htmlAnálisis Detallado
Sección: Project
Estado: Correcto y bien configurado.
Sugerencias:
- Considera agregar otros recursos si los necesitas:
Sección: Website - Información Básica
Estado: Excelente.
Nota importante: La ruta de image comienza con / (absoluta desde la raíz), lo cual es correcto.
Anuncio
Estado: Bien configurado.
Sugerencia: El mensaje parece temporal (fiestas). Considera actualizarlo o quitarlo después de las fiestas.
Alternativa neutra:
Open Graph
Estado: Excelente configuración.
Nota: site-name (“Actus mercator”) difiere del title del sitio (“Edison Achalma…”). Esto es intencional. Está bien si quieres un nombre más corto para redes sociales.
Twitter Card
Estado: Correcto.
Sugerencia opcional: Agregar site:
Comentarios
Estado: Bien configurado.
Sugerencias: 1. Verifica que el repositorio achalmed/methodica existe y tiene Utterances instalado. 2. Si usas tema claro/oscuro en tu sitio, considera theme: preferred-color-scheme para que se adapte automáticamente.
Formato HTML
Estado: Excelente configuración avanzada.
Observaciones:
- Tema personalizado bien estructurado (base + SCSS personalizados)
- Google Tag Manager integrado (gtm-head.html, gtm-body.html)
- CSS adicional para estilos personalizados
Sugerencia opcional: Agregar tema oscuro:
Configuración Optimizada
# ========================================================================
# CONFIGURACIÓN DE PROYECTO
# ========================================================================
project:
type: website
output-dir: _site
resources:
- assets/img/sidebar.jpg
- "CNAME" # Si usas dominio personalizado
- ".nojekyll" # Para GitHub Pages
# ========================================================================
# CONFIGURACIÓN DEL SITIO WEB
# ========================================================================
website:
# ----------------------------------------------------------------------
# Información Básica
# ----------------------------------------------------------------------
title: "Edison Achalma B.Sc. Econ."
description: "Investigador y educador que aplica la ciencia de datos \
de forma que se dé prioridad a la equidad social."
site-url: https://methodica.netlify.app/
repo-url: https://github.com/achalmed/methodica
# ----------------------------------------------------------------------
# Imágenes
# ----------------------------------------------------------------------
favicon: assets/img/favicon.png
image: /assets/img/default-preview.jpg
# ----------------------------------------------------------------------
# Anuncio
# ----------------------------------------------------------------------
announcement:
icon: info-circle
content: "**Nuevo:** Explora la colección de recursos de econometría"
type: info
dismissable: true
position: below-navbar
# ----------------------------------------------------------------------
# Open Graph (Redes Sociales)
# ----------------------------------------------------------------------
open-graph:
title: "Edison Achalma B.Sc. Econ."
description: "Investigador y educador que aplica la ciencia de datos \
de forma que se dé prioridad a la equidad social."
image: /assets/img/sidebar.jpg
image-width: 1200
image-height: 630
locale: es_ES
site-name: "Actus mercator"
# ----------------------------------------------------------------------
# Twitter Card
# ----------------------------------------------------------------------
twitter-card:
creator: "@achalmaedison"
site: "@achalmaedison"
card-style: summary_large_image
# ----------------------------------------------------------------------
# Google Analytics
# ----------------------------------------------------------------------
google-analytics:
tracking-id: "G-XGH6TP6RB3"
anonymize-ip: true
# ----------------------------------------------------------------------
# Cookie Consent
# ----------------------------------------------------------------------
cookie-consent:
type: express
style: headline
palette: dark
language: es
policy-url: /privacy
prefs-text: "Preferencias de Cookies"
# ----------------------------------------------------------------------
# Comentarios
# ----------------------------------------------------------------------
comments:
utterances:
repo: achalmed/methodica
label: "comments"
theme: preferred-color-scheme
issue-term: title
# ----------------------------------------------------------------------
# Navegación
# ----------------------------------------------------------------------
navbar:
left:
- text: "Inicio"
href: index.qmd
- text: "Blog"
href: blog/
right:
- text: "About"
aria-label: "About Me"
href: https://achalmaedison.netlify.app/about/
- text: "More"
aria-label: "More Resources"
icon: ellipsis-h
menu:
- text: "Econometría"
href: https://epsilon-y-beta.netlify.app/
- text: "Filosofía"
href: https://dialectica-y-mercado.netlify.app/
- text: "Finanzas"
href: https://pecunia-fluxus.netlify.app/
- text: "Gestión empresarial"
href: https://actus-mercator.netlify.app/
- text: "Gestión pública"
href: https://res-publica.netlify.app/
- text: "Metodología de la investigación"
href: https://methodica.netlify.app/
- text: "Macroeconomía"
href: https://aequilibria.netlify.app/
- text: "Matemáticas"
href: https://axiomata.netlify.app/
- text: "Microeconomía"
href: https://optimums.netlify.app/
- text: "Programación y Software"
href: https://numerus-scriptum.netlify.app/
- text: "Seguridad informática"
href: https://chaska-x.netlify.app/
- icon: github
href: https://github.com/achalmed
aria-label: "GitHub Profile"
- icon: twitter
href: https://x.com/achalmaedison
aria-label: "Twitter/X Profile"
- icon: rss
href: index.xml
aria-label: "RSS Feed"
# ----------------------------------------------------------------------
# Footer
# ----------------------------------------------------------------------
page-footer:
left: >-
© 2026 Edison Achalma · Made with [Quarto](https://quarto.org)
center: |
<a class="link-dark me-1" href="/accessibility.html" title="Accessibility commitment" target="_blank" rel="noopener"></a>
<a class="link-dark me-1" href="https://fosstodon.org/@achalmaedison" title="Mastodon" target="_blank" rel="noopener"></a>
<a class="link-dark me-1" href="https://github.com/achalmed" title="GitHub" target="_blank" rel="noopener"></a>
<a class="link-dark me-1" href="https://linkedin.com/in/achalmaedison" title="LinkedIn" target="_blank" rel="noopener"></a>
right:
- text: "Accessibility"
aria-label: "Accessibility Commitment"
href: accessibility.html
- text: "Contact"
aria-label: "Contact Form"
href: contact.html
- text: "Privacy"
aria-label: "Privacy Policy"
href: privacy.html
- text: "License"
aria-label: "License Details"
href: license.html
- icon: rss
href: index.xml
aria-label: "RSS Feed"
# ========================================================================
# FORMATOS DE SALIDA
# ========================================================================
format:
html:
# Tema
theme:
light:
- cosmo
- assets/theme_light.scss
- assets/colors.scss
- assets/fonts.scss
dark:
- darkly
- assets/theme_dark.scss
- assets/colors.scss
- assets/fonts.scss
# CSS Adicional
css: assets/styles.css
# Includes (Google Tag Manager)
include-in-header: assets/gtm-head.html
include-after-body: assets/gtm-body.html
# Navegación
page-navigation: true
smooth-scroll: true
# Tabla de Contenidos
toc: true
toc-depth: 3
toc-location: right
# Código
code-fold: true
code-copy: true
code-line-numbers: trueCambios principales en la versión optimizada: 1. Tema oscuro añadido 2. Google Analytics y Cookie Consent activados 3. aria-label en todos los íconos 4. Anuncio actualizado (no temporal) 5. Enlaces del footer a rutas locales 6. site añadido a Twitter Card 7. page-navigation: true para mejor UX 8. Comentarios más descriptivos
Casos de Uso Completos
Caso 1: Blog Académico Personal
Escenario: Blog de investigación con posts, publicaciones, about.
# ========================================================================
# BLOG ACADÉMICO PERSONAL
# ========================================================================
project:
type: website
output-dir: _site
website:
title: "Dr. María López"
description: "Investigación en neurociencia cognitiva"
site-url: https://marialopez.com
favicon: assets/favicon.png
navbar:
left:
- text: "Inicio"
href: index.qmd
- text: "Blog"
href: blog/
- text: "Publicaciones"
href: publications.qmd
- text: "CV"
href: cv.qmd
right:
- icon: github
href: https://github.com/mlopez
aria-label: "GitHub"
- icon: twitter
href: https://twitter.com/mlopez
aria-label: "Twitter"
page-footer:
center: "© 2026 María López"
format:
html:
theme: minty
toc: trueCaso 2: Sitio de Documentación Técnica
Escenario: Documentación de software con sidebar.
# ========================================================================
# DOCUMENTACIÓN TÉCNICA
# ========================================================================
project:
type: website
output-dir: docs
website:
title: "MiPaquete Docs"
site-url: https://docs.mipaquete.com
repo-url: https://github.com/org/mipaquete
repo-actions: [edit, issue]
sidebar:
style: "docked"
background: light
contents:
- section: "Getting Started"
contents:
- docs/installation.qmd
- docs/quickstart.qmd
- section: "User Guide"
contents:
- docs/basics.qmd
- docs/advanced.qmd
- section: "API Reference"
contents:
- docs/api/index.qmd
navbar:
right:
- icon: github
href: https://github.com/org/mipaquete
aria-label: "GitHub Repository"
- text: "Changelog"
href: changelog.qmd
format:
html:
theme: cosmo
toc: true
code-copy: true
code-line-numbers: trueCaso 3: Portfolio Personal
Escenario: Portfolio de proyectos con galería.
# ========================================================================
# PORTFOLIO PERSONAL
# ========================================================================
project:
type: website
output-dir: _site
website:
title: "Juan Pérez"
description: "Data Scientist & Visualización"
site-url: https://juanperez.com
navbar:
left:
- text: "Proyectos"
href: projects/
- text: "Blog"
href: blog/
- text: "About"
href: about.qmd
right:
- icon: linkedin
href: https://linkedin.com/in/jperez
aria-label: "LinkedIn"
- icon: github
href: https://github.com/jperez
aria-label: "GitHub"
format:
html:
theme: lux
page-layout: fullCaso 4: Sitio Multilingüe
Escenario: Sitio en español e inglés.
# ========================================================================
# SITIO MULTILINGÜE
# ========================================================================
project:
type: website
output-dir: _site
website:
title: "Mi Sitio / My Site"
navbar:
left:
- text: "Inicio / Home"
href: index.qmd
- text: "ES"
menu:
- text: "Blog (ES)"
href: es/blog/
- text: "About (ES)"
href: es/about.qmd
- text: "EN"
menu:
- text: "Blog (EN)"
href: en/blog/
- text: "About (EN)"
href: en/about.qmd
format:
html:
theme: flatlyCaso 5: Blog de Empresa
Escenario: Blog corporativo con branding.
# ========================================================================
# BLOG CORPORATIVO
# ========================================================================
project:
type: website
output-dir: _site
website:
title: "TechCorp Blog"
description: "Insights y noticias de TechCorp"
site-url: https://blog.techcorp.com
navbar:
logo: assets/logo.png
background: "#1a1a1a"
foreground: light
left:
- text: "Blog"
href: blog/
- text: "Productos"
href: https://techcorp.com/products
- text: "Contacto"
href: https://techcorp.com/contact
right:
- text: "Website Principal"
href: https://techcorp.com
page-footer:
left: "© 2026 TechCorp. Todos los derechos reservados."
center: |
<a href="/privacy">Privacy</a> |
<a href="/terms">Terms</a>
format:
html:
theme:
- assets/corporate-theme.scss
css: assets/branding.cssOptimización y Best Practices
1. Estructura y Organización
Bien organizado:
# ========================================================================
# SECCIÓN CLARA CON COMENTARIO
# ========================================================================
website:
# ----------------------------------------------------------------------
# Subsección
# ----------------------------------------------------------------------
title: "..."Mal organizado:
2. Comentarios Útiles
Buenos comentarios:
Malos comentarios:
3. Validación YAML
Errores comunes:
Validar YAML:
4. Rutas Consistentes
Usar rutas relativas desde la raíz:
5. Seguridad y Privacidad
Configuración recomendada para Europa (RGPD):
6. Accesibilidad
Siempre incluir aria-label en íconos:
7. SEO Básico
Mínimo requerido:
8. Versionado con Git
9. Testing
10. Documentación
Mantener un README.md con notas:
# Configuración del Sitio
# Estructura de Archivos
- `_quarto.yml`: Configuración principal
- `assets/`: Imágenes, CSS, JS
- `blog/`: Posts del blog
# Temas Personalizados
- `theme_light.scss`: Tema claro
- `theme_dark.scss`: Tema oscuro
# Deployment
- Netlify: https://methodica.netlify.app
- Dominio: (pendiente)Troubleshooting
Problema 2: Imágenes Open Graph No Se Muestran
Síntomas:
- Al compartir en redes sociales, no aparece imagen de vista previa
Checklist:
# 1. Verificar que site-url está definido
website:
site-url: https://misitio.com # Obligatorio
# 2. Usar ruta absoluta desde raíz
website:
open-graph:
image: /assets/img/og-image.jpg # Empieza con /
# 3. Verificar dimensiones de imagen
# - Tamaño: 1200x630 px
# - Ratio: 1.91:1
# - Formato: JPG o PNG
# - Máximo: 8 MB
# 4. Verificar que el archivo existe
ls assets/img/og-image.jpgForzar actualización de caché en redes sociales:
- Facebook: https://developers.facebook.com/tools/debug/
- Twitter: https://cards-dev.twitter.com/validator
- LinkedIn: https://www.linkedin.com/post-inspector/
Problema 3: Tema Personalizado No Se Aplica
Síntomas:
- CSS personalizado no tiene efecto
- Tema se ve como el predeterminado
Soluciones:
Problema 4: Google Analytics No Funciona
Síntomas:
- Google Analytics no registra visitas
Checklist:
# 1. Verificar ID de tracking
website:
google-analytics: "G-XXXXXXXXXX" # Verificar formato
# GA4: empieza con G-
# Universal Analytics (antiguo): empieza con UA-
# 2. Esperar 24-48 horas
# Los datos pueden tardar en aparecer
# 3. Verificar con herramientas de desarrollo
# - Abrir DevTools (F12)
# - Network tab
# - Buscar "analytics" o "gtag"
# - Debe haber requests a google-analytics.comProblema 6: Comentarios (Utterances) No Aparecen
Síntomas:
- No se muestra la sección de comentarios
Checklist:
# 1. Verificar configuración
website:
comments:
utterances:
repo: usuario/repositorio # Formato correcto
issue-term: title
theme: github-light
# 2. Verificar que el repositorio existe
# https://github.com/usuario/repositorio
# 3. Verificar que Utterances está instalado
# https://github.com/apps/utterances
# Debe estar instalado en el repositorio
# 4. Verificar permisos
# El repositorio debe ser público o Utterances debe tener accesoProblema 7: Error “Cannot Find Module”
Síntomas:
Error: Cannot find module 'assets/custom.scss'
Solución:
# Verificar que el archivo existe
ls assets/custom.scss
# Si no existe, crearlo o eliminar la referencia
# Si existe, verificar la ruta en _quarto.yml
# Ruta correcta (relativa a _quarto.yml):
theme:
- cosmo
- assets/custom.scss # Correcto
# Ruta incorrecta:
# - /assets/custom.scss # NO usar / al inicio en themeProblema 8: Sitio No Se Actualiza en Netlify
Síntomas:
- Cambios locales funcionan
- Netlify muestra versión antigua
Soluciones:
# 1. Verificar que cambios están en Git
git status
git add _quarto.yml
git commit -m "Update config"
git push
# 2. Verificar build en Netlify
# - Ir a Netlify Dashboard
# - Site > Deploys
# - Ver logs del último deploy
# - Buscar errores
# 3. Limpiar caché de Netlify
# - Netlify Dashboard
# - Site settings > Build & deploy
# - Clear cache and retry deploy
# 4. Verificar configuración de build
# netlify.toml o configuración en UI:
# Build command: quarto render
# Publish directory: _siteComandos Útiles
Comandos Básicos
Comandos de Inspección
Comandos de Limpieza
Comandos de Publicación
Comandos de Desarrollo
Conclusión
Checklist Mínimo para _quarto.yml
# Obligatorio
project:
type: website
website:
title: "..."
format:
html:
theme: cosmo
# Altamente recomendado
website:
description: "..."
site-url: https://...
favicon: assets/favicon.png
navbar: {}
# Recomendado para SEO
website:
open-graph: {}
twitter-card: {}
# Opcional pero útil
website:
google-analytics: "..."
cookie-consent: {}
comments: {}
page-footer: {}Template Rápido (Copiar/Pegar)
# ========================================================================
# TEMPLATE RÁPIDO _quarto.yml
# ========================================================================
project:
type: website
output-dir: _site
website:
title: "TU TÍTULO"
description: "Tu descripción del sitio"
site-url: https://tusitio.com
favicon: assets/favicon.png
navbar:
left:
- text: "Inicio"
href: index.qmd
- text: "Blog"
href: blog/
right:
- icon: github
href: https://github.com/usuario
aria-label: "GitHub"
page-footer:
center: "© 2026 Tu Nombre"
format:
html:
theme: cosmo
toc: true
code-fold: true
code-copy: trueRecursos Adicionales
Documentación oficial:
- Quarto Websites: https://quarto.org/docs/websites/
- Quarto Reference: https://quarto.org/docs/reference/
Herramientas:
- YAML Validator: https://www.yamllint.com/
- Open Graph Debugger: https://developers.facebook.com/tools/debug/
- Twitter Card Validator: https://cards-dev.twitter.com/validator
Publicaciones Similares
Si te interesó este artículo, te recomendamos que explores otros blogs y recursos relacionados que pueden ampliar tus conocimientos. Aquí te dejo algunas sugerencias:
- Ideas De Investigacion Para Economia
- Pautas De Presentacion Del Informe De Investigacion
- Recursos De Bibliografia Y Documentacion
- Recursos Para Traducción Y Correccion
- Tipos De Elementos En Zotero
Esperamos que encuentres estas publicaciones igualmente interesantes y útiles. ¡Disfruta de la lectura!