6.9 KiB
GSL: Statique Littérateur
GSL est un générateur de blogs/sites-web basé sur leur nom de domaine, é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 des derniers articles (sidebar) placé en include. Nginx peut être facilement configuré pour interprêter ce module.
Dépendances
- bash
- coreutils
- curl (to check Posts links response)
- rsync, nano
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).
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 le nom du fichier lors du questionnaire.
Attention: GSL aura besoin de créer des sous-dossier 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 domaine
(exemple.com). Les données renseignées seront utilisées pour créer la
configuration (voir la documentation d'installation)
## 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 pour un DOMAIN précis :
gsl help -d cd MYFOLDER gsl setdir
ou:
- Aller dans/créer un dossier de votre choix
- Créer dedans, un fichier vide nommé gsl.DOMAIAN (gsl.exemple.com)
## Ajouter / retirer un auteur
------------------------------------------------------------------------
Après avoir enregistré un domain et configuré un dossier pour les
articles. **Un auteur par ligne !**
cd MON-DOSSER-ARTICLES gsl author edit
## 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)
- gsl www add monarticle.gsl (copiel 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 avant de pouvoir l'ajouter à la position ddsirée. Le nombre
d'articles maximum dans la sidebar est configurable dans le fichier de
configuration du domaine (DOMAIN.conf)
gsl sidebar replace 2 monarticle.gsl
## Astuces
- Vous pouvez utiliser l'autocompletion pour les articles
- Reportez-vous à la documentation dans le dossier Help
gsl www add mona
# Help
------------------------------------------------------------------------
$ 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
tpl | -T : Create your template
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
setdir | -D : Show current directory DOMAIN or set it
log | -L (OPTS) : 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 statuses 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 (OPTIONS) : Check Post(s) errors from PWD folder
-N : Check only articles not in DB
-F : Force Check again ; Recreate in 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 all/(FILE) to www server
rmove : remove all/(FILE) from www server
(OPT2):
all : Select all post with wip statuses
(FILE) : Select specific post (if wip status)
wip : Same as www for wip
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)
-v : Show local versionn
--version : Like -v + changes
-vv : Shown local and repo Versions