Utiliser Zola dans Codespace

Avertissement

Une fois n'est pas coutume, j'ai écrit cet article en anglais dans un premier temps. L'IA a peut-être foiré lors de la traduction. Si tu comprends l'anglais, je te conseille de changer la langue du site.


Introduction au défi

Récemment, j'ai complètement réduit mon ordinateur de jeu à 2.500€ pour un chromebook à 300€. J'ai arrêté de jouer et je voulais à la fois récupérer de l'espace et de l'argent ! Rassurez-vous, j'ai toujours un beau bureau et un deuxième écran, je resterai en bonne santé.

Avec un ordinateur aussi limité, vous ne pouvez pas faire grand-chose. Je savais que c'était mauvais, mais les temps de compilation de Rust étaient vraiment mauvais. Ensuite, la question s'est posée : comment utiliser un éditeur basé sur le cloud pour que mon terminal n'ait pas d'importance ? Tant que j'ai Internet et un navigateur, je peux coder ! Je l'ai confirmé sur ma tablette et même sur mon téléphone. Certains réfrigérateurs pourraient probablement faire la même chose 🤣

J'aime beaucoup Zola, mais je trouve que les tutoriels sont insuffisants. Heureusement, j'ai trouvé un moyen de faire fonctionner cela, et je vais partager ma méthode avec vous.

Mon avis

Configuration de Codespace

Important

Si vous ne voulez pas lire, vous pouvez passer directement à chacun des vidéos.

1

Je crée un dépôt GitHub vide, avec au moins un readme.md dedans. Cela facilite la configuration sur GitHub qui lie les codespaces aux dépôts. Vous pouvez tout à fait utiliser un dépôt existant.

2

Je crée un nouveau codespace et supprime la fonction d'autosuppression. Comme nous avons besoin de Rust et de Zola disponibles, nous ne pouvons pas nous permettre d'attendre le temps nécessaire pour installer ces deux éléments plus d'une fois.

3

À l'intérieur du codespace, j'installe Rust avec l'installateur standard Rustup.

Ensuite, j'ouvre un nouveau terminal pour profiter des nouveaux binaires ajoutés

4

J'installe Zola. Les codespaces sont limités : vous n'avez pas l'installateur complet. Par conséquent, j'ai choisi d'utiliser une méthode infaillible : compiler les sources localement. Attention, la compilation prend quelques minutes. Voici les commandes :

git clone https://github.com/getzola/zola.git
cd zola
cargo install --path . --locked
zola --version

5

Une fois tout installé, j'ouvre à nouveau un nouveau terminal et vérifie si Zola est bien installé avec type zola

6

Maintenant que Zola est installé, vous pouvez commencer à créer votre propre site Web statique. Ici, j'utilise Duckquill. Voici les commandes (n'oubliez pas d'être dans le répertoire du projet) :

git clone https://codeberg.org/daudix/duckquill.git themes/duckquill
cd themes/duckquill
git checkout tags/v4.5.0

Naturellement, vous voudrez aller à la section d'installation de Duckquill et utiliser la dernière version.

Tip

Ici, je modifie le .gitignore pour ne pas commettre le dossier themes/. Cependant, je laisse le dossier public être commis, car il correspond à la manière dont j'ai configuré mon pipeline CI/CD. Il devrait y avoir un moyen plus simple de le faire, en faisant en sorte que le pipeline exécute zola build, mais je suis un peu trop paresseux pour le découvrir, et à cause des minutes supplémentaires nécessaires pour avoir un processus de construction avec Zola installé.

7

Dans l'enregistrement, je fais un petit désordre : je reviens dans le dossier du projet, et copie pratiquement tout le thème pour obtenir rapidement quelque chose qui fonctionne. Vous pouvez et devriez éviter cela et plutôt construire votre site Web lentement mais sûrement à partir de là. La logique de Zola est assez simple. Il essaiera de trouver un certain fichier. S'il échoue, il ira dans votre thème et essaiera de trouver le même fichier. Avec cette logique, c'est vraiment facile à utiliser :

8

Pour construire, il y a la commande zola build.

Pour avoir une expérience de développement interactive, vous pouvez utiliser zola serve -u /. Ce -u / est vraiment nécessaire car le codespace est un peu confus avec les URL sans lui. Même comme ça, il y a quelques problèmes.

Cependant, une fois le site Web déployé à l'emplacement final, tout devrait bien se passer.

Bonus : Configuration du pipeline CI/CD

Mon CI/CD est si simple que c'en est ennuyeux :

Tip

Vous seriez probablement mieux avec GitHub Pages, mais j'avais déjà acheté le domaine alors...

Danger

Oui, c'est simple et rapide, mais cela a un gros inconvénient ! Si vous ne faites pas attention, vous pourriez pousser un dossier /public corrompu. C'est pourquoi je dois toujours exécuter zola build avant de faire un commit.

# C'est un workflow de base qui est déclenché manuellement

name: Déploiement vers LWS

on:
  # S'exécute lors des pushs ciblant la branche par défaut
  push:
    branches: ["main"]
  # Permet d'exécuter ce workflow manuellement depuis l'onglet Actions
  workflow_dispatch:

# Un workflow est constitué d'un ou plusieurs jobs qui peuvent s'exécuter séquentiellement ou en parallèle
jobs:
  # Ce workflow contient un seul job appelé "deploy"
  deploy:
    # Le type de runner sur lequel le job s'exécutera
    runs-on: ubuntu-latest

    # Les étapes représentent une séquence de tâches qui seront exécutées dans le cadre du job
    steps:

    - name: 🚚 Obtenir le code le plus récent
      uses: actions/checkout@v4
    
    - name: 📂 Synchroniser les fichiers
      uses: SamKirkland/FTP-Deploy-Action@v4.3.5
      with:
        server: ${{ secrets.ftp_address }}
        username: ${{ secrets.ftp_username }}
        password: ${{ secrets.ftp_password }}
        local-dir: ./public/

Vous devrez configurer vos secrets dans le projet GitHub, naturellement.


J'espère que vous avez bien lu. Cet article est principalement écrit en remerciement à la communauté Zola, et j'espère qu'il vous encouragera à l'utiliser et éventuellement à contribuer à un thème (le vôtre ?) ou directement au projet Zola. Bonne journée 👋


Remonter