Guía rápida: cómo escribir una entrada

Hazu 2 min de lectura

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:

  1. Listas numeradas
  2. Listas con guiones
  3. 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 ![texto](/static/img/foto.png)
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/.