Hugo : Utilisation du binaire fourni par le projet (OpenBSD)

Article publié, le et modifié le
3 minute(s) de lecture

Cet article contient 588 mots.
Source brute de l'article : MD

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
Attention

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

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.

Info

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