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 :
[markup.goldmark.renderer]
unsafe = true
Il y a un bogue dans la restitution du code HTML 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 }}.