Go to file
Cyrille L 2e9ae902fd New RSS file + fixes 2022-06-18 12:16:52 +02:00
etc/gsl pre-beta version 2022-06-14 18:51:19 +02:00
help changes (CSS, Statoolinfos) 2022-06-15 16:15:44 +02:00
usr New RSS file + fixes 2022-06-18 12:16:52 +02:00
var New RSS file + fixes 2022-06-18 12:16:52 +02:00
CHANGELOG.md New RSS file + fixes 2022-06-18 12:16:52 +02:00
LICENSE Déplacement readme et licence 2022-03-07 15:08:10 +01:00
Makefile Changement de nom du paquet 2022-03-07 23:57:26 +01:00
README.md fix readme 2022-06-14 19:00:56 +02:00
control fix: make -F 2022-06-15 17:55:43 +02:00
new-version.md New RSS file + fixes 2022-06-18 12:16:52 +02:00

README.md

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