Estructura del repositorio
En este curso trabajaremos solo con GitHub Pages + Codespaces. La meta es que tu repositorio tenga una estructura predecible:
- sabes dónde editar contenido,
- sabes dónde guardar recursos (imágenes y PDFs),
- y entiendes por qué una página sí o no aparece en el menú.
1) Mapa rápido del repositorio (la estructura que usaremos)
.
├─ _config.yml
├─ README.md
├─ index.md
├─ 01-publicar-en-github-pages.md
├─ 02-estructura-del-repo.md
├─ 03-markdown.md
├─ 04-navegacion.md
├─ 05-media.md
├─ 06-estilos.md
├─ _includes/
│ ├─ head_custom.html
│ └─ footer_custom.html
└─ assets/
├─ css/
│ └─ custom.css
├─ img/
│ ├─ logotipo.png
│ └─ (tus imagenes)
└─ files/
└─ (tus PDFs)
¿Qué hace cada cosa?
_config.yml: configuración del sitio (titulo, url/baseurl, tema, opciones).README.md: instrucciones para humanos (como clonar/fork, como publicar).index.md: portada del sitio (Home).*.md: páginas del sitio (cada tema o sección)._includes/: piezas HTML que se “inyectan” (header/footer y extras).assets/: recursos estáticos (CSS, imágenes, PDFs).
Regla práctica: casi todo lo que edites será
.mdyassets/.
2) Qué ocurre cuando haces commit y push (el ciclo completo)
Cuando editas en Codespaces y haces Commit + Push:
- Se suben tus archivos a GitHub (rama
main). - Se dispara un flujo automático (GitHub Actions) para construir el sitio.
- GitHub Pages publica la versión nueva.
- Tu URL se actualiza.
Dónde verificar que ya quedó:
- Actions (ver si está “verde/success”).
- Settings → Pages (ver la URL y el estado de publicación).
Figura 11 Ejecución en Actions (verde).
3) Qué editar normalmente (y qué NO tocar)
Editas con frecuencia
index.md(portada).- Cualquier página
*.md(tus temas). assets/img/(imágenes del curso/documentación).assets/files/(PDFs, hojas de datos, entregables)._config.yml(solo algunos campos; en especialurlybaseurl).
Rara vez editas (solo si necesitas cambiar estilos)
_includes/head_custom.htmly_includes/footer_custom.html(para personalización visual).assets/css/custom.css(Colores de barra de navegación, texto, icono, titulo)
4) Front matter: por qué una página aparece en el menú
Just the Docs usa un bloque YAML al inicio de cada .md llamado front matter.
Sin front matter, la página puede existir, pero normalmente no queda bien integrada al sitio.
Plantilla mínima recomendada:
---
layout: default
title: Mi pagina
nav_order: 10
---
title: lo que verás en el menú.nav_order: el orden en el menú.layout: default: estándar para páginas del curso.
Figura 12: Menú lateral mostrando el orden nav_order.
Secciones con subpáginas (padre/hijas)
Padre (sección):
---
layout: default
title: Unidad 2
nav_order: 20
has_children: true
---
Hija (subpágina):
---
layout: default
title: Subtema 2.1
parent: "Unidad 2"
nav_order: 1
---
Reglas importantes:
- El
parentdebe coincidir exactamente con eltitledel padre. - Mantén máximo 2 niveles (padre → hijas). Más niveles complica navegación y mantenimiento.
5) Convenciones recomendadas
- Nombres de archivo: minúsculas + guiones
mi-primer-apunte.md,sensores-de-temperatura.md - Evita espacios, acentos y símbolos en nombres de archivo.
- Un tema por página (no mezcles 5 temas en un solo
.md). - Mantén tu repo ordenado: imágenes en
assets/img/, PDFs enassets/files/.
Nota: GitHub Pages distingue mayúsculas/minúsculas en rutas.
Foto.pngyfoto.pngNO son lo mismo.
6) Dónde guardar recursos (imágenes y PDFs)
Imágenes
Guárdalas aquí:
assets/img/
Ejemplo de uso en Markdown:

PDFs u otros archivos descargables
Crea/usa:
assets/files/
Ejemplo de link:
[Descargar hoja de datos](assets/files/datasheet-sensor.pdf)
7) Problemas típicos y soluciones rápidas
- La página no aparece en el menú
- Revisa que tenga front matter.
- Revisa
titleynav_order. - Si es hija: revisa que
parentcoincida con eltitledel padre.
- Las imágenes no cargan
- Revisa ruta:
assets/img/... - Revisa mayúsculas/minúsculas del nombre del archivo.
- Revisa que la imagen esté realmente en el repo (commit + push).
- Revisa ruta:
- El sitio carga, pero “sin estilos”
- Suele ser
baseurlincorrecto en_config.yml. - Verifica que
urlybaseurlcorrespondan a tu usuario y nombre de repo.
- Suele ser