Comment est fabriqué ce site web?

Les sources de ce site web sont disponibles dans un dépôt Git:

$ git clone https://mathieu.daitauha.fr/sources/

N'hésitez pas à y jeter un coup d'œil, à vous en inspirer si vous l'appréciez, ou à m'indiquer mes erreurs pour que je l'améliore.

Le site est reconstruit automatiquement à chaque fois que je push une nouvelle version des sources, grâce à un hook Git post-receive:

#!/bin/bash


set -o nounset
set -o errexit
set -o pipefail


SOURCE_DIR=/srv/www/daitauha.fr/mathieu.git


while read oldrev newrev refname; do
    branch=$(git rev-parse --symbolic --abbrev-ref $refname)

    if [ "main" == "$branch" ]; then
        OUTPUT_DIR=/srv/www/daitauha.fr/mathieu
        TEMP_CLONE=/tmp/mathieu.daitauha.fr
        VENV=/home/bochecha/mathieu.daitauha.fr

        # Clone the sources
        rm -rf ${TEMP_CLONE}
        git clone ${SOURCE_DIR} ${TEMP_CLONE} |& tee /dev/null
        cd ${TEMP_CLONE}

        # Update the installed dependencies, and rebuild the site
        ${VENV}/bin/pip install --upgrade -r requirements.txt
        ${VENV}/bin/pelican content -o output -s publishconf.py

        # Publish the newly-built site
        rm -rf ${OUTPUT_DIR}.bak
        test -d ${OUTPUT_DIR} && mv ${OUTPUT_DIR} ${OUTPUT_DIR}.bak
        mv output ${OUTPUT_DIR}
    fi
done


# Update auxiliary info file
(cd ${SOURCE_DIR} && git update-server-info)

Remerciements

Ce site web est construit et servi grâce à plusieurs logiciels libres:

Merci à tous les développeurs et artistes qui les ont produits et partagés librement !

Et bien sûr, un grand merci à 6clones pour l'hébergement de ce site web.