Rémi Flamary

Site web professionel

Webgen.py

Webgen.py est une implémentation Python du générateur de sites web statiques webgen. Il n'est pas totalement compatible avec webgen, des fonctionnalités manques et certaines ont été ajoutées.

Caractéristiques

  • Génération rapide et multilingue (.en.page, .fr.page) de sites web statiques.
  • Compatibilité avec l'architecture de sites webgen
  • Architecture propre et lisible des sites web (un fichier .page == ue page html).
  • Ficher de configuration plus lisible (pas en yaml)
  • Templates des pages web en Jinja2 (possibilité de définir un template par page).
  • Gestion simple des posts de blogs (pas générés en page mais imprimables à travers des boucles dans les templates).
  • Toutes les propriétés mise en dans l'entête des fichers .pages sont utilisables dans les templates.
  • Liens et menu de langue configurables simplement.
  • Génération automatique de fichier sitemap.xml.

Caractéristiques moins désirables:

  • Page uniquement en Markdown pour le moment (facile à changer).
  • Pas utilisable sur un site webgen tel quel (fichier de config et templates à adapter)
  • Pas de menu hierachique, toutes les pages sont au même niveau
  • Pas trop testé.

Téléchargement

Version courante : 0.1

Télécharger : python-webgen.zip

Déport GitHub : Dépot

Installation

Modules python requis

Le fichier webgen.py est exécutable mais un certain nombre de modules python sont requis:

  • argparse (>=0.1)
  • configobj (>=4.7)
  • jinja2 (>= 2.6)
  • markdown (>= 2.1)

Ils peuvent facilement être installés sur un debian-like par:

apt-get install python-argparse python-configobj python-jinja2 python-markdown

Test

Le paquet contient un site web de test:

  • config.cfg un fichier config de démo
  • templates dossier contenant les templates
  • src source du site web

executer webgen.py dans le dossier pour générer le site web dans le sous-dossier out :

$ ./webgen.py

Documentation

Il n'y a pour le momenet quasiment pas de documentation mais l'architecture de site web est la même que pour webgen et le code Python est encore relativement simple.