#!/bin/bash # -e Exit immediately if a command exits with a non-zero status. # -u Treat unset variables as an error when substituting. set -eu DOCKER_CONTEXT=vert START=`date +%s` help() { echo echo "💡 Aide 💡" echo "----------" echo echo "Commandes :" echo "- ./run install 📦 Installation des dépendances" echo "- ./run dev 🚧 Lancement du serveur pour le développement" echo "- ./run dev production 🚧 Lancement du serveur pour le développement sans les brouillons" echo "- ./run prod 🚀 Déploiement du site en mode production" echo "- ./run staging 🚀 Déploiement du site en mode staging" echo "- ./run favicon 🎨 Création du favicon" echo } favicon() { # https://stackoverflow.com/questions/39256104/how-to-convert-an-image-file-from-svg-to-a-multi-size-ico-without-blur-sharp convert -density 300 -define icon:auto-resize=48,32,16 -background none static/icons/blason-512x512.png static/favicon.ico } prod() { echo echo "🚀 Déploiement du site en mode production 🚀" echo rm -rf public hugo --minify --environment production node themes/hugo-theme-lowtech/scripts/typo #DATE=`date +\"%Y0101\"` && find public -exec touch -d $DATE {} + docker-compose --context $DOCKER_CONTEXT -f docker-compose.prod.yml up -d --build --force-recreate } staging() { echo echo "🚀 Déploiement du site en mode staging 🚀" echo rm -rf public hugo --minify --environment staging node themes/hugo-theme-lowtech/scripts/typo cp themes/hugo-theme-lowtech/robots.txt public #DATE=`date +\"%Y0101\"` && find public -exec touch -d $DATE {} + docker-compose --context $DOCKER_CONTEXT -f docker-compose.staging.yml up -d --build --force-recreate } install() { echo "📦 Installation des dépendances 📦" echo "----------------------------------" echo echo "- Récupération du theme" git submodule update --init echo "- Installation des dépendances node du theme" cd themes/hugo-theme-lowtech && npm i } if [ $# -ge 1 ]; then if [ $1 == "dev" ]; then if [ $# -ge 2 ] && [ $2 == "production" ]; then echo "🚧 Lancement du serveur pour le développement sans les brouillons" hugo server else echo "🚧 Lancement du serveur pour le développement" hugo server -D fi elif [ $1 == "prod" ]; then prod elif [ $1 == "staging" ]; then staging elif [ $1 == "install" ]; then install elif [ $1 == "favicon" ]; then favicon fi else help fi END=`date +%s` echo echo "✨ Done in $((END-START))s" echo