mise en place
Feb 7 2016Hugo
Hugo est un programme de génération de site statique qui permet de transformer aisément des fichiers markdown en site web.
Configuration
Pour connaître l’architecture du système :
$ uname -i
Récupérer hugo et suivre les instructions d’installation (c’est en fait un fichier binaire, il n’y a pas de réelle installation).
On peut maintenant créer un squelette de site :
$ hugo new site <nom du site>
crée un répertoire
$ cd <nom du site>/post/
$ mkdir themes
le dossier themes contiendra l’esthétique du site ainsi que les ressources statiques (javascript, image etc…) qu’on voudra utiliser par la suite.
Maintenant que le dossier de themes est prêt, on peut y cloner un thème
$ cd themes
$ git clone https://github.com/tummychow/lanyon-hugo.git
Le thème ne fonctionnera pas directement : il faut indiquer un paramètre dans le fichier de configuration config.toml à la racine du site :
[Params]
DateForm = "Jan 2 2006"
Tant qu’on est dans le fichier de configuration, on peut (mais pas obligatoire) en profiter pour changer le titre du site et la baseurl
qui contient le nom de domaine :
baseurl = "http://mon-superbe-site/"
languageCode = "fr-fr"
title = "notepad"
On peut maintenant créer un nouveau post :
$ cd <nom du site>
$ hugo new post/premier_post.md
Cette commande créera un fichier post.md dans le répertoire <nom du site>/content/post/
Le fichier post.md
comporte un entête particulier destiné à être interprété par hugo
:
+++
date = "2016-02-07T15:02:19+01:00"
draft = true
title = "titre du post qui sera affiché dans le site"
+++
Ajouter du contenu à la suite de l’entête et lancer la commande :
$ hugo server --theme=lanyon-hugo --buildDrafts
Si on est sous windows, pour la version de hugo disponible actuellement (le problème devrait disparaître pour la version v0.16), il faut plutôt lancer la commande :
$ hugo server --theme=lanyon-hugo --buildDrafts --renderToDisk=true
Cette commande indique à hugo d’utiliser le theme lanyon-hugo (qu’on vient de cloner depuis github) et d’afficher tout les posts, y compris les drafts. En effet, l’entête contenait draft=true
: par défaut, sans l’option --buildDrafts
, hugo n’aurait pas traité notre post.md
pour le transformer en site web.
à ce stade, nous avons une page acessible en prévisualisation dans le navigateur (un vrai navigateur, pas internet explorer) ; il suffit d’indiquer l’url : localhost:1313
dans la barre d’adresse.
Où en est-on ?
Je peux créer un site en rédigeant mes posts en markdown, avec un thème minimaliste et je peux prévisualiser le résultat dans mon navigateur.