---
date: 2020-01-02T16:02:59+01:00
description: "Utiliser les différentes versions d'Hugo fournies par le projet sur OpenBSD stable"
draft: false
lastmod: 2020-02-25T00:30:59+01:00
tags: ["Hugo", "OpenBSD"]
title: "Hugo : Utilisation du binaire fourni par le projet (OpenBSD)"
translationKey: "hugo-openbsd"
---
## 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`
{{< note warning >}}ATTENTION : cette version apporte des changements dans le fonctionnement des {{< anchor shortcodes shortcodes >}}, dans la {{< anchor taxonomie taxonomy >}} *(les tags, entres autres)*, … {{< /note >}}
### 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](https://github.com/gohugoio/hugo/issues/6553) 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 {{< gohugo n="hugo" s="variables" >}}
### 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 {{< gohugo n="output-formats" s="templates" >}}
### 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`.
{{< note info >}}
Ne pas confondre avec la présence de la variable `.URL` qui est toujours permise dans le contexte des menus !
*(cf: {{< gohugo s="variables" n="menus" a="menu-entry-variables" >}})*
{{< /note >}}
## 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 : {{< gohugo n="markdownify" s="functions" >}}.
### 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 }}`.
----