gsl-statique-litterateur/README.md

207 lines
7.5 KiB
Markdown

# GSL: Statique Littérateur
------------------------------------------------------------------------
GSL est un générateur de blogs/sites-web multiples basé sur leur nom de
domaine. Il est écrit en bash, afin de réduire ses dépendances au minimum.
Les pages générées sont presque entièrement statiques, à l'exception du
module de liste (sidebar) contenant les articles de votre choix.
GSL crée pour ce module un fichier appelé avec include. Nginx peut être
facilement configuré pour interprêter ce module.
# Dépendances
------------------------------------------------------------------------
- bash
- coreutils
- curl (to check links response in articles)
- rsync, nano, gawk
# GSL: Installation
------------------------------------------------------------------------
Une procédure d'installation via un setup est en préparation. Il est
aussi possible et recommandé sous debian de l'installer grâce à son
paquet deb (construit par make), amoureusement préparé par neox.
Pour une installation manuelle, clonez ce dépôt, et copiez les dossiers
déjà pré-établis dans le système (avec sudo). GSL n'utilise pas sudo,
il vous faut donc donner les droits des dossiers (chown -R) à l'utilisateur
(sauf au dossier /usr/local/bin). Pour ce dossier, vous donnerez les
droits au fichier gsl seulement
Reportez-vous à la documentation dans le dossier help
# Comment configurer un domaine
------------------------------------------------------------------------
Préparer un fichier de logo. L'important sera de renseigner un nom du
fichier sinon, lors du questionnaire.
Attention: GSL aura besoin de créer des sous-dossiers (par DOMAIN) dans
le serveur, renseigné dans le questionnaire. (i.e. /var/www/). Il faut
donc lui donner les droits
```
$ gsl new domain
```
Des questions vous seront posées lorsque vous voudrez ajouter un DOMAIN
(exemple.com). Les données renseignées seront utilisées pour créer la
configuration du DOMAIN et reprises pour le site/blog dédié.
## Définir un dossier pour les articles du DOMAIN
------------------------------------------------------------------------
Si ce n'est pas déjà fait par GSL, ou que vous voulez ajouter un dossier
pour y stocker vos articles bruts en .gsl pour un DOMAIN précis :
```
gsl help -d
cd MYFOLDER
gsl setdir
```
ou manuellement:
- Aller dans/créer un dossier de votre choix
- Créer dedans, un fichier vide nommé gsl.DOMAIN (gsl.exemple.com)
## Ajouter / retirer un auteur
------------------------------------------------------------------------
Après avoir enregistré un domain et configuré un dossier pour les
articles. Ajoutez un ou plusieurs auteurs. **Un auteur par ligne !**
```
cd MON-DOSSER-ARTICLES
gsl new author
```
## Créer un article
------------------------------------------------------------------------
Le moteur de convertion est nouveau. C'est un mélange entre markdown et
reSTructuredText. Il est simple à apprendre et à utiliser.
Reportez-vous à la documentation dans le dossier help, ou:
```
gsl help -w
```
## Procédures de prévisualisation et mise en ligne
------------------------------------------------------------------------
- gsl check monarticle.gsl (vérifie l'écriture en gsl)
- gsl make monarticle.gsl (Connvertit en HTML - dossier wip dans le serveur)
- gsl www add monarticle.gsl (copie la page dans le dossier www)
# Comment gérer la sidebar
------------------------------------------------------------------------
La gestion de la sidebar est manuelle. Un article doit être convertit
avec make (ou wip add) avant de pouvoir l'ajouter à la position désirée.
Le nombre d'articles maximum dans la sidebar est configurable dans le
fichier de configuration du domaine (DOMAIN.conf) (via le questionnaire)
```
# Crée la sidebar avec les derniers articles publiés
gsl sidebar latest
# Remplace l'article à la position 2
gsl sidebar replace 2 monarticle.gsl
# Place l'article à la position 3, déplace les suivants (enlève le dernier)
gsl sidebar add 3 monarticle.gsl
```
## Astuces
- Vous pouvez utiliser l'autocompletion pour les articles
- Lisez les fichiers de la documentation dans le dossier Help
```
gsl www add mona<TAB>
```
# Help
------------------------------------------------------------------------
```
# GSL: Statique Littérateur
$ gsl (ARG)
readme : Show README.md instructions
help | -h (OPT) : This Help and how to
install | -i : Show process installation
authors | -a : Add/Remove authors for this DOMAIN
setdir | -d : Set a directory for article's DOMAIN
write | -w : Write a Post
param | -p : Configure some parameters
css : Show used CSS classes
tips | -t : Show tips and advises you should know
new | -N : Generic OPT to add/create
domain : Configure your DOMAIN
author : Same as gsl author edit
(TYPE) (NAME) : Create an article with (TYPE) named (NAME).gsl
: (TYPE) can be 'page' or 'post'
setdir | -D : Show current directory DOMAIN or set it
log | -L (OPT) : Show logs from all sessions
clean | -C : Logs saved to {DATE}.gsl.log and cleaned
all : clean all saved logs, keep current
-i | -w | -e : from levels (infos, warnings, errors)
-s : from last session only
(TERM) : (TERM) : case insensitive, regex 'T1.*T2'
(i.e. $ gsl log -e -s code)
author | -A : List authors from DOMAIN in PWD folder
edit : Add/Remove ! ONE author per line
edit | -E : Open in default EDITOR (FILE) or with nano
conf : Domain configuration file
author : Same as gsl author edit
domain : Domains registred database
(FILE) : (FILE) ; .gsl
db (FILE) : Show DB datas from (FILE)
sync (OPT) : Sync Templates to www and wip
wip : Only to wip server (also done with make)
www : Only to www server (also done with www)
check | -C (OPTI) : Check Post(s) errors from PWD folder
-N : Check only articles not in DB
-F : Force Check again ; Create Database
(FILE) : Only this (FILE)
make | -M (OPTIONS) : Make all HTML articles or only (FILE)
-F : Force Make again
(FILE) : Only this (FILE)
www (OPT1) (OPT2) : Add/Remove Post(s) in www server
(OPT1):
sync : Same as "sync www"
add : Add (OPT2) to www server
remove : remove (OPT2) from www server
(OPT2):
all : Select all post with wip statuses (FORCE !)
(FILE) : Select specific post (if wip status)
wip : Same as www for wip server
add : Same as make -F (i.e. gsl wip add all)
sidebar | -S : Show Posts in list (ARG) (POS) (FILE)
(ARG):
add | -a : Put article at (POS). Remove last, roll from (POS)
replace | -r : Replace (POS) with article
latest | -l : Create sidebar with latest (remove all existing)
oldest | -o : Same as above, but with oldest first
-v : Show local versionn
--version : Like -v + changes
-vv : Shown local and repo Versions
```