Générer un sitemap pour Pelican sous Debian
Une des choses qui manque à Pelican pour l'instant est la création d'un sitemap. Personnellement, je n'y connais rien en python, alors pour créer la fonction pour le moteur, c'est pas gagné d'avance.
Par contre, j'ai trouvé comment faire pour peu que vous ayez installé Pelican sous GNU/Linux Debian. Ca doit fonctionner aussi sous Ubuntu normalement.
Installation de Sitemap Generators
On va utiliser un paquet que l'on va installer :
apt-get install google-sitemapgen
Une fois que cela est fait, on va s'occuper de créer un fichier de configuration. Voici mon fichier sitemap.xml en exemple :
<?xml version="1.0" encoding="UTF-8"?> <site base_url="http://freeculture.homelinux.com/" store_into="/var/www/freeculture/sitemap.xml" verbose="1" sitemap_type="web" > <directory path="/var/www/freeculture" url="http://freeculture.homelinux.com" default_file="index.html" remove_empty_directories="true" /> <!-- ignore les fichier de backup finissant par ~ --> <filter action="drop" type="wildcard" pattern="*~"/> <!-- ignore les fichier cachés commençant par un point --> <filter action="drop" type="regexp" pattern="/\.[^/]*"/> </site>
Voila, il n'y a pas grand chose à dire d'autre je pense que le code parle de lui même.
Optimisation
Bon maintenant on va optimiser un peu tout ça. A chaque génération des fichier html, Pelican efface le sitemap. On va donc faire un script qui va générer le sitemap après le compilation du code reStructuredText par Pelican.
Je vous rappelle mon arborescence initiale pour que vous puissiez le faire à votre sauce :
- /var/www/blog
- Répertoire où sont enregistrés les fichiers .rst et le sitemap
- /var/www/freeculture
- Répertoire ou est stocké le site web final
- /var/www/pelican
- Répertoire ou est stocké le code source de pelican
Bon c'est parti, ça fait que quelques lignes.
#!/bin/bash ../pelican/bin/pelican -s setting.py . google-sitemapgen --config=sitemap.xml
A chaque fois que vous aurez fini un article, lancez ce script, et il génerera les page html et le sitemap tout seul comme un grand !