6.8 KiB
title | template | taxonomy | routes | ||||
---|---|---|---|---|---|---|---|
Rédaction de la documentation | docs |
|
|
Via GitHub
La documentation de YunoHost est gérée sur un dépôt Git.
Si vous n'êtes pas familier avec GitHub, il y a un bouton "Éditer" en haut de chaque page qui vous redirigera vers l'éditeur en ligne de GitHub et qui vous aidera à proposer vos modifications (appelées Pull Requests, PR).
Cependant, si vous êtes lancé sur une série de contributions, vous devriez faire un fork du dépôt sur GitHub. Vous pouvez ensuite faire toutes les modifications (commits) que vous voulez sur votre dépôt, et les soumettre tous ensemble dans la même PR. L'étiquette sur GitHub vous encouragerait à rassembler dans une même PR tous les commits d'une même thématique.
Puisque l'éditeur en ligne ne permet pas d'ajouter des fichiers, utiliser Git par la ligne de commande est la méthode recommandée si vous voulez ajouter des médias (comme des images).
Grav
Sous le capot, la documentation est déployée avec le CMS Grav.
La structure du dépôt est décrite ici:
+-- config
+-- site.yaml
+-- system.yaml
+-- themes
+-- yunohost-docs.yaml
# Quelques paramètres pour le thème de la documentation
+-- images
# Contains the images used in the documentation pages.
+-- pages
# The directory containing the documentation pages.
# The pages hierarchy is reflected by the directory hierarchy.
+-- 00.home
+-- 01.administrate
+-- 02.applications
+-- 03.community
+-- 04.contribute
+-- themes
+-- learn4
+-- yunohost-docs
# Contient le code du thème, qui est une extension du thème Learn4
+-- .gitignore
# Contient les instructions pour ne pas envoyer de fichier
# sensible ou inutile vers le dépôt Git
+-- README.md
!!!! Pour en apprendre plus sur les fonctionnalités de Grav, vous pouvez consulter sa documentation (en anglais). Le reste de cette page donne quelques consignes spécifiques pour contribuer à la documentation de YunoHost.
L'en-tête des pages Grav
Chaque page commence par un en-tête qui donne les instructions à Grav sur comment la traiter. Regardons l'en-tête de cette page :
---
title: Rédaction de la documentation
template: docs
taxonomy:
category: docs
routes:
default: '/write_documentation'
---
- L'en-tête commence et finit par une ligne contenant
---
; - La clé
title
gère le premier titre de la page, son nom dans le menu de navigation à gauche, et son nom dans l'onglet du navigateur ; - Les clés
template
ettaxonomy
doivent toujours être inclues et laissées telles quelles. Elles informent Grav sur quel thème appliquer aux pages, et permettent de les ordonner correctement. - La clé
routes
et son enfantdefault
font que la page est accessible par défaut à l'adressehttps://yunohost.org/docs/write_documentation
au lieu de devoir la chercher à l'adressehttps://yunohost.org/docs/contribute/write_documentation
, qui correspond à son emplacement réel dans la hiérarchie des dossiers.
Syntaxe
Vous pouvez utiliser la syntaxe Markdown, consultez la page de documentation dédiée pour plus d'information.
! Notez qu'il ne faut pas préciser le code de langue au début des liens vers d'autres pages de la documentation : /fr
, /en
, etc. sont superflus.
Pour étendre les fonctionnalités de Markdown, des extensions ont été ajoutées à Grav. Vous pouvez consulter leur propre documentation sur GitHub pour découvrir comment vous en servir.
anchors
external_links
flex-objects
highlight
image-captions
markdown-notices
presentation
presentation-deckset
shortcode-core
Pages spéciales
Quelques pages de la documentation sont générées automatiquement ou dynamiquement.
Page | Chemin | Notes |
---|---|---|
Catalogue d'applications | /pages/02.applications/01.catalog/apps.md |
Récupère et traite le fichier app.json |
Apps helpers | pages/04.contribute/04.packaging_apps/11.helpers/packaging_apps_helpers.md |
Générée par ce script, à partir de ce canevas |
Documentation des apps | pages/02.applications/02.docs/docs.md |
Liste les sous-pages du même dossier qui ont les clés taxonomy.category: docs, apps dans leur en-tête |
Hébergez votre propre documentation de test
! Ces instructions ne sont pas encore complètement testées. Aidez-nous en nous rapportant tout problème que vous rencontriez.
- Fork le dépôt de la documentation YunoHost sur GitHub
- Installez l'app Grav pour YunoHost :
yunohost app install grav
- Installez les extensions suivantes via l'admin ou la ligne de commande de Grav :
anchors
breadcrumbs
external_links
feed
flex-objects
git-sync
highlight
image-captions
langswitcher
markdown-notices
presentation
presentation-deckset
shortcode-core
tntsearch
- Paramétrez l'extension Git Sync.
- Choisissez
GitHub
et vos identifiants GitHub - Entrez l'adresse de votre fork, par exemple
https://github.com/username/doc
- Copiez l'URL du webhook, par exemple
https://grav.example/_git-sync-ca25c111f0de
- "Basic settings" > "Folders to Sync" :
pages
images
themes
- "Git Repo Settings" > "User not required" : Enabled
- "Git Repo Settings" > "Web Hooks secret" : Enabled
- "Advanced settings" > "local branch" :
master
- "Advanced settings" > "remote branch" :
master
(vous pouvez changermaster
en une autre branche si vous le souhaitez, mais n'oubliez pas de la créer au préalable sur GitHub) - "Advanced settings" > "Committer Name" : votre nom d'utilisateur sur GitHub
- Choisissez
- "Advanced settings" > "Committer Email" : votre email renseigné sur GitHub
- Enregistrez et cliquez sur "Reset Local Copy"
- Renseignez les adresses dans les clés
commits
ettree
dansconfig/themes/yunohost-docs.yaml
pour quelles pointent vers l'adresse de votre fork sur GitHub - Assurez-vous que les dossiers
user/pages/01.home
etuser/pages/02.typography
sont supprimés. - Dans l'administration de Grav, dans "Configuration" > "System" :
- "Language" > "Supported" :
en
fr
de
es
ar
- "Language" > "Override Default Language" :
en
- "Language" > "Set language from browser" :
Yes
- "HTTP Headers" > "Etag" :
Yes
- "Advanced" > "Blueprint Compatibility" :
Yes
- "Advanced" > "YAML Compatibility" :
Yes
- "Advanced" > "Twig Compatibility" :
Yes
- "Language" > "Supported" :