Skip to content

kEnAi MSG v1.0.0

Latest

Choose a tag to compare

@jonmircha jonmircha released this 12 Jun 05:16

🦊 kEnAi MSG v1.0.0 — Primera versión pública

kEnAi MSG es un generador de sitios web minimalista hecho con Vanilla PHP, sin dependencias de terceros y sin paso de build: todo se gestiona en una sola carpeta y el HTML se renderiza al vuelo en cada petición. El contenido es el sitio.

Requiere PHP 8.0+. Funciona en Apache (front controller vía .htaccess) y en el servidor de desarrollo con php -S localhost:8084 router.php.

✨ Características

  • Motor de render dinámico: resuelve content/<uri>.{md,html,php} y lo envuelve en un layout. Sin compilación.
  • MarKenai: parser de Markdown propio y sin dependencias (GFM: encabezados con IDs únicos, código con resaltado Prism, tablas, listas anidadas, task lists, tachado, citas, enlaces/imágenes, autolinks y emojis).
  • Diagramas Mermaid con runtime auto-hospedado (sin CDN) y carga diferida en dos niveles.
  • Layouts (page, post) y partials (metatags, header, footer, search).
  • Categorías (/categorias, /categorias/<tag>) y búsqueda de texto completo (/busqueda?q=).
  • SEO automático: canonical, Open Graph, Twitter Cards y <link rel="alternate"> al feed; imagen social desde image o ogImage.
  • Sitemap, Feed RSS y robots.txt dinámicos (/sitemap.xml, /feed.xml, /robots.txt).
  • Borradores y publicación programada (draft: true y fecha futura).
  • Paginación del blog (/blog/page/N, perPage configurable).
  • Prism 1.30.0 auto-hospedado, router.php para desarrollo, LICENSE (MIT) y documentación completa.

🔒 Seguridad

  • Anti Path Traversal con realpath() + validación del nombre de layout.
  • Plantillas .php vía include cacheado, sin eval.
  • Content-Security-Policy estricta + cabeceras (X-Content-Type-Options, X-Frame-Options, Referrer-Policy).
  • Bloqueo de app/ y content/ por HTTP (Apache + desarrollo).
  • Errores por entorno (APP_DEBUG), saneo de URLs y safe mode en MarKenai.

📄 Changelog completo: CHANGELOG.md · 📖 Documentación: README.md