htg-content/README.md

62 lines
2.0 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étodonné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.
### 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 `tests` :
- `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.
## Publication
Pour publier, il suffit de pousser.
# 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.