Comment j'ai virer mon Wordpress pour GoHugo

Comment migrer de Wordpress vers Hugo avec GitLab Pages ?

Comment j'ai virer mon Wordpress pour GoHugo

Comment migrer de Wordpress vers Hugo avec GitLab Pages ?

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

graph TB A[New article] -->|git add| C(commit) B[Edit article] --> C(commit) C --> D{CI/CD} subgraph CI D --> E[Build /public content] E --> F[Minify /public content] F --> G[Deploy /public] end subgraph CD G --> H{gitlab page} end

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


Suggestions de lecture :

comments powered by Disqus