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