diff --git a/CHANGELOG.md b/CHANGELOG.md index eec223e..dd92df3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,14 @@ GSL changes from releases. You can send an issue : - repo: https://git.a-lec.org/echolib/gsl/-/issues - Contact xmpp: im@echolib.re +## [0.1.0] +### First beta release +- fix www/wip with add/remove options +- fix some innvalid HTML codes (strike uses span now) +- Renamed documentation files (not all translated ; some in french) +- RSS feed donc after all www (command) done + + ## [0.0.93] ### New - Basic RSS feed created at each www (COMMAND) diff --git a/README.md b/README.md index 7d9ab7a..4c84d19 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,11 @@ # 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 +GSL est un générateur de blogs/sites-web multiples basé sur leur nom de +domaine. Il est é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 (sidebar) contenant les articles de votre choix. +GSL crée pour ce module un fichier appelé avec include. Nginx peut être facilement configuré pour interprêter ce module. @@ -21,7 +22,7 @@ facilement configuré pour interprêter ce module. ------------------------------------------------------------------------ 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). +paquet deb (construit par make), amoureusement préparé par neox. 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, @@ -34,26 +35,26 @@ 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. +Préparer un fichier de logo. L'important sera de renseigner un nom du +fichier sinon, 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 +Attention: GSL aura besoin de créer des sous-dossiers (par DOMAIN) dans +le serveur, renseigné dans le questionnaire. (i.e. /var/www/). Il faut +donc lui donner les droits ``` -$ gsl new) domain +$ gsl new domain ``` -Des questions vous seront posées lorsque vous voudrez ajouter un domaine +Des questions vous seront posées lorsque vous voudrez ajouter un DOMAIN (exemple.com). Les données renseignées seront utilisées pour créer la -configuration (voir la documentation d'installation) +configuration du DOMAIN et reprises pour le site/blog dédié. ## 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 : +pour y stocker vos articles bruts en .gsl pour un DOMAIN précis : ``` gsl help -d @@ -61,19 +62,19 @@ cd MYFOLDER gsl setdir ``` -ou: +ou manuellement: - Aller dans/créer un dossier de votre choix -- Créer dedans, un fichier vide nommé gsl.DOMAIAN (gsl.exemple.com) +- Créer dedans, un fichier vide nommé gsl.DOMAIN (gsl.exemple.com) ## Ajouter / retirer un auteur ------------------------------------------------------------------------ Après avoir enregistré un domain et configuré un dossier pour les -articles. **Un auteur par ligne !** +articles. Ajoutez un ou plusieurs auteurs. **Un auteur par ligne !** ``` cd MON-DOSSER-ARTICLES -gsl author edit +gsl new author ``` @@ -91,18 +92,19 @@ 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) +- gsl make monarticle.gsl (Connvertit en HTML - dossier wip dans le serveur) +- gsl www add monarticle.gsl (copie 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 +avec make avant de pouvoir l'ajouter à la position désirée. Le nombre d'articles maximum dans la sidebar est configurable dans le fichier de -configuration du domaine (DOMAIN.conf) +configuration du domaine (DOMAIN.conf) (via le questionnaire) ``` +gsl sidebar latest gsl sidebar replace 2 monarticle.gsl ``` @@ -118,6 +120,8 @@ gsl www add mona # Help ------------------------------------------------------------------------ ``` +# GSL: Statique Littérateur + $ gsl (ARG) readme : Show README.md instructions help | -h (OPT) : This Help and how to @@ -125,7 +129,6 @@ $ gsl (ARG) 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 @@ -137,7 +140,7 @@ $ gsl (ARG) setdir | -D : Show current directory DOMAIN or set it - log | -L (OPTS) : Show logs from all sessions + log | -L (OPT) : 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) @@ -154,16 +157,16 @@ $ gsl (ARG) domain : Domains registred database (FILE) : (FILE) ; .gsl - db (FILE) : Show DB statuses from (FILE) + db (FILE) : Show DB datas 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 + check | -C (OPTI) : Check Post(s) errors from PWD folder -N : Check only articles not in DB - -F : Force Check again ; Recreate in Database + -F : Force Check again ; Create Database (FILE) : Only this (FILE) make | -M (OPTIONS) : Make all HTML articles or only (FILE) @@ -173,21 +176,24 @@ $ gsl (ARG) 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 + add : Add (OPT2) to www server + remove : remove (OPT2) from www server (OPT2): - all : Select all post with wip statuses + all : Select all post with wip statuses (FORCE !) (FILE) : Select specific post (if wip status) - wip : Same as www for wip + wip : Same as www for wip server + add : Same as make -F (i.e. gsl wip add all) 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) + oldest | -o : Same as above, but with oldest first -v : Show local versionn --version : Like -v + changes -vv : Shown local and repo Versions + ``` diff --git a/control b/control index 59c57bb..dd155ef 100644 --- a/control +++ b/control @@ -1,5 +1,5 @@ Package: egsl -Version: 0.0.93 +Version: 0.1.0 Section: custom Priority: optional Architecture: all diff --git a/etc/gsl/gsl.conf b/etc/gsl/gsl.conf index 24e435a..fa35e5d 100644 --- a/etc/gsl/gsl.conf +++ b/etc/gsl/gsl.conf @@ -56,12 +56,11 @@ gsl_files_help=( $gsl_dir_help/comment_ecrire-article.md $gsl_dir_help/gsl_help.md $gsl_dir_help/comment_installer-GSL.md -$gsl_dir_help/template-comment-creer.md -$gsl_dir_help/how_to-set_directory_for_articles.md -$gsl_dir_help/how_to-add_remove_authors.md -$gsl_dir_help/how_to-parameters_conf.md -$gsl_dir_help/how_to-CSS_classes.md -$gsl_dir_help/how_to-Tips_Advises.md +$gsl_dir_help/how-to_set_directory_for_articles.md +$gsl_dir_help/how-to_add_remove_authors.md +$gsl_dir_help/how-to_parameters_conf.md +$gsl_dir_help/how-to_CSS_classes.md +$gsl_dir_help/how-to_Tips_Advises.md ) gsl_dirs_w=( @@ -147,7 +146,7 @@ gsl_marker_link='link:' gsl_marker_flink='file:' # Closed HTML static code -HTML_strike_close='' +HTML_strike_close='' HTML_icode_close='' HTML_em_close='"' HTML_strong_close='' diff --git a/help/comment_ecrire-article.md b/help/comment_ecrire-article.md index b3aed6a..bbe4513 100644 --- a/help/comment_ecrire-article.md +++ b/help/comment_ecrire-article.md @@ -3,7 +3,7 @@ Vous pouvez créer un article daté du jour avec les METAS obligatoires intégrées (à renseigner après) depuis la ligne de commande. Vous devez spécifier si votre article sera une page ou un post (Voir section plus -bas), et lui donner un nom. Les metas optionnelles sont ajoutées enn +bas), et lui donner un nom. Les metas optionnelles sont ajoutées en commentaires. Rendez vous dans le dossier de vos articles, enregistrés lors de l'ajout @@ -12,15 +12,17 @@ de votre domaine (ou celui que vous avez configuré). Mettez des guillemets pour les nom du fichier avec espaces. ``` -# Crréer une page nommée index (deviendra /index.html) +# Créer une page nommée index (deviendra /index.html) gsl new page index # Créer un article nommé "mes vacances" -gsl ew post "mes vacances" +gsl new post "mes vacances" ``` -Vous pouvez l'éditer dans le terminal ou avec votre éditeur de texte, en -utilisant l'autocompletion () +Vous pouvez l'éditer dans le terminal en utilisant l'autocompletion +(), ou avec votre éditeur de texte favoris. le micro logiciel nano +est utilisé par défaut par GSL pour toute édition (article, +configuration du domaine, auteurs...) ``` gsl edit "mes vacances.gsl" @@ -41,11 +43,11 @@ l'article à partir de ce repère (servant de titre h1). ``` type: page title: POST TITLE -slug: MY-SLUG (si espaces, GSL les convertira en -) -info: DESCRIPTION (À propos de cet article) -author: NAME (doit être enregistré via la commande: gsl author edit -date: YYYY-MM-DD -tags: TAG1,Mon TAG2,TAG3 (séparé par une virgule) +slug: MY-SLUG (si espaces, GSL les convertira en -) +info: DESCRIPTION (À propos de cet article) +author: NAME (doit être enregistré via la commande: gsl author edit +date: YYYY-MM-DD (ou DD-MM-YYY si DOMAIN configuré en fr) +tags: TAG1,Mon TAG2 (séparé par une virgule) ``` ### Page ou Article ? @@ -53,14 +55,14 @@ Vous devez spécifier pour chaque article si c'est une **page** ou un **post** #### Page (index, 404, about...) -Création HTML à la racine selon le slug: /MY-SLUG.html +Création HTML à la racine du serveur selon le slug: /MY-SLUG.html ``` type: page slug: 404 ``` -#### Post (monarticle) +#### Post (mon article) Création HTML dans un dossier selon le slug: /MY-SLUG/index.html **! Le slug ne doit pas commencer par un /** @@ -81,7 +83,7 @@ Définir un ou plusieurs de ces marqueurs et utiliser ``` : ``` comme séparateur ``` -abbr: COURT : LONG +abbr: COURT : Long file: NOM : NOM-DU-FICHIER : Text alternatif link: NOM : URL : Text alternatif code: NUMERO : NOM-DU-FICHIER : Text alternatif @@ -90,7 +92,7 @@ image: NUMERO : NOM-DU-FICHIER : TEXT-ALTERNATIF ``` ## Contenu de l'article: -Les marqueurs (hors listes) *et leur contenu* (ex: ```__monfichier...```) +Les marqueurs (hors listes) *et leur contenu* (ex: ```·ceci est en gras·```) **doivent être sur la même ligne**. Les marqueurs à retenir et leur Combinaison de touches sur un clavier @@ -115,7 +117,7 @@ il ad•juge• : pas de pub ! Dans l'article... ``` -·Tout est en gras· +·Texte en gras· ``` ### Écrire en Italique @@ -153,9 +155,8 @@ Les propriétés CSS ne sont pas définies ``` ### Paragraphes -Au début d'une nouvelle ligne, ouvrez avec ( et fermez avec ). -Vous pouvez définir le nom de la classe du paragraphe en ajoutant la -valeur désirée ; par exemple : p3 +- Ouvrir avec ```(``` et fermez avec ```)``` **Au début d'une nouvelle ligne**. +- Définir le nom de la classe du paragraphe,par exemple : "p3" (optionnel) Dans l'article... ``` @@ -164,19 +165,19 @@ Paragraphe avec une classe p3 en css ) ( -Paragraphe sans classe +Paragraphe sans classe personnalisée ) ``` ### Liens -Définir en METAS +Définir en METAS... ``` link: Mon lien : URL : Alt text link: https://a-lec.org/ : URL : Alt text ``` -Dans l'article.. +Dans l'article... - Écrivez ```_``` devant le nom du lien - Ajoutez ```+``` pour ouvrir le lien dans un nouvel onglet @@ -193,7 +194,7 @@ file: Mon fichier : FILENAME : ALT-TEXT Dans l'article... ``` -__Mon fichier +__Mon fichier est super léger ``` ### Images @@ -205,19 +206,20 @@ image: 2 : FILENAME : ALT-TEXT ``` Dans l'article... -Définir le marqueur ```_image``` sur une seule ligne et spécifiez les +Définir le marqueur ```_image``` et spécifiez les valeurs séparées par ```:```. ```+``` indique l'ouverture dans une nouvelle fenêtre. Seuls le "numéro d'image" est obligatoire +Les valeurs: - Numero d'image - Alignement: l,r,(g,d également),c pour gauche, droite, centre) -- - maclasse au lieu de l,r,c pour utiliser la classe css "maclasse" +- - maclasse au lieu de l,r,g,d,c pour utiliser la classe css "maclasse" - - + (class="center") - Longueur width: (avec unité) - - + (taille originale) - Largeur height: (avec unité) - - + (longueur définie, largeur originale) -- Champ non vide: Lien de l'image dans un nouvel onglet +- + (Lien de l'image dans un nouvel onglet) Exemple d'images affichées l'une à côté de l'autre @@ -255,7 +257,7 @@ _code:python ``` ### IMPORT de code brut (sera exécuté par le navigateur) -Définir en METAS +Définir en METAS... ``` brut : 1 : FILENAME @@ -267,8 +269,9 @@ _brut:1 ``` ### Citation simple -Définissez un bloc pour la citation. Utilisez ```---``` -Vous pouvez définir une classe CSS spécifique ```--- ma-classe-css``` +Commun aux citations : +- Définir un bloc pour la citation. Utilisez ```---``` +- Définir une classe CSS spécifique ```--- ma-classe-css``` (optionnel) Dans l'article... @@ -310,7 +313,7 @@ _book: Esperanza 64 ### Créer des listes L'arborescence est "infinie". - Définir le début d'une liste par ```<<``` et sa fin par ```>>``` -- Définir une classe CSS après ```<< ``` +- Définir une classe CSS après ```<< ``` (optionnel) Dans l'article... - utilisez ```=``` pour définir une liste simple (ul) diff --git a/help/comment_installer-GSL.md b/help/comment_installer-GSL.md index ff0a0f5..88c5495 100644 --- a/help/comment_installer-GSL.md +++ b/help/comment_installer-GSL.md @@ -16,24 +16,25 @@ droits en écriture des dossiers ``` # Pour le dossier du binaire sudo rsync -a usr/local/bin/gsl /usr/local/bin/gsl -sudo chown USER:GROUP/usr/local/bin/gsl +sudo chown USER:GROUP /usr/local/bin/gsl # Pour les dossiers de scripts sudo mkdir -p "/var/lib/gsl" -sudo chown -R USER:GROUP "/var/lib/gsl" +sudo chown -R USER:GROUP /var/lib/gsl rsync -a var/lib/gsl/ /var/lib/gsl/ # Pour le dossier de logs sudo mkdir -p "/var/log/gsl" -sudo chown -R USER:GROUP "/var/log/gsl" +sudo chown -R USER:GROUP /var/log/gsl # Pour le dossier de configuration sudo mkdir -p /etc/gsl -sudo chown -R USER:GROUP "/etc/gsl" +sudo chown -R USER:GROUP /etc/gsl +rsync -a etc/gsl/ /etc/gsl/ # Pour l'autocompletion des articles dans la commande sudo rsync -a usr/share/bash-completion/completions/gsl /usr/share/bash-completion/completions/gsl -sudo chown USER:GROUP "/usr/share/bash-completion/completions/gsl" +sudo chown USER:GROUP /usr/share/bash-completion/completions/gsl ``` Attention: GSL aura besoin de créer des sous-dossier dans le serveur, @@ -42,7 +43,9 @@ donner les droits # Arborescence des dossiers utilisés par GSL ------------------------------------------------------------------------ -Note: ```+``` indique que GSL créera ces dossiers +Note: +- ```+``` indique que GSL créera ces dossiers +- DOMAIN représente le nom de domaine renseigné dans le questionnaire - /etc/gsl - /var/log/gsl @@ -50,7 +53,7 @@ Note: ```+``` indique que GSL créera ces dossiers - - /help/ - - /scripts/ - - /domains -- - - /DOMAIN +- - - /DOMAIN + - - - - /templates/ + - - - - /files/ + - - - - /images/ + @@ -60,11 +63,11 @@ Note: ```+``` indique que GSL créera ces dossiers - - - /DOMAIN + - /SRV (i.e. /var/www) -- - /DOMAIN -- - - /wip -- - - - /TEMPLATE (sync wip (command) from /var/lib/gsl/domains/DOMAIN/) -- - - /www -- - - - /TEMPLATE (sync www (command) from /var/lib/gsl/domains/DOMAIN/) +- - /DOMAIN + +- - - /wip + +- - - - /TEMPLATE (sync wip (command) from /var/lib/gsl/domains/DOMAIN/) + +- - - /www + +- - - - /TEMPLATE (sync www (command) from /var/lib/gsl/domains/DOMAIN/) + # Fichiers créés par GSL @@ -81,4 +84,4 @@ Note: ```+``` indique que GSL créera ces dossiers - - /db/ - - - domains.db (registred domains) - - - DOMAIN/ -- - - - (file).gsl.db (Un par article) +- - - - (article).gsl.db (un par article) diff --git a/help/comment-parametrer-GSL.md b/help/comment_parametrer-GSL.md similarity index 100% rename from help/comment-parametrer-GSL.md rename to help/comment_parametrer-GSL.md diff --git a/help/gsl_help.md b/help/gsl_help.md index 73aef23..012272c 100644 --- a/help/gsl_help.md +++ b/help/gsl_help.md @@ -7,7 +7,6 @@ $ gsl (ARG) 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 @@ -19,7 +18,7 @@ $ gsl (ARG) setdir | -D : Show current directory DOMAIN or set it - log | -L (OPTS) : Show logs from all sessions + log | -L (OPT) : 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) @@ -36,16 +35,16 @@ $ gsl (ARG) domain : Domains registred database (FILE) : (FILE) ; .gsl - db (FILE) : Show DB statuses from (FILE) + db (FILE) : Show DB datas 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 + check | -C (OPTI) : Check Post(s) errors from PWD folder -N : Check only articles not in DB - -F : Force Check again ; Recreate in Database + -F : Force Check again ; Create Database (FILE) : Only this (FILE) make | -M (OPTIONS) : Make all HTML articles or only (FILE) @@ -55,19 +54,21 @@ $ gsl (ARG) 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 + add : Add (OPT2) to www server + remove : remove (OPT2) from www server (OPT2): - all : Select all post with wip statuses + all : Select all post with wip statuses (FORCE !) (FILE) : Select specific post (if wip status) - wip : Same as www for wip + wip : Same as www for wip server + add : Same as make -F (i.e. gsl wip add all) 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) + oldest | -o : Same as above, but with oldest first -v : Show local versionn --version : Like -v + changes diff --git a/help/how_to-CSS_classes.md b/help/how-to_CSS_classes.md similarity index 91% rename from help/how_to-CSS_classes.md rename to help/how-to_CSS_classes.md index 8dfb3bc..d80a17e 100644 --- a/help/how_to-CSS_classes.md +++ b/help/how-to_CSS_classes.md @@ -23,7 +23,7 @@ X is 1 to 6 from current title - bold: xxx_bold - strong: xxx_strong - emphasis: xxx_em -- strike: xxx_strike +- strike: xxx_strike (span) - inline code: xxx_icode ### Paragraphs @@ -46,11 +46,11 @@ myclass is from content marker (i.e. _image:1:myclass:90:90:+) ### pre-codes from source file X is the NAME/NBR registred in header -- pre: xxx_code-block xxx_code-block-X -- span line: xxx_code-line -- span content: xxx_code-content -- p after pre: xxx_code-p -- link source: xxx_code-link +- pre: xxx_code-block xxx_code-block-X +- span line: xxx_code-line +- span content: xxx_code-content +- div after pre: xxx_code-p +- link source: xxx_code-link ### Liste (ol | ul | li) X is the item mark nbr (i.e. "+++" = 3, "=" = 1) diff --git a/var/lib/gsl/help/how_to-Tips_Advises.md b/help/how-to_Tips_Advises.md similarity index 56% rename from var/lib/gsl/help/how_to-Tips_Advises.md rename to help/how-to_Tips_Advises.md index 20fe0fe..682eb74 100644 --- a/var/lib/gsl/help/how_to-Tips_Advises.md +++ b/help/how-to_Tips_Advises.md @@ -25,10 +25,22 @@ _image:1:+ _image:1:c:640px:+ ``` -## Make (changes in source file) -If you change the content of a file (script code, image...), you will -have to make -F your article, and do www add after +## Make (changes in your template) +If you change the content of a file in your template +(script code, image, footer...), and you want ALL your articles to be +updated, you will have to : +- gsl sync +- gsl make -F +- gsl www add all + +For only one article (myarticle).gsl: +- gsl sync +- gsl make -F (myarticle) (preview it first with wip server) +- gsl www remove (myarticle) +- gsl www add (myarticle) ## Sidebar -If your remove a www or wip page, and you put it in sidebar, -do not forget to replace it with another article +If your remove a www or wip page, and you have put it in the sidebar, +do not forget to replace it with another article. You can also have an +automatic sidebar with +- gsl sidebar latest diff --git a/help/how_to-add_remove_authors.md b/help/how-to_add_remove_authors.md similarity index 100% rename from help/how_to-add_remove_authors.md rename to help/how-to_add_remove_authors.md diff --git a/help/how_to-parameters_conf.md b/help/how-to_parameters_conf.md similarity index 100% rename from help/how_to-parameters_conf.md rename to help/how-to_parameters_conf.md diff --git a/help/how_to-set_directory_for_articles.md b/help/how-to_set_directory_for_articles.md similarity index 100% rename from help/how_to-set_directory_for_articles.md rename to help/how-to_set_directory_for_articles.md diff --git a/help/template-comment-creer.md b/help/template-comment-creer.md deleted file mode 100644 index 7dd7de8..0000000 --- a/help/template-comment-creer.md +++ /dev/null @@ -1,69 +0,0 @@ -# Créer un Template ------------------------------------------------------------------------- - -Vous devrez pour que votre site soit à vôtre goût créer et définir les -styles dans styles.css. Placez ce fichier (en fonction du choix de votre -configuration du DOMAIN) dans : -- HOME: ~/.config/gsl/domains/DOMAIN/templates/ -- GLOBAL: /var/lib/gsl/domains/DOMAIN/templates/ - -Concernant les contenus images et fichiers dans vos articles, placez-les -dans les dossiers -- .../templates/images -- .../templates/files - -Astuce: Une fois votre article créé, vous verrez dans sa source HTML que -beaucoup d'éléments ont une class="ACRONYM_uneclass". Utilisez -ces classes dans style.css pour décorer votre site à votre goût. - -Pour mettre à jour et voir vos modifications de styles - -``` -gsl sync -``` - -GSL synchronisera votre template sur votre webserver. -Rechargez votre page dans votre navigateur - -Si vous avez modifié header.html ou footer.html dans votre dossier -/templates, ou si de nouvelles fonctions sont arrivées et concernent les -pages HTML dans GSL, il vous faudra reconstruire toutes les pages - -``` -gsl make -F -``` - -## Listes de classes utilisées. - -Rappel: les classes et IDs commencent par votre ACRONYM configuré, -lors de la création d'un domaine avec ```gsl new```, suivi par ```_```. -Pour une meilleure lisibilité, votre ACRONYM est marqué xxx. - -### Dans body, header - -- ID= -- - body: xxx_page -- - header: xxx_banner -- - logo dans header: xxx_site-logo -- - title dans header: xxx_site-title -- - name dans header: xxx_site-name -- - Description dans header: xxx_site-description -- - ```
``` avant ```
```: xxx_page-wrapper -- - article: xxx_SLUG (SLUG est le "slug: SLUG" de l'article) -- - div metas (auteur, date...): xxx_metas -- - p dans div metas: xxx_auteur - -### Dans ```
``` - -- CLASS= -- hX: xxx_title-X -- - div après chaque titre ``````: xxx_content-p xxx_content-pX -- - p dans div content-p: xxx_paragraph -- - - si contenu ```( 1z```: xxx_paragraph-1z -- - code pour les inline-code avec ```¤...¤```: xxx_icode -- strikee: xxx_strike -- - li (liste) en fonction du nombre N de ```= | +```: xxx__list-li x_list-N -- - ul (liste) simple: xxx_list-ul -- - ol (liste) ordonnée: xxx_list-ol - -... more to be listed here diff --git a/new-version.md b/new-version.md index e34ee07..cab8454 100644 --- a/new-version.md +++ b/new-version.md @@ -1,4 +1,4 @@ -## [0.0.93] +## [0.1.0] ## Please, see help (and documentations in help folder) @@ -34,6 +34,7 @@ - - /var/log/gsl: for logs files (.gitkeep) - New help folder in - - /var/lib/gsl/help (removed "helps" one) +- - - Renamed documentation files (not all translated ; some in french) ### Logs - Better logs harmony @@ -76,6 +77,7 @@ ### new ARGUMENTS - new (page|post) (name): Create article, show its content + check it - new domain: New domain configuration creator +- new author: Same as author edit - edit domains: Set/Edit registred domains database - edit author: Same as author edit - author edit: Opens nano to Add/Remove authors (one per line) by DOMAIN @@ -83,8 +85,8 @@ - check -N: Only check newer articles not in DB - clean all: Remove all backups (only) files - sidebar: add|replace|latest|oldest (See gsl help) -- www sync: Same as sync www -- wip ...: Same as www but for wip +- www sync: Same as sync www (see gsl help) +- wip ...: Same as www but for wip (see gsl help) ### Markers - css: MYCLASS Customize each article with your CSS (optional) diff --git a/usr/local/bin/gsl b/usr/local/bin/gsl index e5101cb..6c130b4 100755 --- a/usr/local/bin/gsl +++ b/usr/local/bin/gsl @@ -1,5 +1,5 @@ #!/bin/bash -# Version: 0.0.93 +# Version: 0.1.0 # file: gsl # Folder: /usr/local/bin # By echolib (XMPP: im@echolib.re) @@ -69,11 +69,11 @@ case "$1" in write|-w) cat "$gsl_dir_help/comment_ecrire-article.md" ;; tpl|-T) cat "$gsl_dir_help/template-comment-creer.md" ;; install|-i) cat "$gsl_dir_help/comment_installer-GSL.md" ;; - authors|-a) cat "$gsl_dir_help/how_to-add_remove_authors.md" ;; - setdir|-d) cat "$gsl_dir_help/how_to-set_directory_for_articles.md" ;; - param|-p) cat "$gsl_dir_help/how_to-parameters_conf.md" ;; - css) cat "$gsl_dir_help/how_to-CSS_classes.md" ;; - tips|-t) cat "$gsl_dir_help/how_to-Tips_Advises.md" ;; + authors|-a) cat "$gsl_dir_help/how-to_add_remove_authors.md" ;; + setdir|-d) cat "$gsl_dir_help/how-to_set_directory_for_articles.md" ;; + param|-p) cat "$gsl_dir_help/how-to_parameters_conf.md" ;; + css) cat "$gsl_dir_help/how-to_CSS_classes.md" ;; + tips|-t) cat "$gsl_dir_help/how-to_Tips_Advises.md" ;; ""|*) cat "$gsl_dir_help/gsl_help.md" ;; esac exit diff --git a/var/lib/gsl/CHANGELOG.md b/var/lib/gsl/CHANGELOG.md index eec223e..dd92df3 100644 --- a/var/lib/gsl/CHANGELOG.md +++ b/var/lib/gsl/CHANGELOG.md @@ -4,6 +4,14 @@ GSL changes from releases. You can send an issue : - repo: https://git.a-lec.org/echolib/gsl/-/issues - Contact xmpp: im@echolib.re +## [0.1.0] +### First beta release +- fix www/wip with add/remove options +- fix some innvalid HTML codes (strike uses span now) +- Renamed documentation files (not all translated ; some in french) +- RSS feed donc after all www (command) done + + ## [0.0.93] ### New - Basic RSS feed created at each www (COMMAND) diff --git a/var/lib/gsl/README.md b/var/lib/gsl/README.md index 7d9ab7a..4c84d19 100644 --- a/var/lib/gsl/README.md +++ b/var/lib/gsl/README.md @@ -1,10 +1,11 @@ # 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 +GSL est un générateur de blogs/sites-web multiples basé sur leur nom de +domaine. Il est é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 (sidebar) contenant les articles de votre choix. +GSL crée pour ce module un fichier appelé avec include. Nginx peut être facilement configuré pour interprêter ce module. @@ -21,7 +22,7 @@ facilement configuré pour interprêter ce module. ------------------------------------------------------------------------ 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). +paquet deb (construit par make), amoureusement préparé par neox. 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, @@ -34,26 +35,26 @@ 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. +Préparer un fichier de logo. L'important sera de renseigner un nom du +fichier sinon, 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 +Attention: GSL aura besoin de créer des sous-dossiers (par DOMAIN) dans +le serveur, renseigné dans le questionnaire. (i.e. /var/www/). Il faut +donc lui donner les droits ``` -$ gsl new) domain +$ gsl new domain ``` -Des questions vous seront posées lorsque vous voudrez ajouter un domaine +Des questions vous seront posées lorsque vous voudrez ajouter un DOMAIN (exemple.com). Les données renseignées seront utilisées pour créer la -configuration (voir la documentation d'installation) +configuration du DOMAIN et reprises pour le site/blog dédié. ## 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 : +pour y stocker vos articles bruts en .gsl pour un DOMAIN précis : ``` gsl help -d @@ -61,19 +62,19 @@ cd MYFOLDER gsl setdir ``` -ou: +ou manuellement: - Aller dans/créer un dossier de votre choix -- Créer dedans, un fichier vide nommé gsl.DOMAIAN (gsl.exemple.com) +- Créer dedans, un fichier vide nommé gsl.DOMAIN (gsl.exemple.com) ## Ajouter / retirer un auteur ------------------------------------------------------------------------ Après avoir enregistré un domain et configuré un dossier pour les -articles. **Un auteur par ligne !** +articles. Ajoutez un ou plusieurs auteurs. **Un auteur par ligne !** ``` cd MON-DOSSER-ARTICLES -gsl author edit +gsl new author ``` @@ -91,18 +92,19 @@ 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) +- gsl make monarticle.gsl (Connvertit en HTML - dossier wip dans le serveur) +- gsl www add monarticle.gsl (copie 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 +avec make avant de pouvoir l'ajouter à la position désirée. Le nombre d'articles maximum dans la sidebar est configurable dans le fichier de -configuration du domaine (DOMAIN.conf) +configuration du domaine (DOMAIN.conf) (via le questionnaire) ``` +gsl sidebar latest gsl sidebar replace 2 monarticle.gsl ``` @@ -118,6 +120,8 @@ gsl www add mona # Help ------------------------------------------------------------------------ ``` +# GSL: Statique Littérateur + $ gsl (ARG) readme : Show README.md instructions help | -h (OPT) : This Help and how to @@ -125,7 +129,6 @@ $ gsl (ARG) 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 @@ -137,7 +140,7 @@ $ gsl (ARG) setdir | -D : Show current directory DOMAIN or set it - log | -L (OPTS) : Show logs from all sessions + log | -L (OPT) : 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) @@ -154,16 +157,16 @@ $ gsl (ARG) domain : Domains registred database (FILE) : (FILE) ; .gsl - db (FILE) : Show DB statuses from (FILE) + db (FILE) : Show DB datas 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 + check | -C (OPTI) : Check Post(s) errors from PWD folder -N : Check only articles not in DB - -F : Force Check again ; Recreate in Database + -F : Force Check again ; Create Database (FILE) : Only this (FILE) make | -M (OPTIONS) : Make all HTML articles or only (FILE) @@ -173,21 +176,24 @@ $ gsl (ARG) 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 + add : Add (OPT2) to www server + remove : remove (OPT2) from www server (OPT2): - all : Select all post with wip statuses + all : Select all post with wip statuses (FORCE !) (FILE) : Select specific post (if wip status) - wip : Same as www for wip + wip : Same as www for wip server + add : Same as make -F (i.e. gsl wip add all) 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) + oldest | -o : Same as above, but with oldest first -v : Show local versionn --version : Like -v + changes -vv : Shown local and repo Versions + ``` diff --git a/var/lib/gsl/help/comment_ecrire-article.md b/var/lib/gsl/help/comment_ecrire-article.md index b3aed6a..bbe4513 100644 --- a/var/lib/gsl/help/comment_ecrire-article.md +++ b/var/lib/gsl/help/comment_ecrire-article.md @@ -3,7 +3,7 @@ Vous pouvez créer un article daté du jour avec les METAS obligatoires intégrées (à renseigner après) depuis la ligne de commande. Vous devez spécifier si votre article sera une page ou un post (Voir section plus -bas), et lui donner un nom. Les metas optionnelles sont ajoutées enn +bas), et lui donner un nom. Les metas optionnelles sont ajoutées en commentaires. Rendez vous dans le dossier de vos articles, enregistrés lors de l'ajout @@ -12,15 +12,17 @@ de votre domaine (ou celui que vous avez configuré). Mettez des guillemets pour les nom du fichier avec espaces. ``` -# Crréer une page nommée index (deviendra /index.html) +# Créer une page nommée index (deviendra /index.html) gsl new page index # Créer un article nommé "mes vacances" -gsl ew post "mes vacances" +gsl new post "mes vacances" ``` -Vous pouvez l'éditer dans le terminal ou avec votre éditeur de texte, en -utilisant l'autocompletion () +Vous pouvez l'éditer dans le terminal en utilisant l'autocompletion +(), ou avec votre éditeur de texte favoris. le micro logiciel nano +est utilisé par défaut par GSL pour toute édition (article, +configuration du domaine, auteurs...) ``` gsl edit "mes vacances.gsl" @@ -41,11 +43,11 @@ l'article à partir de ce repère (servant de titre h1). ``` type: page title: POST TITLE -slug: MY-SLUG (si espaces, GSL les convertira en -) -info: DESCRIPTION (À propos de cet article) -author: NAME (doit être enregistré via la commande: gsl author edit -date: YYYY-MM-DD -tags: TAG1,Mon TAG2,TAG3 (séparé par une virgule) +slug: MY-SLUG (si espaces, GSL les convertira en -) +info: DESCRIPTION (À propos de cet article) +author: NAME (doit être enregistré via la commande: gsl author edit +date: YYYY-MM-DD (ou DD-MM-YYY si DOMAIN configuré en fr) +tags: TAG1,Mon TAG2 (séparé par une virgule) ``` ### Page ou Article ? @@ -53,14 +55,14 @@ Vous devez spécifier pour chaque article si c'est une **page** ou un **post** #### Page (index, 404, about...) -Création HTML à la racine selon le slug: /MY-SLUG.html +Création HTML à la racine du serveur selon le slug: /MY-SLUG.html ``` type: page slug: 404 ``` -#### Post (monarticle) +#### Post (mon article) Création HTML dans un dossier selon le slug: /MY-SLUG/index.html **! Le slug ne doit pas commencer par un /** @@ -81,7 +83,7 @@ Définir un ou plusieurs de ces marqueurs et utiliser ``` : ``` comme séparateur ``` -abbr: COURT : LONG +abbr: COURT : Long file: NOM : NOM-DU-FICHIER : Text alternatif link: NOM : URL : Text alternatif code: NUMERO : NOM-DU-FICHIER : Text alternatif @@ -90,7 +92,7 @@ image: NUMERO : NOM-DU-FICHIER : TEXT-ALTERNATIF ``` ## Contenu de l'article: -Les marqueurs (hors listes) *et leur contenu* (ex: ```__monfichier...```) +Les marqueurs (hors listes) *et leur contenu* (ex: ```·ceci est en gras·```) **doivent être sur la même ligne**. Les marqueurs à retenir et leur Combinaison de touches sur un clavier @@ -115,7 +117,7 @@ il ad•juge• : pas de pub ! Dans l'article... ``` -·Tout est en gras· +·Texte en gras· ``` ### Écrire en Italique @@ -153,9 +155,8 @@ Les propriétés CSS ne sont pas définies ``` ### Paragraphes -Au début d'une nouvelle ligne, ouvrez avec ( et fermez avec ). -Vous pouvez définir le nom de la classe du paragraphe en ajoutant la -valeur désirée ; par exemple : p3 +- Ouvrir avec ```(``` et fermez avec ```)``` **Au début d'une nouvelle ligne**. +- Définir le nom de la classe du paragraphe,par exemple : "p3" (optionnel) Dans l'article... ``` @@ -164,19 +165,19 @@ Paragraphe avec une classe p3 en css ) ( -Paragraphe sans classe +Paragraphe sans classe personnalisée ) ``` ### Liens -Définir en METAS +Définir en METAS... ``` link: Mon lien : URL : Alt text link: https://a-lec.org/ : URL : Alt text ``` -Dans l'article.. +Dans l'article... - Écrivez ```_``` devant le nom du lien - Ajoutez ```+``` pour ouvrir le lien dans un nouvel onglet @@ -193,7 +194,7 @@ file: Mon fichier : FILENAME : ALT-TEXT Dans l'article... ``` -__Mon fichier +__Mon fichier est super léger ``` ### Images @@ -205,19 +206,20 @@ image: 2 : FILENAME : ALT-TEXT ``` Dans l'article... -Définir le marqueur ```_image``` sur une seule ligne et spécifiez les +Définir le marqueur ```_image``` et spécifiez les valeurs séparées par ```:```. ```+``` indique l'ouverture dans une nouvelle fenêtre. Seuls le "numéro d'image" est obligatoire +Les valeurs: - Numero d'image - Alignement: l,r,(g,d également),c pour gauche, droite, centre) -- - maclasse au lieu de l,r,c pour utiliser la classe css "maclasse" +- - maclasse au lieu de l,r,g,d,c pour utiliser la classe css "maclasse" - - + (class="center") - Longueur width: (avec unité) - - + (taille originale) - Largeur height: (avec unité) - - + (longueur définie, largeur originale) -- Champ non vide: Lien de l'image dans un nouvel onglet +- + (Lien de l'image dans un nouvel onglet) Exemple d'images affichées l'une à côté de l'autre @@ -255,7 +257,7 @@ _code:python ``` ### IMPORT de code brut (sera exécuté par le navigateur) -Définir en METAS +Définir en METAS... ``` brut : 1 : FILENAME @@ -267,8 +269,9 @@ _brut:1 ``` ### Citation simple -Définissez un bloc pour la citation. Utilisez ```---``` -Vous pouvez définir une classe CSS spécifique ```--- ma-classe-css``` +Commun aux citations : +- Définir un bloc pour la citation. Utilisez ```---``` +- Définir une classe CSS spécifique ```--- ma-classe-css``` (optionnel) Dans l'article... @@ -310,7 +313,7 @@ _book: Esperanza 64 ### Créer des listes L'arborescence est "infinie". - Définir le début d'une liste par ```<<``` et sa fin par ```>>``` -- Définir une classe CSS après ```<< ``` +- Définir une classe CSS après ```<< ``` (optionnel) Dans l'article... - utilisez ```=``` pour définir une liste simple (ul) diff --git a/var/lib/gsl/help/comment_installer-GSL.md b/var/lib/gsl/help/comment_installer-GSL.md index ff0a0f5..88c5495 100644 --- a/var/lib/gsl/help/comment_installer-GSL.md +++ b/var/lib/gsl/help/comment_installer-GSL.md @@ -16,24 +16,25 @@ droits en écriture des dossiers ``` # Pour le dossier du binaire sudo rsync -a usr/local/bin/gsl /usr/local/bin/gsl -sudo chown USER:GROUP/usr/local/bin/gsl +sudo chown USER:GROUP /usr/local/bin/gsl # Pour les dossiers de scripts sudo mkdir -p "/var/lib/gsl" -sudo chown -R USER:GROUP "/var/lib/gsl" +sudo chown -R USER:GROUP /var/lib/gsl rsync -a var/lib/gsl/ /var/lib/gsl/ # Pour le dossier de logs sudo mkdir -p "/var/log/gsl" -sudo chown -R USER:GROUP "/var/log/gsl" +sudo chown -R USER:GROUP /var/log/gsl # Pour le dossier de configuration sudo mkdir -p /etc/gsl -sudo chown -R USER:GROUP "/etc/gsl" +sudo chown -R USER:GROUP /etc/gsl +rsync -a etc/gsl/ /etc/gsl/ # Pour l'autocompletion des articles dans la commande sudo rsync -a usr/share/bash-completion/completions/gsl /usr/share/bash-completion/completions/gsl -sudo chown USER:GROUP "/usr/share/bash-completion/completions/gsl" +sudo chown USER:GROUP /usr/share/bash-completion/completions/gsl ``` Attention: GSL aura besoin de créer des sous-dossier dans le serveur, @@ -42,7 +43,9 @@ donner les droits # Arborescence des dossiers utilisés par GSL ------------------------------------------------------------------------ -Note: ```+``` indique que GSL créera ces dossiers +Note: +- ```+``` indique que GSL créera ces dossiers +- DOMAIN représente le nom de domaine renseigné dans le questionnaire - /etc/gsl - /var/log/gsl @@ -50,7 +53,7 @@ Note: ```+``` indique que GSL créera ces dossiers - - /help/ - - /scripts/ - - /domains -- - - /DOMAIN +- - - /DOMAIN + - - - - /templates/ + - - - - /files/ + - - - - /images/ + @@ -60,11 +63,11 @@ Note: ```+``` indique que GSL créera ces dossiers - - - /DOMAIN + - /SRV (i.e. /var/www) -- - /DOMAIN -- - - /wip -- - - - /TEMPLATE (sync wip (command) from /var/lib/gsl/domains/DOMAIN/) -- - - /www -- - - - /TEMPLATE (sync www (command) from /var/lib/gsl/domains/DOMAIN/) +- - /DOMAIN + +- - - /wip + +- - - - /TEMPLATE (sync wip (command) from /var/lib/gsl/domains/DOMAIN/) + +- - - /www + +- - - - /TEMPLATE (sync www (command) from /var/lib/gsl/domains/DOMAIN/) + # Fichiers créés par GSL @@ -81,4 +84,4 @@ Note: ```+``` indique que GSL créera ces dossiers - - /db/ - - - domains.db (registred domains) - - - DOMAIN/ -- - - - (file).gsl.db (Un par article) +- - - - (article).gsl.db (un par article) diff --git a/var/lib/gsl/help/comment-parametrer-GSL.md b/var/lib/gsl/help/comment_parametrer-GSL.md similarity index 100% rename from var/lib/gsl/help/comment-parametrer-GSL.md rename to var/lib/gsl/help/comment_parametrer-GSL.md diff --git a/var/lib/gsl/help/gsl_help.md b/var/lib/gsl/help/gsl_help.md index 73aef23..012272c 100644 --- a/var/lib/gsl/help/gsl_help.md +++ b/var/lib/gsl/help/gsl_help.md @@ -7,7 +7,6 @@ $ gsl (ARG) 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 @@ -19,7 +18,7 @@ $ gsl (ARG) setdir | -D : Show current directory DOMAIN or set it - log | -L (OPTS) : Show logs from all sessions + log | -L (OPT) : 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) @@ -36,16 +35,16 @@ $ gsl (ARG) domain : Domains registred database (FILE) : (FILE) ; .gsl - db (FILE) : Show DB statuses from (FILE) + db (FILE) : Show DB datas 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 + check | -C (OPTI) : Check Post(s) errors from PWD folder -N : Check only articles not in DB - -F : Force Check again ; Recreate in Database + -F : Force Check again ; Create Database (FILE) : Only this (FILE) make | -M (OPTIONS) : Make all HTML articles or only (FILE) @@ -55,19 +54,21 @@ $ gsl (ARG) 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 + add : Add (OPT2) to www server + remove : remove (OPT2) from www server (OPT2): - all : Select all post with wip statuses + all : Select all post with wip statuses (FORCE !) (FILE) : Select specific post (if wip status) - wip : Same as www for wip + wip : Same as www for wip server + add : Same as make -F (i.e. gsl wip add all) 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) + oldest | -o : Same as above, but with oldest first -v : Show local versionn --version : Like -v + changes diff --git a/var/lib/gsl/help/how_to-CSS_classes.md b/var/lib/gsl/help/how-to_CSS_classes.md similarity index 91% rename from var/lib/gsl/help/how_to-CSS_classes.md rename to var/lib/gsl/help/how-to_CSS_classes.md index 8dfb3bc..d80a17e 100644 --- a/var/lib/gsl/help/how_to-CSS_classes.md +++ b/var/lib/gsl/help/how-to_CSS_classes.md @@ -23,7 +23,7 @@ X is 1 to 6 from current title - bold: xxx_bold - strong: xxx_strong - emphasis: xxx_em -- strike: xxx_strike +- strike: xxx_strike (span) - inline code: xxx_icode ### Paragraphs @@ -46,11 +46,11 @@ myclass is from content marker (i.e. _image:1:myclass:90:90:+) ### pre-codes from source file X is the NAME/NBR registred in header -- pre: xxx_code-block xxx_code-block-X -- span line: xxx_code-line -- span content: xxx_code-content -- p after pre: xxx_code-p -- link source: xxx_code-link +- pre: xxx_code-block xxx_code-block-X +- span line: xxx_code-line +- span content: xxx_code-content +- div after pre: xxx_code-p +- link source: xxx_code-link ### Liste (ol | ul | li) X is the item mark nbr (i.e. "+++" = 3, "=" = 1) diff --git a/help/how_to-Tips_Advises.md b/var/lib/gsl/help/how-to_Tips_Advises.md similarity index 56% rename from help/how_to-Tips_Advises.md rename to var/lib/gsl/help/how-to_Tips_Advises.md index 20fe0fe..682eb74 100644 --- a/help/how_to-Tips_Advises.md +++ b/var/lib/gsl/help/how-to_Tips_Advises.md @@ -25,10 +25,22 @@ _image:1:+ _image:1:c:640px:+ ``` -## Make (changes in source file) -If you change the content of a file (script code, image...), you will -have to make -F your article, and do www add after +## Make (changes in your template) +If you change the content of a file in your template +(script code, image, footer...), and you want ALL your articles to be +updated, you will have to : +- gsl sync +- gsl make -F +- gsl www add all + +For only one article (myarticle).gsl: +- gsl sync +- gsl make -F (myarticle) (preview it first with wip server) +- gsl www remove (myarticle) +- gsl www add (myarticle) ## Sidebar -If your remove a www or wip page, and you put it in sidebar, -do not forget to replace it with another article +If your remove a www or wip page, and you have put it in the sidebar, +do not forget to replace it with another article. You can also have an +automatic sidebar with +- gsl sidebar latest diff --git a/var/lib/gsl/help/how_to-add_remove_authors.md b/var/lib/gsl/help/how-to_add_remove_authors.md similarity index 100% rename from var/lib/gsl/help/how_to-add_remove_authors.md rename to var/lib/gsl/help/how-to_add_remove_authors.md diff --git a/var/lib/gsl/help/how_to-parameters_conf.md b/var/lib/gsl/help/how-to_parameters_conf.md similarity index 100% rename from var/lib/gsl/help/how_to-parameters_conf.md rename to var/lib/gsl/help/how-to_parameters_conf.md diff --git a/var/lib/gsl/help/how_to-set_directory_for_articles.md b/var/lib/gsl/help/how-to_set_directory_for_articles.md similarity index 100% rename from var/lib/gsl/help/how_to-set_directory_for_articles.md rename to var/lib/gsl/help/how-to_set_directory_for_articles.md diff --git a/var/lib/gsl/help/template-comment-creer.md b/var/lib/gsl/help/template-comment-creer.md deleted file mode 100644 index 7dd7de8..0000000 --- a/var/lib/gsl/help/template-comment-creer.md +++ /dev/null @@ -1,69 +0,0 @@ -# Créer un Template ------------------------------------------------------------------------- - -Vous devrez pour que votre site soit à vôtre goût créer et définir les -styles dans styles.css. Placez ce fichier (en fonction du choix de votre -configuration du DOMAIN) dans : -- HOME: ~/.config/gsl/domains/DOMAIN/templates/ -- GLOBAL: /var/lib/gsl/domains/DOMAIN/templates/ - -Concernant les contenus images et fichiers dans vos articles, placez-les -dans les dossiers -- .../templates/images -- .../templates/files - -Astuce: Une fois votre article créé, vous verrez dans sa source HTML que -beaucoup d'éléments ont une class="ACRONYM_uneclass". Utilisez -ces classes dans style.css pour décorer votre site à votre goût. - -Pour mettre à jour et voir vos modifications de styles - -``` -gsl sync -``` - -GSL synchronisera votre template sur votre webserver. -Rechargez votre page dans votre navigateur - -Si vous avez modifié header.html ou footer.html dans votre dossier -/templates, ou si de nouvelles fonctions sont arrivées et concernent les -pages HTML dans GSL, il vous faudra reconstruire toutes les pages - -``` -gsl make -F -``` - -## Listes de classes utilisées. - -Rappel: les classes et IDs commencent par votre ACRONYM configuré, -lors de la création d'un domaine avec ```gsl new```, suivi par ```_```. -Pour une meilleure lisibilité, votre ACRONYM est marqué xxx. - -### Dans body, header - -- ID= -- - body: xxx_page -- - header: xxx_banner -- - logo dans header: xxx_site-logo -- - title dans header: xxx_site-title -- - name dans header: xxx_site-name -- - Description dans header: xxx_site-description -- - ```
``` avant ```
```: xxx_page-wrapper -- - article: xxx_SLUG (SLUG est le "slug: SLUG" de l'article) -- - div metas (auteur, date...): xxx_metas -- - p dans div metas: xxx_auteur - -### Dans ```
``` - -- CLASS= -- hX: xxx_title-X -- - div après chaque titre ``````: xxx_content-p xxx_content-pX -- - p dans div content-p: xxx_paragraph -- - - si contenu ```( 1z```: xxx_paragraph-1z -- - code pour les inline-code avec ```¤...¤```: xxx_icode -- strikee: xxx_strike -- - li (liste) en fonction du nombre N de ```= | +```: xxx__list-li x_list-N -- - ul (liste) simple: xxx_list-ul -- - ol (liste) ordonnée: xxx_list-ol - -... more to be listed here diff --git a/var/lib/gsl/new-version.md b/var/lib/gsl/new-version.md index e34ee07..cab8454 100644 --- a/var/lib/gsl/new-version.md +++ b/var/lib/gsl/new-version.md @@ -1,4 +1,4 @@ -## [0.0.93] +## [0.1.0] ## Please, see help (and documentations in help folder) @@ -34,6 +34,7 @@ - - /var/log/gsl: for logs files (.gitkeep) - New help folder in - - /var/lib/gsl/help (removed "helps" one) +- - - Renamed documentation files (not all translated ; some in french) ### Logs - Better logs harmony @@ -76,6 +77,7 @@ ### new ARGUMENTS - new (page|post) (name): Create article, show its content + check it - new domain: New domain configuration creator +- new author: Same as author edit - edit domains: Set/Edit registred domains database - edit author: Same as author edit - author edit: Opens nano to Add/Remove authors (one per line) by DOMAIN @@ -83,8 +85,8 @@ - check -N: Only check newer articles not in DB - clean all: Remove all backups (only) files - sidebar: add|replace|latest|oldest (See gsl help) -- www sync: Same as sync www -- wip ...: Same as www but for wip +- www sync: Same as sync www (see gsl help) +- wip ...: Same as www but for wip (see gsl help) ### Markers - css: MYCLASS Customize each article with your CSS (optional) diff --git a/var/lib/gsl/scripts/gsl__HTML_template b/var/lib/gsl/scripts/gsl__HTML_template index ca7bc27..67ff4dc 100644 --- a/var/lib/gsl/scripts/gsl__HTML_template +++ b/var/lib/gsl/scripts/gsl__HTML_template @@ -54,19 +54,17 @@ cat < "$gsl_dir_domain_tpl/footer.html" EOFOOTER diff --git a/var/lib/gsl/scripts/gsl__post_makers b/var/lib/gsl/scripts/gsl__post_makers index fe9cfd9..d2a208c 100644 --- a/var/lib/gsl/scripts/gsl__post_makers +++ b/var/lib/gsl/scripts/gsl__post_makers @@ -238,7 +238,7 @@ fi HTML_icode_start="" HTML_strong_start="" HTML_em_start="" -HTML_strike_start="" +HTML_strike_start="" HTML_bold_start="" #---------------------------------------------------------------------- @@ -575,13 +575,13 @@ $(while read -r "code_ln" "code_content" "$code_content" done < <(cat -n "$gsl_dir_domain_files/$header_f2")) -

+

EOCODE # for/from make__file_codes (Replace mark till no more) @@ -650,11 +650,11 @@ do esac case "$width" in - "+") target=true;unset height ;; + "+") target=true;unset width ;; esac case "$height" in - "+") target=true ;; + "+") target=true;unset height ;; esac image_css="class=\"${site_css}_image $image_class\"" diff --git a/var/lib/gsl/scripts/gsl__post_manager b/var/lib/gsl/scripts/gsl__post_manager index cf5e6aa..aae6664 100644 --- a/var/lib/gsl/scripts/gsl__post_manager +++ b/var/lib/gsl/scripts/gsl__post_manager @@ -37,8 +37,8 @@ do case "$1" in check) Checkers ;; make) Makers ;; - www) WWW__validate "$2" ;; - wip) WIP__remove "$2" ;; + www) WWW__OPTIONS "$2" ;; + wip) WIP__remove ;; # wip command is only a remove case || make esac # In DB, show logs for server diff --git a/var/lib/gsl/scripts/gsl__srv_manager b/var/lib/gsl/scripts/gsl__srv_manager index 23ed561..da985d9 100644 --- a/var/lib/gsl/scripts/gsl__srv_manager +++ b/var/lib/gsl/scripts/gsl__srv_manager @@ -5,10 +5,14 @@ # License: GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007 +#---------------------------------------------------------------------- +# Manage server options +#---------------------------------------------------------------------- #====================================================================== -# w<< (ARGUMENT) -# $1: process -# $2: file / all +# www|wip (ARGUMENT) +# $1: process www/wip +# $2: sync/add/remove +# $3: (file)/all #====================================================================== srv__OPTIONS() { case "$2" in @@ -23,44 +27,49 @@ case "$3" in if__file "$3" post gsl_post="$3" post_only="$3" - case "$1" in - wip) - gsl make "$3" - exit - ;; - esac ;; all) - case "$1" in - www) - echo "! You're about to put online all wip articles" - read -rp "- Continue (YES|*)" www_confirm - case "www_confirm" in - YES) gsl_www="$3" ;; - *) echo "# Abandon"; exit ;; - esac - ;; - - wip) - gsl make - exit - ;; + echo "! You're about to $2 all $1 articles" + read -rp "- Continue (Y|*) ? " www_confirm + case "$www_confirm" in + yes|YES|Y) gsl_all="$3" ;; + *) echo "# Abandon"; exit ;; esac ;; "") - gsl__invalid_option "$3" "all|file" + gsl__invalid_option "$3" "all|(file)" ;; esac -www_process=true +# wip add [OPT]: A shortcut of make -F +case "$1" in + wip) + case "$2" in + add) + if [[ "$post_only" ]];then + gsl make -F "$3" + exit + + elif [[ "$gsl_all" ]];then + gsl make -F + exit + fi + ;; + esac + ;; +esac [[ "$gsl_post" ]] || log_info_all=" ALL" log__process_begin "Server ($1 online)${log_info_all}" posts__loop "$1" "$2" +[[ "$1" == "www" && "$www_new" ]] \ + && create__RSS_feed \ + && stats__datas # Statoolinfos + # For logs ; set post or unset if all [[ $log_info_all ]] && unset gsl_post [[ $post_only ]] && gsl_post="$post_only" @@ -69,149 +78,6 @@ log__process_end "Server ($1 online)${log_info_all}" } -#====================================================================== -# wip: remove online -#====================================================================== -WIP__remove() { -case "$1" in - remove) - if [[ -f "$gsl_srv_post_wip" ]];then - rm -f "$gsl_srv_post_wip" && \ - gsl__logs_print -w -srv wip \ - "Article deleted ; no more online" \ - "$gsl_srv_post_wip" - - find "$gsl_srv_wip" -type d -empty -delete && \ - gsl__logs_print -w -srv wip \ - "Cleaned empty directories" \ - "$gsl_srv_wip" - - DB__set_status "wip-del" - fi - return - ;; -esac -} - - -#====================================================================== -# www: Valid online -#====================================================================== -WWW__validate() { -case "$1" in - remove) - if [[ -f "$gsl_srv_post_www" ]];then - rm -f "$gsl_srv_post_www" && \ - gsl__logs_print -w -srv www \ - "Article deleted ; no more online" \ - "$gsl_srv_post_www" - - find "$gsl_srv_www" -type d -empty -delete && \ - gsl__logs_print -w -srv www \ - "Cleaned empty directories" \ - "$gsl_srv_www" - - DB__set_status "www-del" - fi - create__RSS_feed - stats__datas # Statoolinfos - return - ;; -esac - -if ! [[ $article_Status_chk ]];then - gsl__logs_print -e -srv www \ - "Article not yet checked" \ - "$PWD/$gsl_post" - return - -elif (( $article_Status_chk != $article_Status_wip ));then - gsl__logs_print -e -srv www \ - "Article not yet converted with make" \ - "$gsl_srv_post_wip" - return - -elif (( $article_Status_chk == $article_Status_www )) && \ - [[ -f "$gsl_srv_post_www" ]];then - gsl__logs_print -w -srv www \ - "Article already online" \ - "$gsl_srv_post_www" - return - -else - if (( $article_Status_chk == $article_Status_wip ));then - [[ "$article_Type" == "post" ]] \ - && mkdir -p "$gsl_slug_dir_www" - - rsync -a "$gsl_srv_post_wip" "$gsl_srv_post_www" && \ - gsl__logs_print -i -srv www \ - "Article validated online" \ - "$gsl_srv_post_www" && \ - DB__set_status "www" - create__RSS_feed - stats__datas # Statoolinfos - fi -fi -} - - -#====================================================================== -# Get arguments from COMMAND (sync) -# $2: process (wip|www|"") -#====================================================================== -sync__OPTIONS() { -gsl_srv_wip="$site_server/$site_ndd/wip" -gsl_srv_www="$site_server/$site_ndd/www" - -case "$1" in - ""|www|wip) - ! [[ "$1" ]] \ - && srv_proc="wip+www" \ - || srv_proc="$1" - - log__process_begin "Sync $srv_proc" - case "$1" in - "") - sync__srv "$srv_proc" "$gsl_srv_wip" - sync__srv "$srv_proc" "$gsl_srv_www" - ;; - www) - sync__srv "$srv_proc" "$gsl_srv_www" - ;; - wip) - sync__srv "$srv_proc" "$gsl_srv_wip" - ;; - esac - log__process_end "Sync $srv_proc" - ;; - - *) - gsl__invalid_option "$2" "www|wip" - ;; -esac -exit -} - - -#====================================================================== -# Sync Files from Templates to webserver -# $1: process (wip|www|wip+www) -# $2: Folder -#====================================================================== -sync__srv() { -# Sync Files and Folders -mkdir -p "$2" -rsync -a --delete "$gsl_dir_domain_tpl" "$2" -rsync -a --delete "$gsl_dir_domain_files" "$2" -rsync -a --delete "$gsl_dir_domain_images" "$2" -rsync -a --delete "$gsl_dir_domain_listings" "$2" - -gsl__logs_print -i -srv $1 \ - "Sync: $gsl_dir_domain/" \ - "$2/" -} - - #====================================================================== # Set Post/Page file for www+wip from page type and slug # Find server post/page file and log @@ -302,39 +168,174 @@ esac } +#---------------------------------------------------------------------- +# Manage wip option (Only remove, as add is same as make) +#---------------------------------------------------------------------- #====================================================================== -# Remove WIP page -# If error from check and exists +# wip: remove online #====================================================================== -wip__remove() { -! [[ -f "$gsl_srv_post_wip" ]] && return - -log_Type="in $article_Slug" - -# Remove from old slug, if new article Type set -[[ "$old_Type" ]] \ - && article_Type="$old_Type" \ - && article_Slug="$old_Slug" \ - && log_Type="from old $old_Type" - -rm -f "$gsl_srv_post_wip" && \ -gsl__logs_print -w -S -wip \ - "Article deleted ; no more preview" \ - "$gsl_srv_post_wip" - -find "$gsl_srv_wip" -type d -empty -delete && \ -gsl__logs_print -w -S -wip \ - "Cleaned empty directories" \ - "$gsl_srv_wip" - -gsl__logs_print -w -R -wip \ - "Found $1 $log_Type" \ - "$gsl_srv_post_wip" +WIP__remove() { +if [[ -f "$gsl_srv_post_wip" ]];then + rm -f "$gsl_srv_post_wip" && \ + gsl__logs_print -w -srv wip \ + "Article deleted ; no more preview online" \ + "$gsl_srv_post_wip" -if [[ "$old_Type" ]];then - unset old_Type old_Slug log_Type + find "$gsl_srv_wip" -type d -empty -delete && \ + gsl__logs_print -w -srv wip \ + "Cleaned empty directories" \ + "$gsl_srv_wip" - [[ -f "$gsl_file_db_post" ]] \ - && source "$gsl_file_db_post" + DB__set_status "wip-del" +fi +return +} + + +#---------------------------------------------------------------------- +# Manage www options +#---------------------------------------------------------------------- +#====================================================================== +# www OPTIONS +# $1: add/remove +#====================================================================== +WWW__OPTIONS() { +case "$1" in + add) WWW__online ;; + remove) WWW__remove ;; +esac +} + + +#====================================================================== +# www remove online +#====================================================================== +WWW__remove() { +if [[ -f "$gsl_srv_post_www" ]];then + rm -f "$gsl_srv_post_www" && \ + gsl__logs_print -w -srv www \ + "Article deleted ; no more online" \ + "$gsl_srv_post_www" + + find "$gsl_srv_www" -type d -empty -delete && \ + gsl__logs_print -w -srv www \ + "Cleaned empty directories" \ + "$gsl_srv_www" + + DB__set_status "www-del" + www_new=true +fi +return +} + + +#====================================================================== +# www: Valid online +#====================================================================== +WWW__online() { + + # Add wip article to www server + WWW__add() { + [[ "$article_Type" == "post" ]] \ + && mkdir -p "$gsl_slug_dir_www" + + rsync -a "$gsl_srv_post_wip" "$gsl_srv_post_www" && \ + gsl__logs_print -i -srv www \ + "Article validated online" \ + "$gsl_srv_post_www" && \ + DB__set_status "www" + www_new=true + } + +if ! [[ $article_Status_chk ]];then + gsl__logs_print -e -srv www \ + "Article not yet checked" \ + "$PWD/$gsl_post" + return + +elif (( $article_Status_chk != $article_Status_wip ));then + gsl__logs_print -e -srv www \ + "Article not yet converted with make" \ + "$gsl_srv_post_wip" + return + +else + if [[ ! -f "$gsl_srv_post_www" ]];then + WWW__add + + else + if [[ "$gsl_all" ]];then + WWW__add + + elif (( $article_Status_chk != $article_Status_www ));then + WWW__add + + else + gsl__logs_print -w -srv www \ + "Article already online" \ + "$gsl_srv_post_www" + fi + fi fi } + + +#---------------------------------------------------------------------- +# Manage sync options +#---------------------------------------------------------------------- +#====================================================================== +# Get arguments from COMMAND (sync) +# $2: process (wip|www|"") +#====================================================================== +sync__OPTIONS() { +gsl_srv_wip="$site_server/$site_ndd/wip" +gsl_srv_www="$site_server/$site_ndd/www" + +case "$1" in + ""|www|wip) + ! [[ "$1" ]] \ + && srv_proc="wip+www" \ + || srv_proc="$1" + + log__process_begin "Sync $srv_proc" + case "$1" in + "") + sync__srv "$srv_proc" "$gsl_srv_wip" + sync__srv "$srv_proc" "$gsl_srv_www" + ;; + www) + sync__srv "$srv_proc" "$gsl_srv_www" + ;; + wip) + sync__srv "$srv_proc" "$gsl_srv_wip" + ;; + esac + log__process_end "Sync $srv_proc" + ;; + + *) + gsl__invalid_option "$2" "www|wip" + ;; +esac +exit +} + + +#====================================================================== +# Sync Files from Templates to webserver +# $1: process (wip|www|wip+www) +# $2: Folder +#====================================================================== +sync__srv() { +# Sync Files and Folders +mkdir -p "$2" +rsync -a --delete "$gsl_dir_domain_tpl" "$2" +rsync -a --delete "$gsl_dir_domain_files" "$2" +rsync -a --delete "$gsl_dir_domain_images" "$2" +rsync -a --delete "$gsl_dir_domain_listings" "$2" + +gsl__logs_print -i -srv $1 \ + "Sync: $gsl_dir_domain/" \ + "$2/" +}c +}