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 }}
.