Découvrez comment j’ai remplacé mon site WordPress par GoHugo, un générateur de sites statiques puissant et flexible. Apprenez à migrer vers Hugo et à tirer parti de ses avantages, notamment la vitesse et la sécurité.
Pourquoi Hugo ?
Il existe plusieurs générateurs de sites statiques (Hexo, Jekyll…) mais Hugo, en plus d’avoir une communauté active et grandissante, a l’avantage d’être codé en Go.
Vos articles seront à rédiger en Markdown ! :)
Configuration
Gitlab
La mise en place est relativement simple à partir du moment où vous avez :
- Activé la CI
- Activé Pages
J’utilise la CI de base :
image: monachus/hugo
variables:
GIT_SUBMODULE_STRATEGY: recursive
pages:
script:
- hugo
artifacts:
paths:
- public
only:
- master
Avec comme configuration pour pages :
pages_external_url "http://pages.domain.tld/"
gitlab_pages['enable'] = true
gitlab_pages['external_http'] = ['*:81'] # Configure to expose GitLab Pages on external IP address, serving the HTTP
pages_nginx['enable'] = false
pages_nginx['ssl_certificate'] = "/etc/gitlab/ssl/cert.pem"
pages_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/privkey.pem"
Vous aurez tous les détails dans la documentation d’Hugo : https://gohugo.io/hosting-and-deployment/hosting-on-gitlab/
GitHub
Il est aussi possible de l’héberger sur GitHub, si vous voulez essayer :
https://gohugo.io/hosting-and-deployment/hosting-on-github/
Migration
Les commentaires
J’ai fait simple, comme vous pouvez le voir, ils sont hébergés chez Disqus
Les articles
La liste des scripts de migration est disponible à cette adresse :
https://gohugo.io/tools/migrations/#wordpress
J’ai utilisé https://github.com/SchumacherFM/wordpress-to-hugo-exporter
Le “script” va vous pondre un zip avec les articles en Markdown (et un peu d’HTML) et vos images. Vous n’aurez plus qu’à sed tout cela pour les nettoyer, réorganiser, etc.
├── content
│ ├── blog : vos articles, pages etc
│ └── static : favicon et autre
│ └── images : les images de vos articles
├── layouts
│ └── partials : modifications du theme
└── themes
└── votretheme : le theme de base
Fonctionnement
Merci VaLouille pour l’inspiration.
Par la suite, j’ai modifié un peu la CI et l’image Docker pour Minifier le contenu d’Hugo