Description
Utiliser Hugo sous OpenBSD est possible, sans soucis.
Il existe en tant que paquet tiers, installable par le gestionnaire de paquets :
# pkg_add hugo
- version d’Hugo : 0.53 :
Hugo Static Site Generator v0.53 openbsd/amd64 BuildDate: unknown - OpenBSD : 6.6
- Architecture : amd64
Bon, maintenant soyons réaliste, cette version date d’un an et a son lot de bogues.
Utilisation
Quoiqu’il en soit le projet Hugo semble fournir pour chaque nouvelle version
des archives tar.gz qu’il suffit de télécharger et décompresser ; il y a trois
fichiers généralement dedans, le fichier LICENSE, README.md et le binaire
hugo. Les archives sont à destination des architectures 32 bits (donc i386),
64 bits (donc amd64), et ARM.
Pour autant que dans votre variable d’environnement PATH vous ayez inclu
~/bin/, il suffit de créer un lien symbolique dedans pour pouvoir utiliser ce
nouveau binaire.
Le propos de cet article est de “remonter” les différents écueils liés à ces binaires officiels, qui parfois générent des changements dans la configuration de Hugo, voire des dysfonctionnements.
La dernière version fonctionnelle est : la 0.59.1.
Changements importants
v0.54.0
- version :
Hugo Static Site Generator v0.54.0-B1A82C61 openbsd/amd64 BuildDate: 2019-02-01T09:41:10Z
Malheureusement, un simple hugo server ne fonctionne pas !
L’erreur restituée : Error: Error building site: EOF
Au suivant !
v0.55.0
- version :
Hugo Static Site Generator v0.55.0-4333CC77 openbsd/amd64 BuildDate: 2019-04-08T16:41:18Z
v0.6x
Depuis la version 0.60.0, il y a un changement du “moteur” par défaut, qui est le goldmark.
Cela implique de modifier le fichier de configuration pour ajouter ce qui suit, pour le format TOML (Tom's Obvious Minimal Language) :
[markup.goldmark.renderer]
unsafe = true`
Il y a un bogue dans la
restitution du code
HTML (HyperText Markup Language)
au sein des shortcodes.
Dépréciations
Page.Hugo is deprecated
Le message suivant :
Page.Hugo is deprecated and will be removed in a future release. Use the global hugo function.
informe simplement que la variable .Hugo est obsolète, dépréciée ; il est
recommandé de la remplacer par la fonction globale hugo.
Donc, parcourez tous vos fichiers _default, partials, voire shortcodes et
remplacez !
Voir la page Hugo Documentation : Variables > Hugo
Page’s .RSSLink is deprecated
Le message suivant :
Page's .RSSLink is deprecated and will be removed in a future release. Use the Output Format's link
informe que la variable .RSSLink est osbolète et dépréciée.
Il est recommandé d’utiliser le formatage de sortie , tel que :
{{`` with .OutputFormats.Get "RSS" }}{{ .RelPermalink }}{{ end }}
Voir la page Hugo Documentation : Templates > Output formats
Page’s .URL is deprecated
Le message suivant :
Page's .URL is deprecated and will be removed in a future release. Use .Permalink or .RelPermalink.
explique en fait que la variable .URL ne doit plus être utilisée dans le corps
d’une page.
Donc, parcourez tous vos fichiers _default, partials, voire shortcodes et
remplacez la variable .URL au minimum par .Permalink.
.URL qui est toujours permise
dans le contexte des menus ! (cf: Hugo Documentation : Variables > Menus )
Recommandations
Shortcodes
Il est donc recommandé de ne plus utiliser la syntaxe {{``% shortcode %}}
mais de lui préférer la syntaxe {{``< shortcode >}} et d’utiliser la fonction
markdownify.
Voir la page : Hugo Documentation : Functions > Markdownify .
Taxonomy
Les nœuds de taxonomies ont un nouvel accesseur nommé .Page qui simplifie
l’usage aux différentes variables, telle que .Titre.
Au lieu d’utiliser l’ensemble suivant {{ range .Data.Terms.Alphabetical }},
utilisez plutôt {{ range .Site.Taxonomies.tags }}.