Rédiger en ligne de commande¶
Pour un article long, une série de corrections ou un travail hors connexion, il est plus confortable de travailler sur une copie locale du wiki : votre éditeur habituel, l'aperçu du site en direct, et la possibilité de tout relire avant de proposer quoi que ce soit.
Besoin d'un compte
Comme pour la contribution depuis le navigateur, il faut un compte sur la forge de l'association — voir Le Git d'Alpinux. Configurez au passage votre clé SSH : vous n'aurez plus à taper de mot de passe.
La règle est la même que depuis le navigateur : on ne modifie jamais main
directement. On travaille sur une branche, et on propose son travail par une pull
request. Cela vaut pour tout le monde, mainteneurs compris.
1. Bifurquer, puis cloner¶
Créez votre bifurcation (fork) du wiki : sur le dépôt, bouton Bifurcation en haut à droite. Vous obtenez votre propre copie, dans laquelle vous pouvez tout faire sans rien risquer.
Clonez ensuite votre copie, et ajoutez un lien vers le dépôt d'origine — appelé
upstream par convention — pour pouvoir vous mettre à jour :
git clone git@gitea.alpinux.org:VOTRE-COMPTE/alpinux-wiki.git
cd alpinux-wiki
git remote add upstream git@gitea.alpinux.org:alpinux.cedrica5l/alpinux-wiki.git
Vous avez maintenant deux dépôts distants : origin, votre copie, où vous poussez ; et
upstream, le wiki de l'association, d'où vous tirez les nouveautés.
Ce que contient le dépôt¶
| Dossier | Contenu |
|---|---|
docs/ |
les pages publiées, organisées en sections |
articles/ |
textes longs hors navigation principale |
code/ |
exemples de code cités dans les pages |
overrides/ |
personnalisations du thème |
mkdocs.yml |
configuration du site, dont la navigation |
Une page ajoutée dans docs/ n'apparaît dans le menu que si elle est déclarée dans la
section nav: de mkdocs.yml. C'est l'oubli classique — et mkdocs build --strict le
signale.
2. Partir du wiki à jour, sur une branche¶
Avant chaque nouveau sujet :
git switch main
git pull upstream main # récupérer ce qui a été publié entre-temps
git switch -c sauvegarder-ses-photos # une branche par sujet, au nom parlant
Une branche par sujet permet de proposer une correction de faute aujourd'hui sans entraîner avec elle l'article commencé la semaine dernière.
3. Voir le rendu¶
Ouvrez http://localhost:8000 : la page se recharge à chaque enregistrement. C'est le
meilleur moyen de vérifier un tableau, une image ou un bloc de code.
Avant de proposer, vérifiez que rien n'est cassé :
--strict transforme le moindre avertissement en erreur : lien vers une page inexistante,
fichier absent de la navigation. Si cette commande passe, votre contribution se publiera
sans encombre.
Le -d n'est pas optionnel
Sans lui, mkdocs build écrit dans le site_dir configuré — qui désigne le
répertoire du serveur, pas un chemin local.
4. Proposer la pull request¶
git add .
git commit -m "Article : sauvegarder ses photos sur un disque externe"
git push -u origin sauvegarder-ses-photos
Gitea affiche alors un lien pour ouvrir la pull request vers le wiki — ou rendez-vous sur votre bifurcation, la proposition y est suggérée en haut de page. La suite est décrite à l'étape 2 du guide de contribution : un mainteneur relit, fusionne, et la publication se fait toute seule.
Écrire un message de commit utile¶
Le message est lu par la personne qui relit, et par vous-même dans six mois. Une ligne qui dit ce qui change et pourquoi :
Guide Linux Mint : seuil Xfce relevé à 4 Go
Retour des install parties : en dessous de 4 Go, Cinnamon rame.
Évitez mise à jour, correction, wip : ils n'apprennent rien à personne.
5. Après la fusion¶
git switch main
git pull upstream main
git push origin main # votre bifurcation reste à jour
git branch -d sauvegarder-ses-photos # la branche a fait son travail
git push origin --delete sauvegarder-ses-photos
Garder ses branches fusionnées ne sert à rien et finit par encombrer la liste. Le
git push origin main évite l'écueil décrit dans
Proposer un nouvel article : une bifurcation qu'on
laisse vieillir repart d'une version dépassée au sujet suivant.
Quand ça coince¶
« Votre branche est en retard sur upstream/main » — quelqu'un a publié pendant que vous écriviez. Rapatriez et rejouez votre travail par-dessus :
Un conflit — deux modifications du même passage. Git encadre les deux versions dans
le fichier par <<<<<<<, ======= et >>>>>>> : gardez le texte voulu, effacez les
marqueurs, puis git add le fichier et git rebase --continue. En cas de doute,
git rebase --abort annule tout et vous ramène au point de départ.
Vous avez modifié main par mégarde — rien n'est perdu tant que vous n'avez pas
poussé. Créez la branche depuis l'état actuel, puis remettez main en place :
git switch -c ma-branche # emporte les modifications avec vous
git switch main
git reset --hard upstream/main
Avec Obsidian¶
Si vous préférez un éditeur au confort d'un traitement de texte, le dépôt est aussi un coffre Obsidian prêt à l'emploi : voir Rédiger avec Obsidian.