HUGO le générateur de sites statiques

Pour construire ce site personnel, j’ai utilisé HUGO, un générateur de sites statiques écrit en GO.

Le site web de HUGO est https://gohugo.io

Sur Linux, oubliez la version de HUGO pacagé par votre distribution. HUGO est un outil moderne, c’est à dire qu’il en sort une version très régulièrement et que cela se fait au détriment de la compatibilité ascendante. HUGO tel qu’il est livré sur la Debian, par exemple, est incapable de compiler quoi que ce soit avec les thèmes proposés sur le site https://themes.gohugo.io/.

Installer HUGO

Pour installer HUGO, il vous faut déjà une installation fonctionnelle de GOLANG avec la variable GOPATH déjà configuré.

Rendez-vous sur https://github.com/gohugoio/hugo et suivez les excellentes instructions d’installation données sur le site.

Ça va installer un paquet de dépendances et compiler un tas de truc. Sur mon i7 dernière génération, ça a pris une plombe, mais je l’ai déjà dit, HUGO est un logiciel moderne: c’est long, c’est complexe.

Mon premier site

Un excellent guide est disponible ici https://gohugo.io/getting-started/quick-start/

Comme HUGO est un logiciel moderne, forcément, sa documentation est incomplète, parfois fausse.

Malgré tout, suivez la documentation et créez votre premier document:

hugo new _index.html

Surtout créez bien votre premier fichier ainsi, sinon ça marche pas (j’ai bien assez galèré pour trouver cette info).

Et ensuite bonne chance, je l’ai peut-être déjà dit mais HUGO est un logiciel moderne, sa doc est pourrie, incomplète, illisible et sûrement obsolète. Mais la syntaxe est puissante et permet de faire plein de choses.

Le mieux pour avoir une idée de base de la syntaxe des templates est de jeter un oeil sur les exemples fournis avec les templates.

Pour visionner votre site en temps réel

hugo server

Puis connectez-vous avec votre browser web sur http://127.0.0.1:1313 .

Pour générer le site:

hugo

Et uploader le contenu du répertoire public sur le serveur web.

CheatSheet

C’est encore très incomplet, mais ça permet au moins de faire quelques pages de base et ça a surtout permis de réaliser ce site.

Command
# Titre
## (et ainsi de suite) Sous-titre
```shell Ouvrir un quote (pour quoter une ligne en shell)
``` Fermer un quote
*Mot* Italique
**Mot** Gras
[Qui suis-je]({{<relref “auteur”>}}) Lien vers une autre page
![Stéphane Tougard](/static/moi.jpg) Afficher une image (dans /static/static)

Pour inclure du HTML brut (par exemple pour quoter une vidéo), créer le fichier /layouts/shortcodes/rawhtml.html avec le contenu suivent:

<!-- raw html -->
{{.Inner}}

Ensuite, il suffit de coder du HTML entre les tags {{< rawhtml >}} et {{< /rawhtml >}}

Ainsi, je peux rajouter une vidéo de LBRY sur mon site.