# 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 ```