Avec Hugo installé, nous pouvons maintenant créer la structure de notre nouveau site et y intégrer le thème PaperMod. Ce thème est apprécié pour sa simplicité, sa rapidité, son design épuré et ses nombreuses fonctionnalités, y compris un bon support pour le multilinguisme.
1. Initialisation d’un Nouveau Site Hugo
Ouvrez votre terminal ou invite de commandes, naviguez jusqu’au répertoire où vous souhaitez créer votre site (par exemple, ~/Sites
ou C:\Users\VotreNom\Documents\Sites
), puis exécutez la commande suivante pour créer un nouveau site Hugo. Remplacez mon-nouveau-site
par le nom que vous souhaitez donner à votre projet :
|
|
Cette commande crée un nouveau dossier nommé mon-nouveau-site
(ou le nom que vous avez choisi) avec la structure de base d’un projet Hugo :
Naviguez dans le répertoire de votre nouveau site :
|
|
Note sur le fichier de configuration : Les versions récentes de Hugo utilisent hugo.toml
par défaut. Si vous voyez config.toml
, c’est également correct. La syntaxe TOML, YAML (config.yaml
ou hugo.yaml
) ou JSON (config.json
ou hugo.json
) peut être utilisée.
Pour la suite de cet article, nous utiliserons principalement la syntaxe YAML dans un fichier nommé hugo.yaml
pour sa lisibilité, mais les exemples seront facilement adaptables en TOML si vous préférez hugo.toml
.
Si votre site a été créé avec hugo.toml
, vous pouvez le renommer en hugo.yaml
et adapter la syntaxe, ou continuer avec TOML.
2. Installation du Thème PaperMod
Il existe deux méthodes principales pour installer un thème Hugo : en tant que submodule Git (recommandé si votre projet est sous Git) ou par téléchargement manuel.
Option 1 : Installation via Submodule Git (Recommandé)
Cette méthode est la plus propre si vous prévoyez d’utiliser Git pour gérer votre projet. Elle facilite les mises à jour du thème.
Initialisez un dépôt Git dans le répertoire de votre site (si ce n’est pas déjà fait) :
1
git init
Ajoutez le thème PaperMod comme submodule : Exécutez la commande suivante à la racine de votre projet Hugo (
mon-nouveau-site
) :1
git submodule add --depth=1 https://github.com/adityatelange/hugo-PaperMod.git themes/PaperMod
Cela clone le thème dans le dossier
themes/PaperMod
.Mettre à jour le thème (plus tard) : Pour récupérer la dernière version du thème, vous pourrez utiliser :
1
git submodule update --remote --merge
Si vous n’êtes pas à l’aise avec les submodule, téléchargez et installez manuellement.
Option 2 : Installation Manuelle (Téléchargement)
Si vous n’utilisez pas Git, vous pouvez télécharger le thème manuellement.
- Allez sur la page GitHub du thème PaperMod : https://github.com/adityatelange/hugo-PaperMod.
- Cliquez sur le bouton “Code” puis “Download ZIP”.
- Extrayez l’archive ZIP.
- Renommez le dossier extrait (par exemple,
hugo-PaperMod-master
) enPaperMod
. - Copiez ce dossier
PaperMod
dans le répertoirethemes/
de votre site Hugo. Vous devriez avoirthemes/PaperMod/
.
3. Configuration de Base du Thème
Nous allons opter pour une structure de configuration modulaire, comme vu dans nos notes sur le multilinguisme, en utilisant un dossier config/_default/
.
Créez les dossiers et fichiers suivants si ce n’est pas déjà fait :
|
|
Une fois le thème installé, vous devez indiquer à Hugo de l’utiliser. Ouvrez votre fichier de configuration principal (par exemple, hugo.yaml
ou hugo.toml
à la racine de votre site) et ajoutez/modifiez les lignes suivantes.
Contenu de hugo.yaml
(fichier principal à la racine) :
|
|
Contenu de config/_default/config.yaml
:
|
|
Contenu de config/_default/languages.yaml
:
(Nous reprendrons et affinerons cette partie dans la section dédiée au multilinguisme, mais voici une base)
|
|
Contenu de config/_default/params.yaml
(paramètres globaux du thème PaperMod) :
|
|
N’oubliez pas de créer les images référencées (profile.png, favicons) et de les placer dans le dossier static/images/
.
Placer ces images dans static, permettent de ne pas les com
4. Création d’un Premier Article (Test)
Pour vérifier que tout fonctionne, créons un premier article.
|
|
Ouvrez le fichier content/posts/mon-premier-article.md
et modifiez-le :
|
|
5. Lancement du Serveur de Développement Hugo
À la racine de votre projet, lancez le serveur de développement Hugo :
|
|
Ou, si vous voulez inclure les brouillons (articles avec draft: true
) :
|
|
Hugo va compiler votre site et le rendre disponible localement, généralement à l’adresse http://localhost:1313/
. Ouvrez cette URL dans votre navigateur. Vous devriez voir votre site avec le thème PaperMod et votre premier article.
6. Création de la Page de Contact Multilingue avec Google Form
Comme demandé, nous allons créer une page de contact qui intègre un formulaire Google Form, avec une version pour chaque langue.
Créez vos Google Forms :
- Allez sur Google Forms et créez deux formulaires : un en français et un en anglais.
- Personnalisez-les selon vos besoins (champs, questions, etc.).
- Une fois un formulaire créé, cliquez sur le bouton “Envoyer” (ou “Send”).
- Choisissez l’onglet
< >
(Intégrer HTML). - Copiez le code
<iframe>
fourni. Faites cela pour les deux formulaires.
Créez les fichiers de contenu pour les pages de contact :
Pour le français :
content/fr/contact.md
Créez ce fichier et ajoutez le contenu suivant, en remplaçantURL_GOOGLE_FORM_FRANCAIS
par le code iframe de votre formulaire français :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
--- title: "Contactez-nous" layout: "page" # Utilise le layout de page par défaut de PaperMod slug: "contact" # Vous pouvez ajouter d'autres métadonnées si nécessaire # Par exemple, pour ne pas l'inclure dans les listes d'articles classiques : # menu: "main" # weight: -10 # Pour le placer à la fin du menu si vous l'ajoutez au menu principal # headless: true # Si vous ne voulez pas qu'elle apparaisse dans les listes de pages --- ## Nous Contacter N'hésitez pas à nous laisser un message en utilisant le formulaire ci-dessous. <!-- Intégrez ici le code iframe de votre Google Form Français --> <div class="google-form-container"> <iframe src="URL_GOOGLE_FORM_FRANCAIS_CORRECTE_EXTRAITE_DE_L_IFRAME" width="100%" height="800" frameborder="0" marginheight="0" marginwidth="0">Chargement…</iframe> </div>
Pour l’anglais :
content/en/contact.md
Créez ce fichier et ajoutez le contenu suivant, en remplaçantURL_GOOGLE_FORM_ANGLAIS
par le code iframe de votre formulaire anglais :1 2 3 4 5 6 7 8 9 10 11 12 13 14
--- title: "Contact Us" layout: "page" slug: "contact" --- ## Get in Touch Feel free to leave us a message using the form below. <!-- Intégrez ici le code iframe de votre Google Form Anglais --> <div class="google-form-container"> <iframe src="URL_GOOGLE_FORM_ANGLAIS_CORRECTE_EXTRAITE_DE_L_IFRAME" width="100%" height="800" frameborder="0" marginheight="0" marginwidth="0">Loading…</iframe> </div>
Important concernant l’iframe : Google Forms vous donne un code
<iframe src="URL_ICI" ...></iframe>
. Vous devez extraire uniquement l’URL qui est dans l’attributsrc
et la mettre dans l’exemple ci-dessus. Assurez-vous quemarkup.goldmark.renderer.unsafe: true
est bien dans votreconfig/_default/config.yaml
pour que l’iframe s’affiche.Ajoutez les pages de contact aux menus (optionnel, mais recommandé) : Modifiez
config/_default/menus.fr.yaml
:Modifiez
config/_default/menus.en.yaml
:Si
defaultContentLanguageInSubdir
esttrue
, l’URL pour l’anglais serait/en/contact/
et pour le français/fr/contact/
. SidefaultContentLanguageInSubdir
estfalse
(comme dans notre exemple), l’URL pour le français est/contact/
et pour l’anglais/en/contact/
.Relancez
hugo server
si besoin. Vous devriez maintenant avoir des pages de contact fonctionnelles dans les deux langues, accessibles via les menus (si configurés) ou directement par leur URL (par exemple,http://localhost:1313/contact/
ethttp://localhost:1313/en/contact/
).
Vous avez maintenant un site Hugo fonctionnel avec le thème PaperMod, une configuration de base, un premier article, et une page de contact multilingue. Dans la section suivante, nous allons approfondir la configuration multilingue pour l’ensemble du site.