Un aspect très utile des dépôts GitHub est qu’ils nous permettent d’héberger des sites Web statiques grâce à GitHub Pages. Mais saviez-vous que vous pouvez également afficher de manière dynamique tous vos dépôts GitHub sur votre site Web??
Dans ce tutoriel, je vais vous montrer un bon truc en utilisant les métadonnées du référentiel pour créer un portefeuille de vos projets open source, comme ceci:
Avant de commencer, vous devrez vous assurer que tous vos projets open source sont à la hauteur. Cela signifie qu’ils doivent disposer d’un fichier readme décent et d’une licence appropriée. Cela n'a pas l'air bien si votre readme est manquant ou inexact. De plus, vous devrez renseigner les champs description et url de manière appropriée. Ceux-ci seront utilisés dans chaque élément du portefeuille.
Tout d'abord, nous devons créer un nouveau rapport sur GitHub. Pour déclencher GitHub Pages, vous devez soit nommer le dépôt en tant que votre nom d'utilisateur suivi de .github.io oui, dans mon cas daviddarnes.github.io ou un repo nommé de votre choix, mais avec une branche principale appelée gh-pages.
Le bouton «new repo» sur github.comSi vous débutez dans GitHub et que vous ne savez pas comment configurer un référentiel, jetez un coup d'œil à cette introduction de Dan Wellman pour débutant..
Je recommanderais le nomutilisateur.github.io repo, si vous ne l'utilisez pas déjà pour autre chose. De nombreuses entreprises telles que Yelp, IBM et Square utilisent leur site Web principal github.io pour présenter leurs projets open source, mais tout dépend de vous..
Assurez-vous de sélectionner Jekyll dans le .liste déroulante lors de la création de votre repo.
Nous ne créerons pas un site Jekyll complet, mais nous tirerons parti de certaines de ses fonctionnalités. Si vous avez besoin d’aide pour utiliser Jekyll, consultez le cours brillant de Guy Routledge. Créer des sites Web statiques avec Jekyll.
Après avoir cloné le référentiel (en l'ajoutant à votre ordinateur local), vous pouvez commencer à ajouter les fichiers essentiels nécessaires pour répertorier vos projets GitHub..
Pour configurer notre site de projets, nous devons créer un _config.yml fichier. C'est ce qui est utilisé pour configurer notre projet Jekyll. Il n’ya pas beaucoup de configuration requise, nous devons simplement dire à Jekyll d’ignorer la readme.md fichier:
# Ignorer les fichiers repo exclure: - README.md
Le fichier de configuration indiquera également au serveur que nous avons l'intention d'utiliser Jekyll avec ce dépôt..
L’autre fichier dont nous avons besoin est un fichier index.html. Dans ce fichier, nous allons parcourir les référentiels de GitHub via leur API de métadonnées. Nous pouvons le faire avec le pouvoir de Liquid, qui est le langage de gabarit au sein de Jekyll. Vous devez ajouter les éléments suivants en haut du fichier d'index pour autoriser l'utilisation de Liquid:
--- # Matière avant ---
Les deux jeux de tirets sont utilisés pour envelopper matière première pour le fichier; paramètres pour cette page particulière. Cependant, étant donné que nous n'avons actuellement aucun paramètre pour le fichier, je viens de laisser un commentaire à cet endroit..
Dans le fichier index.html, nous devons ajouter une structure HTML et un peu de liquide pour parcourir en boucle les projets. Voici ma structure HTML simple:
Pour commencer, nous avons juste un
élément avec un seul contenant un
, mais je prévois d'ajouter plus de détails plus tard.
Vient ensuite le code liquide. Dans l'exemple suivant, j'ai utilisé la structure de liste et je l'ai associée à la boucle de liquide:
Prenons un moment pour expliquer ce qui se passe. Nous passons en boucle sur chaque repo site.github.public_repositories
. site.github
est l'endroit où toutes les métadonnées pour les dépôts GitHub sont stockées, en partie comme tous les référentiels publics.
Ensuite, pour les besoins de cette démo, j’ai limité la boucle avec limite: 28
, donc la page de démonstration n'est pas trop longue.
Ensuite, je vérifie si c'est un repo forké. Si repo.fork
n'est pas vrai, nous allons continuer avec la sortie. Si vous aimez contribuer à d'autres projets sur GitHub, comme moi, alors vous avez tendance à avoir quelques repos à la fourche. Cette vérification, si vous le souhaitez, les empêchera d'apparaître dans votre portefeuille..
Enfin, pour chaque repo, nous sortons les valeurs repo.homepage
et repo.name
dans une ancre.
Maintenant, vous devez appliquer ces modifications et les pousser. soit à maîtriser ou gh-pages (selon la configuration que vous avez choisie). Ensuite, pour afficher votre site de liste de projets de base:
Ce ne sera pas encore une sortie très excitante. Voici à quoi ressemble la démo de base en utilisant mon propre compte GitHub:
Il est temps d'ajouter du style et des détails à nos projets!
Vous pouvez effectuer toutes sortes de vérifications et de filtrages avec les métadonnées GitHub. Certaines des valeurs de données ont été documentées, mais si vous souhaitez des exemples plus détaillés, vous pouvez explorer leur API. Tout d’abord, nous devrions ajouter un fichier CSS pour pouvoir styliser la page..
Grâce à Jekyll, nous pouvons utiliser un fichier SCSS pour personnaliser directement notre portefeuille. Créez un fichier styles.scss dans un nouveau répertoire css et ajoutez un commentaire avant-propos en haut du fichier:
--- # Modes ---
Ce commentaire fonctionne de la même manière que dans le fichier index.html. Jekyll reconnaît le fichier et gère le prétraitement pour nous. Vous pouvez styler les choses comme vous le souhaitez, mais après un peu de travail sur Flexbox et l'ajout de Google Fonts, voici ce que j'ai:
Regardez le SCSS onglet sur la démo ci-dessus pour voir comment j'ai stylé les choses.
Essayons maintenant d’apporter des informations supplémentaires sur chaque référentiel. Tout d'abord, ajoutons une description:
repo.description
repo.description
apportera à travers la description qui apparaît au-dessus de votre référentiel sur GitHub.
Pourquoi ne pas montrer le nombre d'étoiles et de fourchettes que nous avons également sur chaque référentiel? Nous pouvons y arriver avec repo.stargazers_count
et repo.forks_count
ainsi:
repo.description
Comme cela est montré, vous pouvez exposer beaucoup de données de vos référentiels GitHub. Une partie de ceci est d'essai et d'erreur; il suffit d'essayer différentes valeurs et de vérifier les résultats. Jekyll ne devrait pas générer d'erreur (la plupart du temps), vous pourrez ainsi voir si le résultat fonctionne ou non sur la page en direct..
Dans mon exemple, j'ai ajouté des icônes et des couleurs à chaque élément pour refléter la langue principale dans laquelle ils ont été écrits. J'ai réalisé cela en ajoutant une classe à l'aide de repo.language
. J'ai ensuite pu styliser chaque article en fonction de la langue. Voir l'exemple suivant:
Dans l'exemple ci-dessus, j'utilise des liquides downcase
filtre pour supprimer les caractères majuscules. Vous verrez également que j'ai ajouté une icône sous la forme d'un sprite SVG. Encore une fois, j'utilise repo.language
comme identifiant pour chacune de mes icônes. Si vous voulez en savoir plus sur les icônes de sprite SVG, jetez un coup d'œil au tutoriel que j'ai écrit il y a quelque temps:
Bien sûr, votre propre page de projets n'a pas à ressembler à cela. Vous pouvez être aussi créatif que vous le souhaitez! Par exemple, voici mon site personnel de projets open source: https://daviddarnes.github.io. J'ai utilisé pas mal de fonctionnalités et astuces dans le mien, alors si vous voulez en choisir un, vous pouvez voir le code sur GitHub.
Il y a un ou deux détails que nous n'avons pas abordés, et quelques fonctionnalités que nous pourrions ajouter.
Faites-nous savoir dans les commentaires comment vous vous en sortez!