À propos du projet
escaping est un générateur de sites personnels avec une approche marquée (opinionated), dont le concept central est de considérer les GitHub Issues comme des entrées de compilation déterministe plutôt que comme des données de rendu instantané. Il compile les Issues en un site web statique complet via un pipeline par étapes comprenant l'analyse du contenu, l'attribution du routage, la purification HTML et la validation des artefacts.
Les capacités principales incluent :
1. Gestion du contenu : support de l'extraction du contenu des pages Blog, Ideas et About à partir de GitHub Issues avec étiquettes et front matter.
2. Modèle de site : génération unifiée de la page d'accueil, des pages d'archives, des pages de détails, des pages de projets, des pages de tags, ainsi que des produits SEO tels que le flux Atom, le sitemap et le robots.txt.
3. Système de thèmes : thèmes intégrés multiples (tels que geoqiao.me, Escape1, Escape2, Quiet) et support du chargement de thèmes personnalisés locaux.
4. Mécanismes de sécurité : inclut une liste blanche HTML pour Markdown, une validation stricte des URL, des restrictions sur le répertoire de sortie et l'échappement automatique de Jinja.
5. Processus de publication : adoption d'un mécanisme de publication par étapes, où les nouveaux artefacts sont validés dans un environnement de staging avant de remplacer la sortie officielle par renommage de répertoire, permettant ainsi le rollback.
Cet outil nécessite un environnement Python 3.11+ et recommande l'utilisation de uv pour la gestion des dépendances. Il sépare la logique du générateur de la configuration du site, permettant aux utilisateurs de maintenir la configuration et le contenu du site dans un dépôt indépendant.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.