Sobre el proyecto
escaping es un generador de sitios personales con una visión definida (opinionated), cuya filosofía central es tratar los GitHub Issues como entradas para una compilación determinista en lugar de datos de renderizado instantáneo. A través de un flujo de trabajo por etapas que incluye el análisis de contenido, la asignación de rutas, la purificación de HTML y la validación de artefactos, compila los Issues en un sitio web estático completo.
Sus capacidades principales incluyen:
1. Gestión de contenido: Soporta la extracción de contenidos para Blog, Ideas y páginas de About desde GitHub Issues con etiquetas y front matter.
2. Modelo de sitio: Genera de manera unificada la página de inicio, páginas de archivo, páginas de detalles, páginas de proyectos, páginas de etiquetas, así como artefactos de SEO como Atom feed, sitemap y robots.txt.
3. Sistema de temas: Incluye varios temas integrados (como geoqiao.me, Escape1, Escape2, Quiet) y permite la carga de temas personalizados locales.
4. Mecanismos de seguridad: Incluye una lista blanca de HTML para Markdown, validación estricta de URLs, restricciones de directorios de salida y escape automático de Jinja.
5. Proceso de publicación: Emplea un mecanismo de publicación por etapas; los nuevos artefactos se validan en un entorno de staging y luego reemplazan la salida oficial mediante el renombrado de directorios, permitiendo la reversión (rollback).
Esta herramienta requiere un entorno de Python 3.11+ y se recomienda el uso de uv para la gestión de dependencias. Separa la lógica del generador de la configuración del sitio, permitiendo que los usuarios mantengan la configuración y el contenido en repositorios independientes.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.