Pourquoi Hugo ?
Il existe plusieurs générateur de sites statiques (Hexo, Jekyll …) mais Hugo, en plus d’avoir un communauté active et grandissante, a l’avantage d’être codé en Go.
Vos articles seront a rédiger en Markdown ! :)
Configuration
Gitlab
La mise en place est relativement simple a partir du moment ou vous avez :
- Activer la CI
- Activer page
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 details 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éberger chez Disqus
Les articles
La liste des scripts de migrations sont liste a cette adresse :
https://gohugo.io/tools/migrations/#wordpress
J’ai utilise https://github.com/SchumacherFM/wordpress-to-hugo-exporter
Le “script” va vous pondre un zip avec les articles en mardown ( et un peut d’html ) et vos images. Vous n’aurez plus qu’a sed tous 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 modifier un peut la CI et l’image docker pour Minifier le contenue d’Hugo