htg-content/README.md

74 lines
2.8 KiB
Markdown

# 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.