gsl-statique-litterateur/README.md

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