Données d'exemple
Problème
Une solution commune à deux tâches est proposée :
- la création d’un nouveau site (comment travailler sans données ?)
- la mise à jour d’un site existant (comment être sûr de couvrir les cas qui ne sont pas dans les données ?)
Solution
Ajouter en submodule git un site d’exemples : https://github.com/noesya/osuny-example
Dans ce site d’exemple, une configuration hugo a été ajoutée dans config/examples/config.yaml :
contentDir: "osuny-example/content"
dataDir: "osuny-example/data"
Cela permet ensuite via une commande, de lancer notre site en s’appuyant sur les données de osuny-example, données présentes dans osuny-example/content et osuny-example/data.
Ajouter une commande à lancer via yarn (ou npm) qui permet d’ajouter le submodule, le mettre à jour, puis lancer le site en s’appuyant sur la configuration du site d’exemple (osuny-example).
Commandes séparées dans le package.json d’un site :
"scripts": {
"update": "git pull --recurse-submodules --depth 1 && git submodule update --remote",
"setup-example": "git submodule add https://github.com/noesya/osuny-example",
"server-example": "hugo server --config 'osuny-example/config/example/config.yaml'",
}
Commande chaînée :
"scripts": {
"example": "yarn setup-example > /dev/null || yarn update && yarn server-example"
}