hugo.soucy.cc

The personnal website source code of Hugo Soucy. Creates from an homebrewed static website generator (Ferron).
Log | Files | Refs

commit e474336482acb3758337a5c274413f600ad3a341
parent 19160840722e01e01a2c360c5106b705bb6fa847
Author: Hugo Soucy <hsoucy@kronostechnologies.com>
Date:   Mon, 14 Jan 2019 13:15:35 -0500

Start a new documentation

Diffstat:
ADOC.md | 41+++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+), 0 deletions(-)

diff --git a/DOC.md b/DOC.md @@ -0,0 +1,41 @@ +# Documentation + +## Les bases + +### Le contenu (`content/`) + +* Le contenu doit être en markdown/html avec l'extension `.md`. + * Pour une page simple aucun répertoire est nécessaire: + `ma-premiere-page.md`, `ma-seconde-page.md`, etc. + * Pour une page de type index, vous créez un répertoire avec le nom + de votre choix, contenant un fichier index: + `mon-premier-repertoire/index.md`. +* Les métadonnées (configuration) d'une page sont à part dans un + fichier avec l'extension `.json` ou `.lua`; celui-ci est lié par le + nom avec le fichier markdown. + * JSON est un format commun et pratique; on peut le parser, le + convertir et générer facilement. Si malheureursement vous quittez + Ferron pour un autre générateur de site statique, vous pourrez + facilement porter vos données sans trop de soucis. + * Le principal avantage d'utiliser Lua pour vos métadonnées est que + vous pourrez créer des fonctions directement dans ces fichiers + pour manipuler plus finement votre contenu, ce qui n'est pas + possible avec le JSON. + * Dans un même site rien ne vous empêche d'alterner les formats + selon vos besoins. Toutefois, veuillez noter que le format Lua + aura priorité si deux fichiers de configuration sont présent pour + un même markdown. +* Un site dans sa plus simple expression doit avoir au minimum un + fichier `index.md` et un fichier `index.{json,lua}`. + +### Les templates (`templates/`) + +* Pour l'instant, le seul moteur de templates disponible est + Mustache. Mais j'ai comme projet d'en utiliser un deuxième qui + permettra d'intégrer de la logique directement dans les templates, + ce que Mustache ne permet pas. +* Les fichiers Mustache doivent porter l'extension `.mustache`. +* Les templates des flux de syndication tels que ATOM, RSS ou JSON + Feed doivent être dans un sous-répertoire nommé `feed/`. +* Les sous-templates doivent être dans un sous-répertoire nommé + `partials`.