Nammu
Nammu es un motor ligero para blogs basado en MarkDown que reutiliza la estructura de contenidos de PicoCMS -facilitando migraciones- y añade herramientas de edición, plantillas personalizables, generación de RSS y administración de recursos.
Aviso: Artículo actualizado el 16/11 con todas las nuevas funcionalidades de Nammu.
¿Hacia falta otro CMS?
Después del cierre definitivo de Pico CMS los que apostamos por MarkDown y motores de blogs y wikis ligeros en php quedamos huérfanos y con migraciones complicadas por delante.
Nammu es una solución creada desde cero en PHP 8 para minimizar los costes de migración, tener todo lo que nos daba Pico, incorporar las cosas que echábamos de menos en Pico, y poder seguir escribiendo nuestros posts en MarkDown.
Nammu es un motor ligero para blogs, diccionarios, cursos, libros y más basado en PHP 8 y MarkDown con todo tipo de recursos: herramientas de edición, plantillas personalizables, generación de RSS, administración de recursos, sistemas de autoevaluación, integración con redes sociales, etc.
El proyecto se distribuye bajo licencia EUPL y puede ejecutarse en cualquier alojamiento que soporte PHP 8+.
¿Qué mejora respecto a Pico?
- Panel de administración para crear y editar entradas/páginas en Markdown.
- Gestión directa de recursos multimedia, con recorte básico, control de intensidad de color, brillo y contraste y filtro de pixelado.
- Plantillas configurables desde la administración: tipografías Google Fonts, colores, cabeceras, maquetación de portada, footer, meta etiquetas sociales y logotipo flotante.
- Generación automática de
rss.xml(RSS 2.0) con imágenes destacadas, limpieza de etiquetasTOCy reemplazo de vídeos/PDF incrustados por enlaces absolutos para máxima compatibilidad con lectores. - Generación automática de
sitemap.xmlpara facilitar la indexación por Google y otros buscadores. - Parseador Markdown con soporte para listas, encabezados, enlaces, imágenes, código en línea, bloques de cita, código en bloque, blockquotes, superíndices, tachado y tabla de contenidos enlazando con los títulos
h1–h4. - Buscador avanzado (
buscar.php) con soporte para frases exactas, exclusiones con-palabra, filtros por campos (title:,category:,content:), selector de tipo (entradas/páginas) e integración visual configurable desde la plantilla. - Botón extra en las cajas de búsqueda (portada, categorías, post individual, etc.) que enlaza al índice de categorías (modo blog) o al alfabético cuando se usa la ordenación por título (modo diccionario) y, si existe, al índice de itinerarios (cursos, libros, etc.).
- Índice de categorías (
/categorias) y páginas de cada categoría (/categoria/{slug}) que reutilizan la maquetación elegida para la portada e incluyen miniaturas automáticas basadas en la última entrada de cada categoría. - Selector de recursos multimedia compatible con imágenes, vídeos (MP4, WebM, MOV…) y documentos PDF. Al insertar desde el modal, los vídeos se convierten en bloques centrados, los PDF se incrustan a ancho completo y las URLs directas de YouTube se transforman automáticamente en iframes responsivos.
- Integración opcional con Telegram, WhatsApp Cloud API, Facebook Pages y Twitter/X para enviar las entradas automáticamente al publicar (también se puede reenviar manualmente desde la tabla de “Editar”).
- Índice alfabético: al elegir el modo diccionario en Configuración, la portada agrupa las entradas por letra (A, B, C…, “Otros”), se activa el índice de letras (
/letras) y las vistas por letra (/letra/{slug}) que reutilizan la maquetación elegida. - Bloque “Entrada” dentro de la pestaña Plantilla para decidir si las entradas muestran un índice de contenidos por defecto (a partir de 2, 3 o 4 encabezados). El sistema añade el TOC en entradas publicadas y borradores, pero respeta las etiquetas toc si ya las incluiste manualmente.
- TOC automático opcional: si lo activas cada post mostrará el índice al inicio del contenido siempre que alcance el mínimo de encabezados definido; las páginas quedan excluidas por diseño y puedes desactivar la función post a post insertando tu propio TOC.
- Tratamiento diferenciado de entradas y páginas: las páginas usan la misma ruta amigable
/slug, pero muestran cintillas de actualización específicas (con fecha calculada a partir del YAML o, si falta, de los metadatos del archivo) y pueden compartir maquetación con las entradas según la plantilla elegida. - Modo borradores: desde “Publicar” puedes guardar contenidos como borrador; la pestaña “Editar” incorpora un filtro “Entradas | Páginas | Borradores” y las entradas en borrador quedan fuera de RSS, sitemap, índices, búsqueda y portada. Si accedes por URL directa, el post muestra un sello rojo “Borrador” en la vista individual.
- Itinerarios temáticos: agrupa múltiples archivos Markdown bajo
/itinerarios/{slug}con portada, índice visual, contenidos renderizados como entradas, autoevaluaciones (para la presentación del curso/libro y para cada tema), lógica de progreso basada en cookies (modo libre, secuencial o condicionado a aprobar los tests) y compatibilidad con recursos (vídeos, PDF, etc.). Incluye estadísticas de inicio/avance por tema, y genera un feed específicoitinerarios.xmlademás de añadir un acceso directo al índice de itinerarios en todas las cajas de búsqueda del sitio. - Compatible con la estructura de directorios de PicoCMS (
content/yassets/), lo que simplifica migraciones.
Orden alfabético, índices y buscador
- En Configuración → Ordenar posts por puedes elegir “Orden alfabético (A-Z)”. Cuando está activo:
- La portada agrupa automáticamente las entradas por letra inicial mostrando bloques
A,B,C, … (también un bloque “Otros” para títulos que no empiezan por letra). - Se habilita un botón adicional en todas las cajas de búsqueda que enlaza al nuevo índice alfabético.
- Puedes acceder al listado completo de letras en
/letrasy a las páginas individuales/letra/{slug}(por ejemplo/letra/ao/letra/otros). Ambas reutilizan la maquetación seleccionada en Plantilla (columnas, tarjetas, etc.). - Si vuelves a la ordenación cronológica, la portada y las rutas alfabéticas regresan a su comportamiento habitual y el botón del buscador desaparece automáticamente.
¿Dónde puedo descargarlo y probarlo?
En el repositorio de Nammu en GitHub.