Générer votre profil github dynamiquement en python
Github permet de personnaliser son profil avec un simple fichier
Readme. Pour l’activer rien de plus simple, il suffit juste de créer un
repository portant le même nom que votre compte github.
Par exemple, mon compte github se nomme stephrobert, il a suffit donc que
je crée un repositorystephrobert et d’y déposer un fichier Readme:MD
dedans. Dans ce fichier, vous pouvez mettre du contenu au format markdown ou
html.
Rien de plus simple il suffit d’utiliser le langage de votre choix, celui que
vous maîtrisez. Personnellement, je l’ai écrit en Python.
Pour cela plutôt que d’écrire tout le code, j’ai décidé d’utiliser le package
pythonprofile-readme ↗.
Au lieu de faire un fork du projet et vu que ce package peut être utilisé dans
comme librairie, je vous propose de vous montrer comment y arriver le plus
simplement et d’y ajouter tout ce qui vous ferait plaisir.
Création de votre projet
J’utilise poetry comme gestionnaire de packages python. Commençons par
initialiser le projet et ajoutons le package :
Maintenant ajoutons le package profile-readme :
Pour ajouter des packages qui ne sont utilisés que pour le développement.
Exemple black le formateur python :
Vous devriez obtenir ce fichier :
Écriture du générateur de profil github
Il faut créer deux fichiers. Le premier se nomme build.py :
Remplacez votre_compte par le nom de votre compte github. Et un second
fichier qui se nomme README-TEMPLATE.md : avec ce contenu :
Maintenant pour générer le fichier Readme.md, il suffit de lancer votre
programme python :
Vous devriez obtenir ce fichier README.md :
Bien sûr, le contenu dépend de votre profil github. Le lien vers le blog existe
que si dans votre profil, il existe.
Ajouter vos informations
Pour ajouter des informations à votre profil, il faut ajouter des champs au
dictionnaire contexte. Par exemple je vais vous montrer comment ajouter la météo
actuelle. Pour cela je fais appel au site wttr.in ↗ avec le
paramètre
Ce qui se traduit en python en utilisant la librairie requests :
On update la variable contexte avec la fonction du même nom. Ensuite dans le
fichier template on ajoute ces lignes :
On relance la génération et on obtient :
Vous avez compris le principe ? Si oui il vous reste plus qu’à … Mais non,
allez dans mon profil ↗ et copiez
les quelques fonctions que j’ai écrites :