219 lines
7.4 KiB
Markdown
219 lines
7.4 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 ne 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. Nginx peut être facilement configuré pour
|
|
interprêter ce module.
|
|
|
|
# Dépendances
|
|
------------------------------------------------------------------------
|
|
|
|
- bash
|
|
- coreutils
|
|
- curl (to check Posts links response)
|
|
- rsync
|
|
|
|
|
|
# GSL: Installation
|
|
------------------------------------------------------------------------
|
|
Une procédure d'installation via un setup est en cours de test. Il est
|
|
aussi possible et recommandé sous debian de l'installer grâce à son
|
|
paquet deb.
|
|
|
|
Pour une installation manuelle, clonez ce dépôt, et copiez les dossiers
|
|
déjà pré-établis dans le système. GSL n'utilise pas sudo, il vous faut
|
|
donc donner les droits aux dossiers (chown -R) à l'utilisateur
|
|
(sauf au dossier /usr/local/bin). Pour ce dossier, vous donnerez les droits
|
|
via chown USER:USER /usr/local/bin/gsl
|
|
|
|
## Configuration du DOMAIN (selon le choix de l'utilistaeur via $ gsl new) :
|
|
- HOME: ~/.config/gsl
|
|
- GLOBAL: /var/lib/gsl
|
|
- Dossier: --Prefix/domains/ (créé par GSL via $ gsl new)
|
|
|
|
### Données du DOMAIN :
|
|
- Dossier: --Prefix/DOMAIN/ (créé par GSL)
|
|
- - Fichiers: DOMAIN.conf, authors.db (créé par GSL)
|
|
- - Dossier: --Prefix/DOMAIN/templates/ (créé par GSL - pour vos css, logos...)
|
|
|
|
## Dossier de configuration de GSL : /etc/gsl/
|
|
- Fichier: gsl.conf
|
|
|
|
## Dossier principal : /var/lib/gsl/
|
|
- Folder: db (créé par GSL)
|
|
- Dossier: helps
|
|
- Dossier: scripts
|
|
- Fichier: README.md, README-english.md
|
|
|
|
## Dossier des logs: /var/log/gsl/
|
|
- Fichier: gsl.log (créé et géré par GSL via $ gsl log [OPT]...)
|
|
|
|
## Dossier de l'éxécutable : /usr/local/bin/
|
|
- Fichier: gsl
|
|
|
|
## Dossier d'autocomplétion : /usr/share/bash-completion/completions/gsl/
|
|
- Fichier: gsl
|
|
|
|
# Comment configurer un domaine
|
|
------------------------------------------------------------------------
|
|
|
|
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 le
|
|
fichier DOMAIN.conf. Une question spécifique pour les fichier des articles
|
|
vous sera posée afin d'établir un dossier de stockage de vos articles.
|
|
Vous pourrez en créer à loisir autant que vous voulez plus tard.
|
|
|
|
```
|
|
# helps
|
|
gsl help
|
|
gsl help new
|
|
gsl help install
|
|
|
|
# Ajouter un domaine
|
|
gsl new
|
|
```
|
|
|
|
## 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 et convertir en HTML vos articles pour un DOMAIN précis :
|
|
|
|
- Ajouter/créer un dossier de votre choix
|
|
- Créer dedans, un fichier vide nommé gsl.DOMAIAN (gsl.exemple.com)
|
|
|
|
## Ajouter un auteur
|
|
```
|
|
cd MON-DOSSER-ARTICLES
|
|
gsl author add
|
|
```
|
|
|
|
## Créer un article
|
|
Le moteur de convertion est nouveau, et est un mélange entre markdown et
|
|
reSTructuredText. Il est simple à apprendre et à utiliser.
|
|
|
|
- Créer un fichier (monarticle).gsl (extension .gsl)
|
|
- Suivez le guide plus bas pour comprendre les notions
|
|
|
|
Vous devrez le faire valider par GSL :
|
|
```
|
|
gsl check
|
|
gsl check monarticle.gsl # Vérfier que monarticle.gsl
|
|
gsl check -F Forcer la vérification
|
|
gsl check -F monarticle.gsl # Forcer la vérification de monarticle.gsl
|
|
```
|
|
|
|
## Convertir un ou tous les articles
|
|
Si votre article n'a pas d'erreurs, vous pouvez le convertir en HTML.
|
|
|
|
```
|
|
gsl make
|
|
gsl make -F # Forcer la reconstruction)
|
|
gsl make -F monarticle.gsl # Forcer la reconstruction de monarticle.gsl
|
|
```
|
|
|
|
Votre article sera prêt dans le dossier webserver (ex: /var/www/DOMAIN/wip)
|
|
Vous pourrez donc vérifier son rendu.
|
|
|
|
Si vous êtes satisfait, vous pouvez le déployer "officiellement" dans www
|
|
|
|
```
|
|
# Vous pouvez utiliser l'autocompletion pour les articles
|
|
gsl www add monarticle.gsl
|
|
```
|
|
|
|
|
|
# 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 /etc/gsl/gsl.conf
|
|
|
|
Quelques exemples d'utilisations
|
|
|
|
```
|
|
# Liste les articles de la sidebar dans l'ordre
|
|
gsl sidebar
|
|
|
|
# Ajoute monarticle en position 1
|
|
gsl -S add 1 monarticle
|
|
|
|
# Enlève monarticle2 de la sidebar
|
|
gsl -S remove monarticle2
|
|
|
|
# monarticle5 est en position 3. Le replacer par monarticle4
|
|
gsl -S -A 3 monarticle4
|
|
```
|
|
|
|
# Besoin d'aide !
|
|
------------------------------------------------------------------------
|
|
Reportez vous aux explications dans le dossier *help*
|
|
|
|
|
|
# HELP COMMAND
|
|
------------------------------------------------------------------------
|
|
```
|
|
$ gsl [ARG]
|
|
readme : Show README.md instructions
|
|
help | -h [OPT] : This Help
|
|
install : Show process installation
|
|
new : Adding a DOMAIN
|
|
write | -w : How to write a Post
|
|
template | -t : Tips to create your template
|
|
|
|
new | -N : Add and configure a new DOMAIN
|
|
|
|
log | -L [OPTS] : Show logs from all sessions
|
|
clean | -C : Logs saved to {DATE}.gsl.log and cleaned
|
|
-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 [OPT] : List authors from DOMAIN set in PWD folder
|
|
add : Add author(s) for DOMAIN
|
|
remove : Remove author(s) for DOMAIN
|
|
|
|
create [TYPE] [NAME] : Create an article with [TYPE] named [NAME].gsl
|
|
|
|
edit | -E : Open in default EDITOR [FILE] or with nano
|
|
conf : Domain configuration file
|
|
[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 [OPT] [FILE] : Check Posts errors from PWD folder or [FILE]
|
|
-F : Force check again
|
|
|
|
make | -M [OPT] [FILE] : Convert Posts from PWD folder or [FILE]
|
|
to HTML file in server
|
|
-F : Force Make again
|
|
|
|
www [OPT1] [OPT2] : Add/Remove Post from www server
|
|
[OPT1]:
|
|
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)
|
|
|
|
|
|
sidebar | -S [ARG] [FILE]: Show Posts in list
|
|
[ARG]:
|
|
add | -A : Must set a Position number before [FILE]
|
|
Max posts in list is set in gsl.conf
|
|
Replace post position if post not exists in list
|
|
remove | -R : No Position to set, just [FILE].
|
|
add/remove will build last-posts-list.html
|
|
create | -C : rebuild last-posts-list.html
|
|
|
|
-v : Show local versionn
|
|
--version : Like -v + changes
|
|
-vv : Shown local and repo Versions
|
|
```
|