193 lines
6.9 KiB
Markdown
193 lines
6.9 KiB
Markdown
# 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<TAB>
|
|
```
|
|
|
|
|
|
# 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
|
|
|