Guía rápida: cómo escribir una entrada
Para publicar una entrada solo hay que crear un archivo .md dentro de la carpeta blog/. No hay que registrar nada ni reiniciar el servidor: la aplicación detecta los archivos nuevos (y los cambios) por sí sola.
El nombre del archivo es la dirección de la entrada: guia-de-formato.md se publica en /blog/guia-de-formato. Conviene usar minúsculas y guiones, sin espacios.
La cabecera
Cada archivo empieza con un bloque entre --- llamado frontmatter. Este es el de la entrada que estás leyendo, con todos los campos posibles:
---
title: "Guía rápida: cómo escribir una entrada" # si falta, se usa el nombre del archivo
author: hazu # OBLIGATORIO: un autor definido en app/authors.py
date: 2026-10-18 # AAAA-MM-DD; si falta, se usa la fecha del archivo
summary: Un resumen corto para la portada. # si falta, se usa el primer párrafo
tags: [guía, markdown] # opcional
draft: true # opcional: con true la entrada no se publica
---
Dos detalles importantes:
- Si el título o el resumen contienen dos puntos (
:), tienen que ir entre comillas, como arriba. Es la causa más común de que una entrada no aparezca. - Si el autor no existe, la entrada se ignora y el motivo aparece en la consola donde corre el servidor.
El markdown que puedes usar
Después de la cabecera va el texto normal. Se admiten negritas, cursivas, código en línea, enlaces y listas:
- Listas numeradas
- Listas con guiones
- Y títulos con
##y###
Las citas se escriben con un
>al principio de la línea.
También hay bloques de código con colores. Se indica el lenguaje justo después de las tres comillas invertidas:
def saludar(nombre: str) -> str:
return f"Hola, {nombre}"
Y tablas:
| Quiero… | Escribo… |
|---|---|
| Una imagen |  |
| Una línea divisoria | --- |
| Un título de sección | ## Título |
Las imágenes se guardan en app/static/img/ y se enlazan con la ruta que empieza por /static/img/.