diff --git a/control b/control index 4bd55e3..fd6073a 100644 --- a/control +++ b/control @@ -1,5 +1,5 @@ Package: egsl -Version: 0.0.35 +Version: 0.0.36 Section: custom Priority: optional Architecture: all diff --git a/etc/gsl/gsl.conf b/etc/gsl/gsl.conf index 913cc94..c27b48f 100644 --- a/etc/gsl/gsl.conf +++ b/etc/gsl/gsl.conf @@ -42,7 +42,7 @@ gsl_filename_auth="authors.db" # GSL Internal Configuration #======================================================================= # minimum size to check a post -gsl_post_min_size=800 +gsl_post_min_size=150 # Max Posts list in sidebar gsl_list_max_posts=5 @@ -103,7 +103,7 @@ gsl_mark_strong='\*\*' gsl_mark_italic='\/' gsl_mark_code="¤" gsl_mark_list='=' -gsl_mark_listo="ø" +gsl_mark_listo="+" gsl_mark_blockquote='---' diff --git a/help/article-comment-ecrire.md b/help/article-comment-ecrire.md index 0f5f400..adf7c5e 100644 --- a/help/article-comment-ecrire.md +++ b/help/article-comment-ecrire.md @@ -1,11 +1,37 @@ +# Créer un fichier depuis la ligne de commande +------------------------------------------------------------------------ + +Vous pouvez créer un fichier daté du jour avec les METAS obligatoires +intégrés (à renseigner après). Vous devez spécifier si votre article +sera une page ou un post (Voir section plus bas) et lui donner un nom. + +Rendez vous dans le dossier de vos articles, enregistrés lors de l'ajout +de votre domaine (ou celui que vous avez configuré). + +Évitez les espaces dans le nom du fichier ou utilisez des guillemets. + +``` +# Crréer une page nommée index +gsl create page index + +# Créer un article nommé mes-vacances +gsl create post mes-vacances +``` + +Vous pouvez l'éditer dans le terminal ou avec votre éditeur de texte. + +``` +gsl edit mes-vacances.gsl +``` + # Comment écrire un article ------------------------------------------------------------------------ -Votre article doit contenir 2 sections. Les Metas avant #1 et +Votre article doit contenir 2 sections. Les METAS avant ```#1``` et l'article à partir de ce repère (servant de titre h1). - METAS : configurer votre article (titre, date, liens...) -- ARTICLE : Contenue rédactionnel avec quelques marqueurs (gras...) +- ARTICLE : contenue rédactionnel avec quelques marqueurs (gras...) ## METAS obligatoires (avant #1) @@ -26,17 +52,17 @@ première ligne de votre article ``` # Page (index, 404, about...) -# Création selon le slug: /POST-TITLE.html +# Création HTML selon le slug: /POST-TITLE.html type: page # Article (monarticle) -# Création selon le slug: /POST-TITLE/index.html +# Création HTML selon le slug: /POST-TITLE/index.html type: post ``` -## METAS optionnelles (avant #1) +## METAS optionnelles (avant ```#1```) -Définir les marqueurs (abbr:, link:...) et utiliser " : " comme séparateur +Définir les marqueurs (abbr:, link:...) et utiliser ``` : ``` comme séparateur ``` abbr: COURT : LONG @@ -242,15 +268,15 @@ _book: Esperanza 64 ### Créer des listes L'arborescence est "infinie". -- Chaque contenu de la liste *doit être sur la même ligne* +- Chaque contenu de la liste **doit être sur la même ligne** Dans l'article... -- utilisez ```=``` pour définir l'arborescence d'une liste simple -- utilisez ```ø``` pour définir une liste ordonnée (alt+gr + o (FR azerty)) +- utilisez ```=``` pour définir l'arborescence d'une liste simple (ul) +- utilisez ```+``` pour définir une liste ordonnée (ol) ``` ( -Voici une liste +Voici une liste simple = Fruits : *mangez-en* == Kiwis == Fraises diff --git a/help/template-comment-creer.md b/help/template-comment-creer.md index 6bad8a4..f62eeb4 100644 --- a/help/template-comment-creer.md +++ b/help/template-comment-creer.md @@ -25,16 +25,16 @@ gsl sync GSL synchronisera votre template sur votre webserver. Rechargez votre page dans votre navigateur -Si vous avez modifié header ou footer.html, ou si de nouvelles fonctions -sont arrivées et concernent les pages HTML dans GSL, il vous faudra -reconstruire toutes les pages +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 passent votre ACRONYM configuré, +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. @@ -55,11 +55,11 @@ Pour une meilleure lisibilité, votre ACRONYM est marqué xxx. ### Dans ```
``` - CLASS= -- - div après chaque titre ``````: xxx_content-pX -- - p dans div content-pX: xxx_paragraph +- - div après chaque titre ``````: xxx_content-p xxx_content-pX +- - p dans div content-p: xxx_paragraph - - - si contenu ```( 2```: xxx_paragraph-2 - - code pour les inline-code avec ```¤...¤```: xxx_icode -- - li (liste) en fonction du nombre N de ```=```: xxx__list-li x_list-N +- - 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 diff --git a/new-version.md b/new-version.md new file mode 100644 index 0000000..1a5a457 --- /dev/null +++ b/new-version.md @@ -0,0 +1,10 @@ +# Version: 0.0.35 > 0.0.36 + +- New list converter (! Use + for ol, not ø) +- New block titles converter with div +- New option: create +- New option with edit: conf (to edit domain configuration) +- New option: --version (to show changes) +- New generic function if invalid option + +- Fix: No if block title empty diff --git a/usr/local/bin/gsl b/usr/local/bin/gsl index 1838450..2054bb4 100755 --- a/usr/local/bin/gsl +++ b/usr/local/bin/gsl @@ -1,12 +1,12 @@ #!/bin/bash -# Version: 0.0.35 +# Version: 0.0.36 # file: gsl # Folder: /usr/local/bin # By echolib # License: GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007 #======================================================================= -# Tool: Check needed file and sourcee if asked +# Tools #======================================================================= if__command() { ! [[ `command -v $1` ]] \ @@ -33,6 +33,11 @@ case "$2" in esac } +gsl__invalid_option() { +echo "! Invalid argument '$1': $2" +exit +} + # Get conf gsl__if_file "/etc/gsl/gsl.conf" source gsl__if_file "$gsl_dir_scripts/gsl__log_manager" source @@ -52,7 +57,10 @@ case "$1" in gsl__if_file "$gsl_dir_helps/gsl_help_install" read ;; write|-w) - gsl__if_file "$gsl_dir_helps/gsl_help_write_post" read + gsl__if_file "$gsl_dir_lib/help//article-comment-ecrire.md" read + ;; + template|-t) + gsl__if_file "$gsl_dir_lib/help/template-comment-creer.md" read ;; esac exit @@ -169,7 +177,7 @@ case "$1" in exit 0 ;; - version|-v) + -v) awk 'NR==2 {print "# Installed:",$3}' "/usr/local/bin/$app_name" exit ;; @@ -182,6 +190,12 @@ case "$1" in echo -ne "Online: $v_onl\n" exit ;; + + --version) + awk 'NR==2 {print "# Installed:",$3}' "/usr/local/bin/$app_name" + gsl__if_file "$gsl_dir_lib/new-version.md" read + exit + ;; esac #======================================================================= @@ -204,12 +218,74 @@ gsl__if_file "$gsl_dir_scripts/gsl__do_commons" source # Main #======================================================================= case "$1" in + create) + case "$2" in + page|post) + true + ;; + *) + gsl__invalid_option "$2" "page|post" + ;; + esac + + case "$3" in + "") + gsl__invalid_option "$3" "Please set a name for your $2" + ;; + esac + + gsl_postname="$3" + [[ "$gsl_postname" =~ ".gsl" ]] \ + && gsl_postname=${gsl_postname/.gsl/} + + gsl__logs_print \ + "$gsl_log_i" \ + "Starting" \ + "Create" \ + "$2" \ + "$PWD/$3.gsl" + + if [[ -f "$gsl_postname.gsl" ]];then + gsl__logs_print \ + "$gsl_log_w" \ + "Create" \ + "File" \ + "$3.gsl already exists !" \ + "$PWD/$3.gsl" + gsl_checker_war=true + else + gsl__create_article "$2" "$(date +%F)" "$gsl_postname" && \ + gsl__logs_print \ + "$gsl_log_i" \ + "Create" \ + "$2" \ + "You can edit it with 'gsl edit $3.gsl'" \ + "$PWD/$3.gsl" + fi + + gsl__logs_print \ + "$gsl_log_i" \ + "Stopping" \ + "Create" \ + "$2" \ + "$PWD/$3.gsl" + ;; + edit|-E) ! [[ "$2" ]] \ - && echo "! Missing argument: post [FILE]" \ - && exit + && gsl__invalid_option "$2" "[File]" + + case "$2" in + conf) + echo "> $gsl_this_conf_domain/$gsl_find_domain.conf" + gsl_this_post="$gsl_this_conf_domain/$gsl_find_domain.conf" + gsl__if_file "$gsl_this_post" + ;; + *) + gsl__if_file "$PWD/$2" post + ;; + esac - gsl__if_file "$2" post if ! [[ "$EDITOR" ]];then if__command nano EDITOR=`which nano` @@ -219,23 +295,23 @@ case "$1" in "$gsl_log_i" \ "Starting" \ "Process" \ - "edit $gsl_this_post with $EDITOR" \ - "$PWD/$gsl_this_post" + "edit with $EDITOR" \ + "$gsl_this_post" - gsl__get_sum "$PWD/$gsl_this_post" + gsl__get_sum "$gsl_this_post" gsl__logs_print \ "$gsl_log_i" \ - "Post" \ - "edit" \ - "$gsl_this_post > Hash: $gsl_post_hash | Size: $gsl_post_size" \ - "$PWD/$gsl_this_post" + "Edit" \ + "File" \ + "Hash: $gsl_post_hash | Size: $gsl_post_size" \ + "$gsl_this_post" gsl_post_hash_old=$gsl_post_hash - $EDITOR $PWD/$gsl_this_post + $EDITOR "$gsl_this_post" - gsl__get_sum "$PWD/$gsl_this_post" + gsl__get_sum "$gsl_this_post" if (( $gsl_post_hash != $gsl_post_hash_old ));then - gsl_log_infos="NEW > Hash: $gsl_post_hash | Size: $gsl_post_size" + gsl_log_infos="NEW > Hash. Size: $gsl_post_size" gsl_log_level="$gsl_log_w" else gsl_log_infos="Unchanged" @@ -244,22 +320,21 @@ case "$1" in gsl__logs_print \ "$gsl_log_level" \ - "Post" \ - "edit" \ - "$gsl_this_post > $gsl_log_infos" \ - "$PWD/$gsl_this_post" + "Edit" \ + "File" \ + "$gsl_log_infos" \ + "$gsl_this_post" gsl__logs_print \ "$gsl_log_i" \ "Stopping" \ "Process" \ - "edit $gsl_this_post with $EDITOR" \ - "$PWD/$gsl_this_post" + "edit with $EDITOR" \ + "$gsl_this_post" ;; db) ! [[ "$2" ]] \ - && echo "! Missing argument: post [FILE]" \ - && exit + && gsl__invalid_option "$2" "[File]" gsl__if_file "$2" post [[ -f "$gsl_dir_db/$gsl_this_post.db" ]] \ @@ -319,7 +394,7 @@ case "$1" in gsl__srv_sync "$gsl_srv_wip" ;; *) - echo "! Bad Argument: $2 ? OPT=www/wip/''" + gsl__invalid_option "$2" "www|wip" gsl__logs_print \ "$gsl_log_i" \ "Sync" \ @@ -370,8 +445,7 @@ case "$1" in www) ! [[ "$2" ]] \ - && echo "! Missing argument: add/remove" \ - && exit + && gsl__invalid_option "$2" "add|remove" if__command rsync gsl_www_act="$2" @@ -383,14 +457,12 @@ case "$1" in gsl_ask="! REMOVE ALL www posts (yes|N)? " ;; *) - echo "! Bad argument: $2 ? OPT=add/remove" - exit + gsl__invalid_option "$2" "add|remove" ;; esac ! [[ "$3" ]] \ - && echo "! Missing argument: post [FILE]/all" \ - && exit + && gsl__invalid_option "$3" "[FILE]|all" case "$3" in all) diff --git a/var/lib/gsl/help/article-comment-ecrire.md b/var/lib/gsl/help/article-comment-ecrire.md index 0f5f400..adf7c5e 100644 --- a/var/lib/gsl/help/article-comment-ecrire.md +++ b/var/lib/gsl/help/article-comment-ecrire.md @@ -1,11 +1,37 @@ +# Créer un fichier depuis la ligne de commande +------------------------------------------------------------------------ + +Vous pouvez créer un fichier daté du jour avec les METAS obligatoires +intégrés (à renseigner après). Vous devez spécifier si votre article +sera une page ou un post (Voir section plus bas) et lui donner un nom. + +Rendez vous dans le dossier de vos articles, enregistrés lors de l'ajout +de votre domaine (ou celui que vous avez configuré). + +Évitez les espaces dans le nom du fichier ou utilisez des guillemets. + +``` +# Crréer une page nommée index +gsl create page index + +# Créer un article nommé mes-vacances +gsl create post mes-vacances +``` + +Vous pouvez l'éditer dans le terminal ou avec votre éditeur de texte. + +``` +gsl edit mes-vacances.gsl +``` + # Comment écrire un article ------------------------------------------------------------------------ -Votre article doit contenir 2 sections. Les Metas avant #1 et +Votre article doit contenir 2 sections. Les METAS avant ```#1``` et l'article à partir de ce repère (servant de titre h1). - METAS : configurer votre article (titre, date, liens...) -- ARTICLE : Contenue rédactionnel avec quelques marqueurs (gras...) +- ARTICLE : contenue rédactionnel avec quelques marqueurs (gras...) ## METAS obligatoires (avant #1) @@ -26,17 +52,17 @@ première ligne de votre article ``` # Page (index, 404, about...) -# Création selon le slug: /POST-TITLE.html +# Création HTML selon le slug: /POST-TITLE.html type: page # Article (monarticle) -# Création selon le slug: /POST-TITLE/index.html +# Création HTML selon le slug: /POST-TITLE/index.html type: post ``` -## METAS optionnelles (avant #1) +## METAS optionnelles (avant ```#1```) -Définir les marqueurs (abbr:, link:...) et utiliser " : " comme séparateur +Définir les marqueurs (abbr:, link:...) et utiliser ``` : ``` comme séparateur ``` abbr: COURT : LONG @@ -242,15 +268,15 @@ _book: Esperanza 64 ### Créer des listes L'arborescence est "infinie". -- Chaque contenu de la liste *doit être sur la même ligne* +- Chaque contenu de la liste **doit être sur la même ligne** Dans l'article... -- utilisez ```=``` pour définir l'arborescence d'une liste simple -- utilisez ```ø``` pour définir une liste ordonnée (alt+gr + o (FR azerty)) +- utilisez ```=``` pour définir l'arborescence d'une liste simple (ul) +- utilisez ```+``` pour définir une liste ordonnée (ol) ``` ( -Voici une liste +Voici une liste simple = Fruits : *mangez-en* == Kiwis == Fraises diff --git a/var/lib/gsl/help/template-comment-creer.md b/var/lib/gsl/help/template-comment-creer.md index 6bad8a4..f62eeb4 100644 --- a/var/lib/gsl/help/template-comment-creer.md +++ b/var/lib/gsl/help/template-comment-creer.md @@ -25,16 +25,16 @@ gsl sync GSL synchronisera votre template sur votre webserver. Rechargez votre page dans votre navigateur -Si vous avez modifié header ou footer.html, ou si de nouvelles fonctions -sont arrivées et concernent les pages HTML dans GSL, il vous faudra -reconstruire toutes les pages +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 passent votre ACRONYM configuré, +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. @@ -55,11 +55,11 @@ Pour une meilleure lisibilité, votre ACRONYM est marqué xxx. ### Dans ```
``` - CLASS= -- - div après chaque titre ``````: xxx_content-pX -- - p dans div content-pX: xxx_paragraph +- - div après chaque titre ``````: xxx_content-p xxx_content-pX +- - p dans div content-p: xxx_paragraph - - - si contenu ```( 2```: xxx_paragraph-2 - - code pour les inline-code avec ```¤...¤```: xxx_icode -- - li (liste) en fonction du nombre N de ```=```: xxx__list-li x_list-N +- - 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 diff --git a/var/lib/gsl/scripts/gsl__page_creator b/var/lib/gsl/scripts/gsl__page_creator index 761e0f8..a452876 100644 --- a/var/lib/gsl/scripts/gsl__page_creator +++ b/var/lib/gsl/scripts/gsl__page_creator @@ -116,7 +116,6 @@ cat << EOPAGE > "$gsl_srv_wip_page" `cat "$gsl_a11y_post"` -