Initialisation d'un blog avec Pelican sur GitLab Pages!

Introduction

Un des défis quand on cherche à partager du contenu, c’est de le faire simplement et avec efficience.

Je suis à la recherche d’un moyen d’écrire des articles autour du Devops et de publier ces articles sur un blog. L’idée est simplement de décrire comment on pratique l’installation d’applications et l’automatisation des tâches dans une DSI.

J’ai donc essayé diverses méthodes pour créer un blog :

Voici un petit exemple de ce que ça peut donner sur blogger. Mais j’ai eu beaucoup de mal à réaliser la mise en forme :

Blogger

Dans cet article, je vous propose de décrire l’installation de Pelican et l’utilisation pour développer.

Un blog as Code

Gérer le contenu de mon blog comme du code permettra de fusionner la puissance d’un gestionnaire de version comme Git (et les pipelines qui compileront le contenu) avec l’efficience d’un site web statique (html).

Création du dépôt Git

Gitlab propose des modèles de projet déjà prévu pour Pelican. Il suffit de créer un nouveau projet Gitlab et de sélectionner le modèle : Pages/Pelican.

Ce template va initialiser le dépôt git et tout le code nécessaire pour utiliser Pelican.

GitlabTemplate

Cette action a créé l’arborescence du dépôt comme décrite ci-dessous, il faudra maintenant cloner sur la station de travail le code pour l’éditer en local.

git clone https://gitlab.com/<USERNAME>/<REPO_NAME>.git

Les fichiers

Voici un petit descritifs des fichiers initialisés :

/
- content/       # Fichier de contenu du site web: articles markdown, images, ...
- pelicanconf.py # Fichier de configuration de pelican
...

Sous gitlab voici ce que ca donne :

GitlabTemplate

Ajout d’un themes

Après quelques recherches, j’ai choisi d’utiliser le thème pelican-hyde suffisamment épuré et élégant pour mon besoin.

Pour l’installer, on télécharge le thème, on l’ajoute au dépôt git :

curl -L -O https://github.com/jvanz/pelican-hyde/archive/refs/heads/master.zip
unzip master.zip
git add pelican-hyde-master
rm -r master.zip
echo "THEME = 'themes-hyde'" >> pelicanconf.py
git add pelicanconf.py


git commit -m "Add pelican-hyde-master themes"
git push origin master:feat/add-pelican-hyde-master

On ira ensuite sur Git pour créer la merge-request et la merger sur la branche master

Ajout de domaines pour les pages

On peut ajouter dans gitlab-pages des mapping de domaines. Cela permet de servir nos pages statiques sur nos domaines sans utiliser une URL trop compliqué.

De mon côté, j’ai configuré le domaine comme ci-dessous : GitlabCustomDomain

Contribuer

Et voilà, il suffit maintenant de rédiger des articles au format markdown et de les pousser dans Git. On peut très bien utiliser les relectures et contributions (PullRequest) pour bénéficier de toute la puissance de Git.