gsl-statique-litterateur/README.md

212 lines
7.1 KiB
Markdown
Raw Normal View History

2022-03-07 15:08:10 +01:00
# 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.
2022-03-07 15:08:10 +01:00
# Dépendances
2022-03-07 15:08:10 +01:00
------------------------------------------------------------------------
- bash
- coreutils
- curl (to check Posts links response)
2022-03-27 19:19:26 +02:00
- rsync
2022-03-07 15:08:10 +01:00
# 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.
2022-03-07 15:08:10 +01:00
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
2022-03-07 15:08:10 +01:00
## Configuration du DOMAIN (selon le choix de l'utilistaeur via $ gsl new) :
2022-03-07 15:08:10 +01:00
- HOME: ~/.config/gsl
- GLOBAL: /var/lib/gsl
- Dossier: --Prefix/domains/ (créé par GSL via $ gsl new)
2022-03-07 15:08:10 +01:00
### 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...)
2022-03-07 15:08:10 +01:00
## Dossier de configuration de GSL : /etc/gsl/
- Fichier: gsl.conf
2022-03-07 15:08:10 +01:00
## Dossier principal : /var/lib/gsl/
- Folder: db (créé par GSL)
- Dossier: helps
- Dossier: scripts
- Fichier: README.md, README-english.md
2022-03-07 15:08:10 +01:00
## Dossier des logs: /var/log/gsl/
- Fichier: gsl.log (créé et géré par GSL via $ gsl log [OPT]...)
2022-03-07 15:08:10 +01:00
## Dossier de l'éxécutable : /usr/local/bin/
- Fichier: gsl
2022-03-07 15:08:10 +01:00
## Dossier d'autocomplétion : /usr/share/bash-completion/completions/gsl/
- Fichier: gsl
2022-03-07 15:08:10 +01:00
# Comment configurer un domaine
2022-03-07 15:08:10 +01:00
------------------------------------------------------------------------
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.
2022-03-07 15:08:10 +01:00
```
# helps
gsl help
2022-03-07 15:08:10 +01:00
gsl help new
gsl help install
# Ajouter un domaine
gsl new
2022-03-07 15:08:10 +01:00
```
## 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
2022-04-08 17:57:49 +02:00
pour y stocker et convertir en HTML vos articles pour un DOMAIN précis :
- Ajouter/créer un dossier de votre choix
2022-04-08 17:57:49 +02:00
- Créer dedans, un fichier vide nommé gsl.DOMAIAN (gsl.exemple.com)
2022-03-07 15:08:10 +01:00
## Ajouter un auteur
```
cd MON-DOSSER-ARTICLES
gsl author add
```
2022-03-07 15:08:10 +01:00
## 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.
2022-03-07 15:08:10 +01:00
- Créer un fichier (monarticle).gsl (extension .gsl)
- Suivez le guide plus bas pour comprendre les notions
2022-03-07 15:08:10 +01:00
Vous devrez le faire valider par GSL :
2022-03-07 15:08:10 +01:00
```
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
2022-03-07 15:08:10 +01:00
```
## Convertir un ou tous les articles
Si votre article n'a pas d'erreurs, vous pouvez le convertir en HTML.
2022-03-07 15:08:10 +01:00
```
gsl make
gsl make -F # Forcer la reconstruction)
gsl make -F monarticle.gsl # Forcer la reconstruction de monarticle.gsl
2022-03-07 15:08:10 +01:00
```
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
2022-03-07 15:08:10 +01:00
```
# 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*
2022-03-27 19:19:26 +02:00
# HELP COMMAND
------------------------------------------------------------------------
2022-03-27 19:19:26 +02:00
```
$ 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
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
edit | -E [FILE] : Open in default EDITOR [FILE] or with nano
2022-03-27 19:19:26 +02:00
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
2022-03-27 19:19:26 +02:00
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
2022-04-15 09:07:23 +02:00
remove | -R : No Position to set, just [FILE].
add/remove will build last-posts-list.html
create | -C : rebuild last-posts-list.html
2022-03-27 19:19:26 +02:00
version | -v : Show local versionn
-vv : Shown local and repo Versions
```