Détails techniques sur l’affichage de contenu en haut de page

Si on veut placer du contenu en haut de page, il faut éditer le fichier layouts/_partials/haut-de-page.html.

(Le répertoire _partials contient des morceaux de code réutilisables dans les templates. Voir par exempe le fichier layouts/baseof.html, dans lequel on a l’appel {{ partial "haut-de-page.html" . }}, qui sert à afficher ce haut-de-page.)

Page d’accueil

Page d’accueil de la section Cours

Page d’accueil de la section Questions

Voir la page « La diode : pour quoi faire » pour un exemple d’implémentation du codage par couleur des niveaux de difficulté.

Un lien vers une page de ce site décrivant le rôle que jouent les différents sous-répertoires du répertoire contenant les sources de notre site (non, la page est un brouillon)

Quelques explications sur la façon dont Hugo construit la page d’accueil :

Le contenu de la page d’accueil est défini par le fichier layouts/home.html. Il contient le code {{ .Content }} : ce code donne à Hugo l’instruction d’aller chercher, dans le répertoire content/, le fichier correspondant à la page concernée (en l’occurrence, pour la page d’accueil, c’est content/_index.md), de convertir son contenu en HTML et d’insérer le résultat de cette opération dans le fichier HTML final.

Donc pour modifier la page d’accueil, on peut :

Voici une liste des différentes parties du cours, elle est rédigée en markdown et figure dans le fichier content/_index.md :

On peut automatiser la génération d’une telle liste avec du code inséré dans layouts/home.html. Et voilà le résultat (j’en profite pour ajouter un compte du nombre de modules disponibles pour chacune de ces sections ; mais on pourrait ajouter d’autres informations, par exemple une phrase décrivant l’objet de la section, cette phrase serait stockée dans le frontmatter de chaque fichier MD) :

(On peut bien sûr jouer sur l’ordre dans lequel la liste est triée, voir en exclure certains membres. Au passage, le présent paragraphe figure dans le fichier layouts/home.html.)