Centro de Estudios Maximalistas Maximalismo

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.

Nammu
Contenido

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 etiquetas TOC y reemplazo de vídeos/PDF incrustados por enlaces absolutos para máxima compatibilidad con lectores.
  • Generación automática de sitemap.xml para 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ífico itinerarios.xml ademá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/ y assets/), 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 /letras y a las páginas individuales /letra/{slug} (por ejemplo /letra/a o /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.

Descubre ahora
Nuestro primer itinerario Nuestro primer itinerario Nuestro «regalo» de Nochebuena Nuestro «regalo» de Nochebuena Reabrimos el blog pero... Reabrimos el blog pero... Suscríbete a la primera newsletter maximalista Suscríbete a la primera newsletter maximalista

Síguenos en el Fediverso

Si tienes un blog en Nammu o cuenta en un servidor Mastodon, Smac2, Akkoma o compatible con Activity Pub, pega el siguiente nombre de cuenta en el buscador de usuarios o perfiles y síguela como a cualquier otro perfil.

@maximalismo@maximalismo.blog

Si tu servidor no encuentra la cuenta enseguida, pega el identificador completo en ese mismo buscador.

Visita nuestra página de perfil
Recibirás una alarma por correo electrónico cada vez que publiquemos una nueva entrada del blog, un nuevo itinerario o una nueva entrega de nuestro podcast. También puedes suscribirte a nuestro newsletter irregular sin noticias ni artículos.
Imagen del anuncio