# Pour les rédacteurs ## Organisation - Dans `content` : texte uniquement, posts à placer dans `content/posts`. - Dans `assets` : tous les fichiers média en utilisant LFS. ## Éléments syntaxiques ### En-tête L'en-tête contient les métadonnées de l'article et se présente sous la forme suivante : ``` --- title: Super article date: 2020-05-11 author: raspbeguy template: post tags: tutoriel,news,tribune --- ``` - __Le titre__ est obligatoire. - __La date__ doit être sous le format `%Y-%m-%d` et est obligatoire. - __L'auteur__ est obligatoire. - __Le modèle__ (_template_) doit obligatoirement correspondre à `post`. - __La liste de tags__ est facultative (mais recommandée) et se compose d'une liste à virgule de mots en minuscules. Par ailleurs, le nom de fichier d'un post doit correspondre à la version sécurisée du champ `title`, c'est à dire : - en minuscules ; - sans diacritiques ; - chaque caractère spécial et espace remplacé par un tiret `-` non redondant, ni au début ni à la fin. Pour faciliter la création d'un article avec les bons en-têtes, il est possible d'utiliser le script `new_post.sh` présent dans le dossier `scripts` selon cette syntaxe : ``` ./new_post.sh "Mon super titre d'article" ``` ### Images Pour placer un média dans un article, utiliser le mot-clé `%assets_url%`. Par exemple, pour insérer l'image `assets/image.png`, on placera cette ligne dans le texte : ``` ![](%assets_url%/image.png) ``` ## Tests Pour vérifier la cohérence des articles, des scripts sont disponibles dans le dossier `scripts` : - `check_post_filename.sh` : vérifie que les fichiers des posts portent bien le nom correspondant à leurs titres. Le drapeau `-f` permet de corriger automatiquement ce nom de fichier. - `check_assets.sh` : vérifie que les ressources appelées par les posts existent bien dans le dossier `assets`. Utilisés sans arguments, ces scripts vérifient l'ensemble des articles. Avec un argument, les scripts ne vérifient que le post dont l'argument est le nom de fichier. __Il est très fortement recommandé d'exécuter ces scripts de vérification avant chaque commit ou push.__ Pour cela, les [hooks mis à disposision par git](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) peuvent vous être utiles. ## Publication Pour publier, il suffit de pousser sur la branche `master`. Comme seule la branche `master` est affichée sur le site, il est tout à fait possible d'utiliser des branches distinctes à la guise des auteurs (par exemple, pour enregistrer et versionner ses brouillons). __Note :__ Dans un futur proche, une instance de test du blog sera déployée, et le contenu affiché correspondra à la branche `test`. # Pour l'administrateur système Pour installer, cloner le dépôt quelque part, puis faire des liens symboliques de `content` et `assets` dans le dossier racine d'une installation PicoCMS.