New version 0.0.36
This commit is contained in:
parent
c924dad232
commit
629ddf024f
2
control
2
control
|
@ -1,5 +1,5 @@
|
||||||
Package: egsl
|
Package: egsl
|
||||||
Version: 0.0.35
|
Version: 0.0.36
|
||||||
Section: custom
|
Section: custom
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Architecture: all
|
Architecture: all
|
||||||
|
|
|
@ -42,7 +42,7 @@ gsl_filename_auth="authors.db"
|
||||||
# GSL Internal Configuration
|
# GSL Internal Configuration
|
||||||
#=======================================================================
|
#=======================================================================
|
||||||
# minimum size to check a post
|
# minimum size to check a post
|
||||||
gsl_post_min_size=800
|
gsl_post_min_size=150
|
||||||
|
|
||||||
# Max Posts list in sidebar
|
# Max Posts list in sidebar
|
||||||
gsl_list_max_posts=5
|
gsl_list_max_posts=5
|
||||||
|
@ -103,7 +103,7 @@ gsl_mark_strong='\*\*'
|
||||||
gsl_mark_italic='\/'
|
gsl_mark_italic='\/'
|
||||||
gsl_mark_code="¤"
|
gsl_mark_code="¤"
|
||||||
gsl_mark_list='='
|
gsl_mark_list='='
|
||||||
gsl_mark_listo="ø"
|
gsl_mark_listo="+"
|
||||||
|
|
||||||
|
|
||||||
gsl_mark_blockquote='---'
|
gsl_mark_blockquote='---'
|
||||||
|
|
|
@ -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
|
# 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).
|
l'article à partir de ce repère (servant de titre h1).
|
||||||
|
|
||||||
- METAS : configurer votre article (titre, date, liens...)
|
- 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)
|
## METAS obligatoires (avant #1)
|
||||||
|
|
||||||
|
@ -26,17 +52,17 @@ première ligne de votre article
|
||||||
|
|
||||||
```
|
```
|
||||||
# Page (index, 404, about...)
|
# Page (index, 404, about...)
|
||||||
# Création selon le slug: /POST-TITLE.html
|
# Création HTML selon le slug: /POST-TITLE.html
|
||||||
type: page
|
type: page
|
||||||
|
|
||||||
# Article (monarticle)
|
# Article (monarticle)
|
||||||
# Création selon le slug: /POST-TITLE/index.html
|
# Création HTML selon le slug: /POST-TITLE/index.html
|
||||||
type: post
|
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
|
abbr: COURT : LONG
|
||||||
|
@ -242,15 +268,15 @@ _book: Esperanza 64
|
||||||
|
|
||||||
### Créer des listes
|
### Créer des listes
|
||||||
L'arborescence est "infinie".
|
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...
|
Dans l'article...
|
||||||
- utilisez ```=``` pour définir l'arborescence d'une liste simple
|
- utilisez ```=``` pour définir l'arborescence d'une liste simple (ul)
|
||||||
- utilisez ```ø``` pour définir une liste ordonnée (alt+gr + o (FR azerty))
|
- utilisez ```+``` pour définir une liste ordonnée (ol)
|
||||||
|
|
||||||
```
|
```
|
||||||
(
|
(
|
||||||
Voici une liste
|
Voici une liste simple
|
||||||
= Fruits : *mangez-en*
|
= Fruits : *mangez-en*
|
||||||
== Kiwis
|
== Kiwis
|
||||||
== Fraises
|
== Fraises
|
||||||
|
|
|
@ -25,16 +25,16 @@ gsl sync
|
||||||
GSL synchronisera votre template sur votre webserver.
|
GSL synchronisera votre template sur votre webserver.
|
||||||
Rechargez votre page dans votre navigateur
|
Rechargez votre page dans votre navigateur
|
||||||
|
|
||||||
Si vous avez modifié header ou footer.html, ou si de nouvelles fonctions
|
Si vous avez modifié header.html ou footer.html dans votre dossier
|
||||||
sont arrivées et concernent les pages HTML dans GSL, il vous faudra
|
/templates, ou si de nouvelles fonctions sont arrivées et concernent les
|
||||||
reconstruire toutes les pages
|
pages HTML dans GSL, il vous faudra reconstruire toutes les pages
|
||||||
|
|
||||||
```
|
```
|
||||||
gsl make -F
|
gsl make -F
|
||||||
```
|
```
|
||||||
|
|
||||||
## Listes de classes utilisées.
|
## 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 ```_```.
|
lors de la création d'un domaine avec ```gsl new```, suivi par ```_```.
|
||||||
Pour une meilleure lisibilité, votre ACRONYM est marqué xxx.
|
Pour une meilleure lisibilité, votre ACRONYM est marqué xxx.
|
||||||
|
|
||||||
|
@ -55,11 +55,11 @@ Pour une meilleure lisibilité, votre ACRONYM est marqué xxx.
|
||||||
### Dans ```<article>```
|
### Dans ```<article>```
|
||||||
|
|
||||||
- CLASS=
|
- CLASS=
|
||||||
- - div après chaque titre ```<hX>```: xxx_content-pX
|
- - div après chaque titre ```<hX>```: xxx_content-p xxx_content-pX
|
||||||
- - p dans div content-pX: xxx_paragraph
|
- - p dans div content-p: xxx_paragraph
|
||||||
- - - si contenu ```( 2```: xxx_paragraph-2
|
- - - si contenu ```( 2```: xxx_paragraph-2
|
||||||
- - code pour les inline-code avec ```¤...¤```: xxx_icode
|
- - 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
|
- - ul (liste) simple: xxx_list-ul
|
||||||
- - ol (liste) ordonnée: xxx_list-ol
|
- - ol (liste) ordonnée: xxx_list-ol
|
||||||
|
|
||||||
|
|
|
@ -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 <div</div> if block title empty
|
|
@ -1,12 +1,12 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Version: 0.0.35
|
# Version: 0.0.36
|
||||||
# file: gsl
|
# file: gsl
|
||||||
# Folder: /usr/local/bin
|
# Folder: /usr/local/bin
|
||||||
# By echolib
|
# By echolib
|
||||||
# License: GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007
|
# License: GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007
|
||||||
|
|
||||||
#=======================================================================
|
#=======================================================================
|
||||||
# Tool: Check needed file and sourcee if asked
|
# Tools
|
||||||
#=======================================================================
|
#=======================================================================
|
||||||
if__command() {
|
if__command() {
|
||||||
! [[ `command -v $1` ]] \
|
! [[ `command -v $1` ]] \
|
||||||
|
@ -33,6 +33,11 @@ case "$2" in
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gsl__invalid_option() {
|
||||||
|
echo "! Invalid argument '$1': $2"
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
|
||||||
# Get conf
|
# Get conf
|
||||||
gsl__if_file "/etc/gsl/gsl.conf" source
|
gsl__if_file "/etc/gsl/gsl.conf" source
|
||||||
gsl__if_file "$gsl_dir_scripts/gsl__log_manager" 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
|
gsl__if_file "$gsl_dir_helps/gsl_help_install" read
|
||||||
;;
|
;;
|
||||||
write|-w)
|
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
|
esac
|
||||||
exit
|
exit
|
||||||
|
@ -169,7 +177,7 @@ case "$1" in
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
|
|
||||||
version|-v)
|
-v)
|
||||||
awk 'NR==2 {print "# Installed:",$3}' "/usr/local/bin/$app_name"
|
awk 'NR==2 {print "# Installed:",$3}' "/usr/local/bin/$app_name"
|
||||||
exit
|
exit
|
||||||
;;
|
;;
|
||||||
|
@ -182,6 +190,12 @@ case "$1" in
|
||||||
echo -ne "Online: $v_onl\n"
|
echo -ne "Online: $v_onl\n"
|
||||||
exit
|
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
|
esac
|
||||||
|
|
||||||
#=======================================================================
|
#=======================================================================
|
||||||
|
@ -204,12 +218,74 @@ gsl__if_file "$gsl_dir_scripts/gsl__do_commons" source
|
||||||
# Main
|
# Main
|
||||||
#=======================================================================
|
#=======================================================================
|
||||||
case "$1" in
|
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)
|
edit|-E)
|
||||||
! [[ "$2" ]] \
|
! [[ "$2" ]] \
|
||||||
&& echo "! Missing argument: post [FILE]" \
|
&& gsl__invalid_option "$2" "[File]"
|
||||||
&& exit
|
|
||||||
|
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 ! [[ "$EDITOR" ]];then
|
||||||
if__command nano
|
if__command nano
|
||||||
EDITOR=`which nano`
|
EDITOR=`which nano`
|
||||||
|
@ -219,23 +295,23 @@ case "$1" in
|
||||||
"$gsl_log_i" \
|
"$gsl_log_i" \
|
||||||
"Starting" \
|
"Starting" \
|
||||||
"Process" \
|
"Process" \
|
||||||
"edit $gsl_this_post with $EDITOR" \
|
"edit with $EDITOR" \
|
||||||
"$PWD/$gsl_this_post"
|
"$gsl_this_post"
|
||||||
|
|
||||||
gsl__get_sum "$PWD/$gsl_this_post"
|
gsl__get_sum "$gsl_this_post"
|
||||||
gsl__logs_print \
|
gsl__logs_print \
|
||||||
"$gsl_log_i" \
|
"$gsl_log_i" \
|
||||||
"Post" \
|
"Edit" \
|
||||||
"edit" \
|
"File" \
|
||||||
"$gsl_this_post > Hash: $gsl_post_hash | Size: $gsl_post_size" \
|
"Hash: $gsl_post_hash | Size: $gsl_post_size" \
|
||||||
"$PWD/$gsl_this_post"
|
"$gsl_this_post"
|
||||||
|
|
||||||
gsl_post_hash_old=$gsl_post_hash
|
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
|
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"
|
gsl_log_level="$gsl_log_w"
|
||||||
else
|
else
|
||||||
gsl_log_infos="Unchanged"
|
gsl_log_infos="Unchanged"
|
||||||
|
@ -244,22 +320,21 @@ case "$1" in
|
||||||
|
|
||||||
gsl__logs_print \
|
gsl__logs_print \
|
||||||
"$gsl_log_level" \
|
"$gsl_log_level" \
|
||||||
"Post" \
|
"Edit" \
|
||||||
"edit" \
|
"File" \
|
||||||
"$gsl_this_post > $gsl_log_infos" \
|
"$gsl_log_infos" \
|
||||||
"$PWD/$gsl_this_post"
|
"$gsl_this_post"
|
||||||
gsl__logs_print \
|
gsl__logs_print \
|
||||||
"$gsl_log_i" \
|
"$gsl_log_i" \
|
||||||
"Stopping" \
|
"Stopping" \
|
||||||
"Process" \
|
"Process" \
|
||||||
"edit $gsl_this_post with $EDITOR" \
|
"edit with $EDITOR" \
|
||||||
"$PWD/$gsl_this_post"
|
"$gsl_this_post"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
db)
|
db)
|
||||||
! [[ "$2" ]] \
|
! [[ "$2" ]] \
|
||||||
&& echo "! Missing argument: post [FILE]" \
|
&& gsl__invalid_option "$2" "[File]"
|
||||||
&& exit
|
|
||||||
|
|
||||||
gsl__if_file "$2" post
|
gsl__if_file "$2" post
|
||||||
[[ -f "$gsl_dir_db/$gsl_this_post.db" ]] \
|
[[ -f "$gsl_dir_db/$gsl_this_post.db" ]] \
|
||||||
|
@ -319,7 +394,7 @@ case "$1" in
|
||||||
gsl__srv_sync "$gsl_srv_wip"
|
gsl__srv_sync "$gsl_srv_wip"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "! Bad Argument: $2 ? OPT=www/wip/''"
|
gsl__invalid_option "$2" "www|wip"
|
||||||
gsl__logs_print \
|
gsl__logs_print \
|
||||||
"$gsl_log_i" \
|
"$gsl_log_i" \
|
||||||
"Sync" \
|
"Sync" \
|
||||||
|
@ -370,8 +445,7 @@ case "$1" in
|
||||||
|
|
||||||
www)
|
www)
|
||||||
! [[ "$2" ]] \
|
! [[ "$2" ]] \
|
||||||
&& echo "! Missing argument: add/remove" \
|
&& gsl__invalid_option "$2" "add|remove"
|
||||||
&& exit
|
|
||||||
|
|
||||||
if__command rsync
|
if__command rsync
|
||||||
gsl_www_act="$2"
|
gsl_www_act="$2"
|
||||||
|
@ -383,14 +457,12 @@ case "$1" in
|
||||||
gsl_ask="! REMOVE ALL www posts (yes|N)? "
|
gsl_ask="! REMOVE ALL www posts (yes|N)? "
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "! Bad argument: $2 ? OPT=add/remove"
|
gsl__invalid_option "$2" "add|remove"
|
||||||
exit
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
! [[ "$3" ]] \
|
! [[ "$3" ]] \
|
||||||
&& echo "! Missing argument: post [FILE]/all" \
|
&& gsl__invalid_option "$3" "[FILE]|all"
|
||||||
&& exit
|
|
||||||
|
|
||||||
case "$3" in
|
case "$3" in
|
||||||
all)
|
all)
|
||||||
|
|
|
@ -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
|
# 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).
|
l'article à partir de ce repère (servant de titre h1).
|
||||||
|
|
||||||
- METAS : configurer votre article (titre, date, liens...)
|
- 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)
|
## METAS obligatoires (avant #1)
|
||||||
|
|
||||||
|
@ -26,17 +52,17 @@ première ligne de votre article
|
||||||
|
|
||||||
```
|
```
|
||||||
# Page (index, 404, about...)
|
# Page (index, 404, about...)
|
||||||
# Création selon le slug: /POST-TITLE.html
|
# Création HTML selon le slug: /POST-TITLE.html
|
||||||
type: page
|
type: page
|
||||||
|
|
||||||
# Article (monarticle)
|
# Article (monarticle)
|
||||||
# Création selon le slug: /POST-TITLE/index.html
|
# Création HTML selon le slug: /POST-TITLE/index.html
|
||||||
type: post
|
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
|
abbr: COURT : LONG
|
||||||
|
@ -242,15 +268,15 @@ _book: Esperanza 64
|
||||||
|
|
||||||
### Créer des listes
|
### Créer des listes
|
||||||
L'arborescence est "infinie".
|
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...
|
Dans l'article...
|
||||||
- utilisez ```=``` pour définir l'arborescence d'une liste simple
|
- utilisez ```=``` pour définir l'arborescence d'une liste simple (ul)
|
||||||
- utilisez ```ø``` pour définir une liste ordonnée (alt+gr + o (FR azerty))
|
- utilisez ```+``` pour définir une liste ordonnée (ol)
|
||||||
|
|
||||||
```
|
```
|
||||||
(
|
(
|
||||||
Voici une liste
|
Voici une liste simple
|
||||||
= Fruits : *mangez-en*
|
= Fruits : *mangez-en*
|
||||||
== Kiwis
|
== Kiwis
|
||||||
== Fraises
|
== Fraises
|
||||||
|
|
|
@ -25,16 +25,16 @@ gsl sync
|
||||||
GSL synchronisera votre template sur votre webserver.
|
GSL synchronisera votre template sur votre webserver.
|
||||||
Rechargez votre page dans votre navigateur
|
Rechargez votre page dans votre navigateur
|
||||||
|
|
||||||
Si vous avez modifié header ou footer.html, ou si de nouvelles fonctions
|
Si vous avez modifié header.html ou footer.html dans votre dossier
|
||||||
sont arrivées et concernent les pages HTML dans GSL, il vous faudra
|
/templates, ou si de nouvelles fonctions sont arrivées et concernent les
|
||||||
reconstruire toutes les pages
|
pages HTML dans GSL, il vous faudra reconstruire toutes les pages
|
||||||
|
|
||||||
```
|
```
|
||||||
gsl make -F
|
gsl make -F
|
||||||
```
|
```
|
||||||
|
|
||||||
## Listes de classes utilisées.
|
## 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 ```_```.
|
lors de la création d'un domaine avec ```gsl new```, suivi par ```_```.
|
||||||
Pour une meilleure lisibilité, votre ACRONYM est marqué xxx.
|
Pour une meilleure lisibilité, votre ACRONYM est marqué xxx.
|
||||||
|
|
||||||
|
@ -55,11 +55,11 @@ Pour une meilleure lisibilité, votre ACRONYM est marqué xxx.
|
||||||
### Dans ```<article>```
|
### Dans ```<article>```
|
||||||
|
|
||||||
- CLASS=
|
- CLASS=
|
||||||
- - div après chaque titre ```<hX>```: xxx_content-pX
|
- - div après chaque titre ```<hX>```: xxx_content-p xxx_content-pX
|
||||||
- - p dans div content-pX: xxx_paragraph
|
- - p dans div content-p: xxx_paragraph
|
||||||
- - - si contenu ```( 2```: xxx_paragraph-2
|
- - - si contenu ```( 2```: xxx_paragraph-2
|
||||||
- - code pour les inline-code avec ```¤...¤```: xxx_icode
|
- - 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
|
- - ul (liste) simple: xxx_list-ul
|
||||||
- - ol (liste) ordonnée: xxx_list-ol
|
- - ol (liste) ordonnée: xxx_list-ol
|
||||||
|
|
||||||
|
|
|
@ -116,7 +116,6 @@ cat << EOPAGE > "$gsl_srv_wip_page"
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
`cat "$gsl_a11y_post"`
|
`cat "$gsl_a11y_post"`
|
||||||
</div>
|
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
<aside id="${gsl_site_css}_sidebar">
|
<aside id="${gsl_site_css}_sidebar">
|
||||||
|
|
|
@ -36,8 +36,6 @@ gsl__make_list
|
||||||
|
|
||||||
gsl__do_icode "make" "$gsl_tmp_post"
|
gsl__do_icode "make" "$gsl_tmp_post"
|
||||||
gsl__make_titles
|
gsl__make_titles
|
||||||
gsl_ct=0 && gsl__make_titles_div_open
|
|
||||||
gsl_ct=0 && gsl__make_titles_div_close
|
|
||||||
gsl__do_header "make" "$gsl_marker_image" "$gsl_post"
|
gsl__do_header "make" "$gsl_marker_image" "$gsl_post"
|
||||||
gsl__make_paragraphs
|
gsl__make_paragraphs
|
||||||
|
|
||||||
|
@ -99,148 +97,147 @@ awk -v s="$1" \
|
||||||
#======================================================================
|
#======================================================================
|
||||||
# Convert List.Get first/last line item / repeat till no more mark
|
# Convert List.Get first/last line item / repeat till no more mark
|
||||||
#======================================================================
|
#======================================================================
|
||||||
|
# Loop till no more list marker
|
||||||
gsl__make_list() {
|
gsl__make_list() {
|
||||||
unset gsl_found_list
|
if [[ `awk -v mls="$gsl_mark_listo" \
|
||||||
if [[ `awk -v m="$gsl_mark_list" \
|
'$1 ~ mls {print NR,$0;exit}' \
|
||||||
'$1 == m {print $1;exit}' \
|
"$gsl_tmp_post"` ]] || \
|
||||||
|
[[ `awk -v mls="$gsl_mark_list" \
|
||||||
|
'$1 ~ mls {print NR,$0;exit}' \
|
||||||
"$gsl_tmp_post"` ]];then
|
"$gsl_tmp_post"` ]];then
|
||||||
gsl_found_list=true
|
gsl__make_list_read_by_block
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ `awk -v m="$gsl_mark_listo" \
|
|
||||||
'$1 == m {print $1;exit}' \
|
|
||||||
"$gsl_tmp_post"` ]];then
|
|
||||||
gsl_found_list=true
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $gsl_found_list ]];then
|
|
||||||
gsl__make_list_read
|
|
||||||
gsl__make_list
|
|
||||||
fi
|
fi
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
gsl__make_list_read() {
|
# =====================================================================
|
||||||
# Get block lists by line numbers From Content
|
# Read list by block, create tmp file, convert in HTML, replace block
|
||||||
gsl_last_line=`cat $gsl_tmp_post | wc -l`
|
# ln: line number | ml: marker list
|
||||||
while read -r "gsl_line" "gsl_content"
|
# =====================================================================
|
||||||
|
gsl__make_list_read_by_block() {
|
||||||
|
unset list_lb list_le
|
||||||
|
|
||||||
|
# Making tmp block file list
|
||||||
|
gsl_file_block_list=`mktemp`
|
||||||
|
while read -r "ln" "ml" "content"
|
||||||
do
|
do
|
||||||
case "$gsl_content" in
|
case "$ml" in
|
||||||
"$gsl_mark_list"*|"$gsl_mark_listo"*)
|
"$gsl_mark_list"*|"$gsl_mark_listo"*)
|
||||||
! [[ $gsl_list ]] \
|
case "$ml" in
|
||||||
&& gsl_list=true \
|
"$gsl_mark_list"*)
|
||||||
&& gsl_list_o=$gsl_line \
|
gsl_html_uol="ul"
|
||||||
&& continue
|
;;
|
||||||
|
"$gsl_mark_listo"*)
|
||||||
[[ $gsl_list ]] && (( $gsl_line == $gsl_last_line )) \
|
gsl_html_uol="ol"
|
||||||
&& gsl_list_c=$gsl_line \
|
;;
|
||||||
&& gsl__make_list_get_block \
|
esac
|
||||||
&& break
|
! [[ $list_lb ]] && list_lb="$ln"
|
||||||
|
echo "$ml $content" >> "$gsl_file_block_list"
|
||||||
case "$gsl_content" in
|
|
||||||
"$gsl_mark_list"*) gsl_html_uol="ul" ;;
|
|
||||||
"$gsl_mark_listo"*) gsl_html_uol="ol" ;;
|
|
||||||
esac
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
""|*)
|
""|*)
|
||||||
[[ "$gsl_list" ]] \
|
if [[ $list_lb ]];then
|
||||||
&& gsl_list_c=$(( gsl_line - 1 )) \
|
list_le=$ln
|
||||||
&& unset gsl_list \
|
echo "" >> "$gsl_file_block_list"
|
||||||
&& gsl__make_list_get_block \
|
break
|
||||||
&& break
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done < <(cat -n "$gsl_tmp_post")
|
done < <(cat -n "$gsl_tmp_post")
|
||||||
}
|
|
||||||
|
|
||||||
#======================================================================
|
|
||||||
# Convert List. tmp file block list. replace mark with number
|
|
||||||
#======================================================================
|
|
||||||
gsl__make_list_get_block() {
|
|
||||||
echo -ne "\r\033[2K: Converting Block-List... $gsl_list_o > $gsl_list_c"
|
|
||||||
|
|
||||||
# Create tmp file with this block-list and marks converted
|
|
||||||
gsl_file_block_list=`mktemp`
|
|
||||||
while read -r "mark" "content"
|
|
||||||
do
|
|
||||||
echo "${#mark} $content" >> "$gsl_file_block_list"
|
|
||||||
done < <(awk -v o="$gsl_list_o" -v c="$gsl_list_c" \
|
|
||||||
'NR >= o && NR <= c' \
|
|
||||||
"$gsl_tmp_post")
|
|
||||||
|
|
||||||
|
# Convert block_list
|
||||||
|
echo -ne "\r\033[2K: Converting list block... $list_lb-$list_le"
|
||||||
gsl__make_list_convert
|
gsl__make_list_convert
|
||||||
|
|
||||||
# No more needed
|
# Remove in gsl_tmp_post block list and replace with $gsl_file_html_list
|
||||||
unset gsl_list_o gsl_list_c
|
diff_lines=$(( list_le - list_lb ))
|
||||||
|
#seq $list_lb $list_le
|
||||||
|
for rml in `seq 1 $diff_lines`
|
||||||
|
do
|
||||||
|
sed -i "${list_lb}d" "$gsl_tmp_post"
|
||||||
|
done
|
||||||
|
sed -i "$((list_lb -1))r $gsl_file_html_list" "$gsl_tmp_post"
|
||||||
|
|
||||||
|
# No more needed html file list
|
||||||
|
rm -f "$gsl_file_html_list"
|
||||||
|
|
||||||
|
# No more needed block list file
|
||||||
rm -f "$gsl_file_block_list"
|
rm -f "$gsl_file_block_list"
|
||||||
|
|
||||||
|
# Go again if new list found
|
||||||
|
gsl__make_list
|
||||||
}
|
}
|
||||||
|
|
||||||
#======================================================================
|
# =====================================================================
|
||||||
# Convert List. tmp HTML file.
|
# Create TMP HTML block list file
|
||||||
#======================================================================
|
# =====================================================================
|
||||||
|
gsl_file_html_list=`mktemp`
|
||||||
gsl__make_list_convert() {
|
gsl__make_list_convert() {
|
||||||
|
|
||||||
# Get previeous line mark number
|
# mln: marker list number | pmln: previous list mark number
|
||||||
gsl__make_list_get_prev_mark() {
|
gsl__make_list_count_prev_mark() {
|
||||||
pm=`
|
pml=`awk -v pln=$(( ln -1 )) 'NR == pln {print $1}' "$gsl_file_block_list"`
|
||||||
awk -v pm="$(( $ln - 1))" \
|
pmln=${#pml}
|
||||||
'NR == pm {print $1}' \
|
|
||||||
"$gsl_file_block_list"`
|
|
||||||
|
|
||||||
! [[ $pm ]] && pm=0
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Create tmp file with HTML block-list
|
mln_indent=0
|
||||||
gsl_HTML_list=`mktemp`
|
while read -r "ln" "ml" "content"
|
||||||
|
|
||||||
#ln: line number ; mn: mark number
|
|
||||||
while read -r "ln" "mn" "content"
|
|
||||||
do
|
do
|
||||||
|
mln=${#ml}
|
||||||
|
(( $mln_indent < $mln )) \
|
||||||
|
&& mln_indent=$mln \
|
||||||
|
&& mln_indent_close=$((mln_indent * 3 - 3))
|
||||||
|
|
||||||
gsl__make_list_get_prev_mark
|
gsl__make_list_count_prev_mark
|
||||||
gsl_diff_pm_mn=$(( mn - pm ))
|
diff_pmln_mln=$(( mln - pmln ))
|
||||||
|
|
||||||
if (( $gsl_diff_pm_mn == 0 ));then
|
#echo "$mln (pmln=$pmln ; diff: $diff_pmln_mln)" >> "$gsl_file_html_list"
|
||||||
printf "%s%s\n" \
|
if (( $diff_pmln_mln == 0 ));then
|
||||||
|
|
||||||
|
printf "%$((mln * 3))s%s\n" \
|
||||||
"" \
|
"" \
|
||||||
"<li class=\"${gsl_site_css}_list-li ${gsl_site_css}_list-$mn\">$content</li>" \
|
"<li class=\"${gsl_site_css}_list-li ${gsl_site_css}_list-$mln\">$content</li>" \
|
||||||
>> "$gsl_HTML_list"
|
>> "$gsl_file_html_list"
|
||||||
elif (( $gsl_diff_pm_mn > 0 ));then
|
|
||||||
printf "%s%s\n" \
|
elif (( $diff_pmln_mln > 0 ));then
|
||||||
|
|
||||||
|
printf "%$((mln * 3 - 3))s%s\n%$((mln * 3))s%s\n" \
|
||||||
"" \
|
"" \
|
||||||
"<$gsl_html_uol class=\"${gsl_site_css}_list-$gsl_html_uol\">" \
|
"<$gsl_html_uol class=\"${gsl_site_css}_list-$gsl_html_uol\">" \
|
||||||
>> "$gsl_HTML_list"
|
|
||||||
printf "%s%s\n" \
|
|
||||||
"" \
|
"" \
|
||||||
"<li class=\"${gsl_site_css}_list-li ${gsl_site_css}_list-$mn\">$content</li>" \
|
"<li class=\"${gsl_site_css}_list-li ${gsl_site_css}_list-$mln\">$content</li>" \
|
||||||
>> "$gsl_HTML_list"
|
>> "$gsl_file_html_list"
|
||||||
elif (( $gsl_diff_pm_mn < 0 ));then
|
|
||||||
printf "</$gsl_html_uol>%.s\n" {1..eval $n} \
|
elif (( $diff_pmln_mln < 0 ));then
|
||||||
>> "$gsl_HTML_list"
|
|
||||||
printf "%s%s\n" \
|
for i in `seq $diff_pmln_mln -1`
|
||||||
"" \
|
do
|
||||||
"<li class=\"${gsl_site_css}_list-li ${gsl_site_css}_list-$mn\">$content</li>" \
|
if [[ "$content" ]];then
|
||||||
>> "$gsl_HTML_list"
|
|
||||||
|
printf "%${mln_indent_close}s%s\n%${mln_indent_close}s%s\n" \
|
||||||
|
"" \
|
||||||
|
"</$gsl_html_uol>" \
|
||||||
|
"" \
|
||||||
|
"<li class=\"${gsl_site_css}_list-li ${gsl_site_css}_list-$mln\">$content</li>" \
|
||||||
|
>> "$gsl_file_html_list"
|
||||||
|
else
|
||||||
|
|
||||||
|
printf "%${mln_indent_close}s%s\n" \
|
||||||
|
"" \
|
||||||
|
"</$gsl_html_uol>" \
|
||||||
|
>> "$gsl_file_html_list"
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
mln_indent_close=$((mln_indent_close - 3))
|
||||||
|
(( $mln_indent_close < 0 )) && mln_indent_close=0
|
||||||
|
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
done < <(cat -n "$gsl_file_block_list")
|
done < <(cat -n "$gsl_file_block_list")
|
||||||
echo "</$gsl_html_uol>" >> "$gsl_HTML_list"
|
|
||||||
|
|
||||||
# Remove useless list in tmp_post
|
|
||||||
gsl_list_rm_tl=$(( $gsl_list_c - $gsl_list_o ))
|
|
||||||
for rml in `seq 0 $gsl_list_rm_tl`
|
|
||||||
do
|
|
||||||
sed -i "${gsl_list_o}d" "$gsl_tmp_post"
|
|
||||||
done
|
|
||||||
|
|
||||||
# Insert new HTML file list in tmp_post
|
|
||||||
gsl_list_line_i=$(( gsl_list_o - 1))
|
|
||||||
sed -i "${gsl_list_line_i}r $gsl_HTML_list" "$gsl_tmp_post"
|
|
||||||
|
|
||||||
rm -f "$gsl_HTML_list" # No more needed HTML tmp file list
|
|
||||||
}
|
}
|
||||||
#----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
#======================================================================
|
#======================================================================
|
||||||
# Replace gsl_mark_fcode
|
# Replace gsl_mark_fcode
|
||||||
#======================================================================
|
#======================================================================
|
||||||
|
@ -276,7 +273,6 @@ do
|
||||||
sed -i "${line}d" "$gsl_tmp_post"
|
sed -i "${line}d" "$gsl_tmp_post"
|
||||||
rm -f "$gsl_file_tmp_code"
|
rm -f "$gsl_file_tmp_code"
|
||||||
rm -f "$gsl_file_bcode"
|
rm -f "$gsl_file_bcode"
|
||||||
|
|
||||||
done < <(grep -n "$gsl_mark_fcode" "$gsl_tmp_post" | head -n 1)
|
done < <(grep -n "$gsl_mark_fcode" "$gsl_tmp_post" | head -n 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -299,7 +295,7 @@ printf '%s%s%s%s' \
|
||||||
"$gsl_post_hf_1" \
|
"$gsl_post_hf_1" \
|
||||||
"</a>"`
|
"</a>"`
|
||||||
|
|
||||||
echo -ne "\r\033[2K: Converting Links... $gsl_post_hf_1"
|
echo -ne "\r\033[2K: Converting Link... $gsl_post_hf_1"
|
||||||
sed -i "s|_${gsl_post_hf_1_t}|$gsl_html_link_t|g" "$gsl_tmp_post"
|
sed -i "s|_${gsl_post_hf_1_t}|$gsl_html_link_t|g" "$gsl_tmp_post"
|
||||||
|
|
||||||
# No Target
|
# No Target
|
||||||
|
@ -317,103 +313,71 @@ unset gsl_post_hf_3 gsl_html_link_title
|
||||||
# From gsl__do_header: Make ABBRS
|
# From gsl__do_header: Make ABBRS
|
||||||
#======================================================================
|
#======================================================================
|
||||||
gsl__make_abbr() {
|
gsl__make_abbr() {
|
||||||
echo -ne "\r\033[2K: Converting ABBRs... $gsl_post_hf_1"
|
echo -ne "\r\033[2K: Converting ABBR... $gsl_post_hf_1"
|
||||||
|
|
||||||
gsl_html_long="<abbr title=\"$gsl_post_hf_2\">$gsl_post_hf_1</abbr>"
|
gsl_html_long="<abbr title=\"$gsl_post_hf_2\">$gsl_post_hf_1</abbr>"
|
||||||
sed -i "s|$gsl_post_hf_1|$gsl_html_long|" "$gsl_tmp_post"
|
sed -i "s|$gsl_post_hf_1|$gsl_html_long|" "$gsl_tmp_post"
|
||||||
}
|
}
|
||||||
|
|
||||||
#=======================================================================
|
#=======================================================================
|
||||||
# Find and convert Titles #1-6
|
# Find and convert Titles #1-6 + block dib
|
||||||
#=======================================================================
|
#=======================================================================
|
||||||
gsl__make_titles() {
|
gsl__make_titles() {
|
||||||
for t in `seq 1 6`
|
gsl_file_block_titles=`mktemp`
|
||||||
|
|
||||||
|
while read -r "ln" "t" "content"
|
||||||
do
|
do
|
||||||
while read -r "h" "content"
|
echo -ne "\r\033[2K: Converting Block Title... $t $content"
|
||||||
do
|
if [[ $ln_o ]];then
|
||||||
gsl_html_title="<h$t>$content</h$t>"
|
if [[ $ln_c ]];then
|
||||||
|
ln_o=$ln_c
|
||||||
echo -ne "\r\033[2K: Converting Titles... $content"
|
ln_c=$ln
|
||||||
sed -i "s^$h $content^$gsl_html_title^" \
|
else
|
||||||
"$gsl_tmp_post"
|
ln_c=$ln
|
||||||
done < <(grep "#$t" "$gsl_tmp_post")
|
fi
|
||||||
done
|
else
|
||||||
|
ln_o=$ln
|
||||||
|
tn=${t: -1}
|
||||||
|
echo "<h$tn>$content</h$tn>" >> "$gsl_file_block_titles"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $ln_c ]];then
|
||||||
|
tn=${t: -1}
|
||||||
|
if [[ `awk -v o="$ln_o" -v c="$ln_c" \
|
||||||
|
'NR > o && NR < c' \
|
||||||
|
"$gsl_tmp_post"` ]];then
|
||||||
|
echo "<div class=\"${gsl_site_css}_content-p ${gsl_site_css}_content-p$tn\">" \
|
||||||
|
>> "$gsl_file_block_titles"
|
||||||
|
awk -v o="$ln_o" -v c="$ln_c" \
|
||||||
|
'NR > o && NR < c && $0' \
|
||||||
|
"$gsl_tmp_post" \
|
||||||
|
>> "$gsl_file_block_titles"
|
||||||
|
echo -e "</div>\n" \
|
||||||
|
>> "$gsl_file_block_titles"
|
||||||
|
fi
|
||||||
|
echo "<h$tn>$content</h$tn>" >> "$gsl_file_block_titles"
|
||||||
|
fi
|
||||||
|
|
||||||
|
done < <(awk '$1 ~ /#/ {print NR,$0}' "$gsl_tmp_post")
|
||||||
|
|
||||||
|
# Doing the last title block content
|
||||||
|
last_line=`cat "$gsl_tmp_post" | wc -l`
|
||||||
|
if [[ `awk -v o="$ln_o" -v c="$last_line" \
|
||||||
|
'NR > o && NR <= c' \
|
||||||
|
"$gsl_tmp_post"` ]];then
|
||||||
|
echo "<div class=\"${gsl_site_css}_content-p ${gsl_site_css}_content-p$tn\">" \
|
||||||
|
>> "$gsl_file_block_titles"
|
||||||
|
awk -v o="$ln_c" -v c="$last_line" \
|
||||||
|
'NR > o && NR <= c' \
|
||||||
|
"$gsl_tmp_post" \
|
||||||
|
>> "$gsl_file_block_titles"
|
||||||
|
echo "</div>" >> "$gsl_file_block_titles"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cat "$gsl_file_block_titles" > "$gsl_tmp_post"
|
||||||
|
rm -f "$gsl_file_block_titles"
|
||||||
}
|
}
|
||||||
|
|
||||||
#-----------------------------------------------------------------------
|
|
||||||
#
|
|
||||||
#=======================================================================
|
|
||||||
# Open DIVs after titles for css
|
|
||||||
#=======================================================================
|
|
||||||
gsl__make_titles_div_open() {
|
|
||||||
echo -ne "\r\033[2K: Searching Titles and Opening DIVs..."
|
|
||||||
|
|
||||||
gsl_ct=$(( gsl_ct + 1 ))
|
|
||||||
gsl_content_title=`
|
|
||||||
grep -n "<h" "$gsl_tmp_post" \
|
|
||||||
| head -n $gsl_ct \
|
|
||||||
| tail -n 1`
|
|
||||||
|
|
||||||
[[ "$gsl_content_title" == "$gsl_content_same_title" ]] && return
|
|
||||||
! [[ "$gsl_content_title" ]] && return
|
|
||||||
|
|
||||||
gsl_content_line_nbr=`
|
|
||||||
awk -F: '{print $1}' \
|
|
||||||
<<< $gsl_content_title`
|
|
||||||
gsl_title_n=`
|
|
||||||
awk -F"<h" '{print $2}' \
|
|
||||||
<<< "$gsl_content_title" \
|
|
||||||
| awk -F">" '{print $1}'`
|
|
||||||
|
|
||||||
gsl_html_div="<div class=\"${gsl_site_css}_content-p$gsl_title_n\">"
|
|
||||||
sed -i "$(( $gsl_content_line_nbr + 1 ))i$gsl_html_div" \
|
|
||||||
"$gsl_tmp_post"
|
|
||||||
|
|
||||||
gsl_content_same_title="$gsl_content_title"
|
|
||||||
gsl__make_titles_div_open
|
|
||||||
}
|
|
||||||
|
|
||||||
#=======================================================================
|
|
||||||
# Close DIVs before titles for css
|
|
||||||
#=======================================================================
|
|
||||||
gsl__make_titles_div_close() {
|
|
||||||
echo -ne "\r\033[2K: Searching Titles and Closing DIVs..."
|
|
||||||
|
|
||||||
gsl_test_line="<div class=\"${gsl_site_css}_content"
|
|
||||||
|
|
||||||
gsl_ct=$(( gsl_ct + 1 ))
|
|
||||||
gsl_content_title=`
|
|
||||||
grep -n "$gsl_test_line" "$gsl_tmp_post" \
|
|
||||||
| head -n $gsl_ct \
|
|
||||||
| tail -n 1`
|
|
||||||
|
|
||||||
[[ "$gsl_content_title" == "$gsl_content_same_title" ]] \
|
|
||||||
&& return
|
|
||||||
|
|
||||||
! [[ "$gsl_content_title" ]] && return
|
|
||||||
|
|
||||||
gsl_content_line_nbr=`
|
|
||||||
awk -F: '{print $1}' \
|
|
||||||
<<< $gsl_content_title`
|
|
||||||
|
|
||||||
while read -r "gsl_search_line_nbr" "gsl_search_line"
|
|
||||||
do
|
|
||||||
case "$gsl_search_line" in
|
|
||||||
"<h"*)
|
|
||||||
sed -i "${gsl_search_line_nbr}i</div>" "$gsl_tmp_post"
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
*) continue ;;
|
|
||||||
esac
|
|
||||||
done < <(awk -v l="$gsl_content_line_nbr" \
|
|
||||||
'NR > l {print NR,$0}' \
|
|
||||||
"$gsl_tmp_post")
|
|
||||||
|
|
||||||
gsl_content_same_title="$gsl_content_title"
|
|
||||||
gsl__make_titles_div_close
|
|
||||||
}
|
|
||||||
#
|
|
||||||
#-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
#=======================================================================
|
#=======================================================================
|
||||||
# Find and convert paragraphs (3 different css styles)
|
# Find and convert paragraphs (3 different css styles)
|
||||||
|
@ -739,6 +703,12 @@ do
|
||||||
if (( $gsl_line_nbr > $gsl_last_title_line ));then
|
if (( $gsl_line_nbr > $gsl_last_title_line ));then
|
||||||
gsl_stop_line=`cat "$gsl_tmp_post" | wc -l`
|
gsl_stop_line=`cat "$gsl_tmp_post" | wc -l`
|
||||||
gsl__make_a11y_add_space
|
gsl__make_a11y_add_space
|
||||||
|
|
||||||
|
# print last line and stop
|
||||||
|
awk -v last="$gsl_stop_line" -v space="$gsl_space" \
|
||||||
|
'NR == last {print space $0}' \
|
||||||
|
"$gsl_tmp_post" \
|
||||||
|
>> "$gsl_a11y_post"
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -13,11 +13,12 @@ gsl__loop_posts() {
|
||||||
gsl__check_nbr_posts
|
gsl__check_nbr_posts
|
||||||
(( $gsl_nbr_posts == 0 )) \
|
(( $gsl_nbr_posts == 0 )) \
|
||||||
&& gsl__logs_print \
|
&& gsl__logs_print \
|
||||||
"$gsl_log_i" \
|
"$gsl_log_w" \
|
||||||
"Files" \
|
"Files" \
|
||||||
"Not found" \
|
"Not found" \
|
||||||
"$gsl_nbr_posts post. Nothing to do in" \
|
"Nothing to do" \
|
||||||
"${PWD}" \
|
"${PWD}" \
|
||||||
|
&& gsl_checker_war=true \
|
||||||
&& return
|
&& return
|
||||||
|
|
||||||
gsl__logs_print \
|
gsl__logs_print \
|
||||||
|
@ -38,13 +39,13 @@ do
|
||||||
|
|
||||||
gsl__get_sum "$gsl_post"
|
gsl__get_sum "$gsl_post"
|
||||||
|
|
||||||
# Post too small
|
# Post too small / Should miss headers
|
||||||
if (( "$gsl_post_size" <= $gsl_post_min_size ));then
|
if (( "$gsl_post_size" <= $gsl_post_min_size ));then
|
||||||
gsl__logs_print \
|
gsl__logs_print \
|
||||||
"$gsl_log_w" \
|
"$gsl_log_w" \
|
||||||
"File" \
|
"File" \
|
||||||
"Size" \
|
"Content" \
|
||||||
"$gsl_post - Too small $gsl_post_size <= $gsl_post_min_size" \
|
"Not enough datas $gsl_post ($gsl_post_size < $gsl_post_min_size)" \
|
||||||
"${PWD}/$gsl_post"
|
"${PWD}/$gsl_post"
|
||||||
gsl_checker_war=true
|
gsl_checker_war=true
|
||||||
continue
|
continue
|
||||||
|
@ -61,6 +62,7 @@ do
|
||||||
|
|
||||||
if [[ "$gsl_post_new_hash" ]];then
|
if [[ "$gsl_post_new_hash" ]];then
|
||||||
unset gsl_db_post_status
|
unset gsl_db_post_status
|
||||||
|
gsl_checker_war=true
|
||||||
if [[ -f "$gsl_srv_wip_page" ]];then
|
if [[ -f "$gsl_srv_wip_page" ]];then
|
||||||
rm -f "$gsl_srv_wip_page" && \
|
rm -f "$gsl_srv_wip_page" && \
|
||||||
gsl__logs_print \
|
gsl__logs_print \
|
||||||
|
@ -69,7 +71,6 @@ do
|
||||||
"Delete" \
|
"Delete" \
|
||||||
"$gsl_post_type ; $gsl_post has changed !" \
|
"$gsl_post_type ; $gsl_post has changed !" \
|
||||||
"$gsl_srv_wip_page"
|
"$gsl_srv_wip_page"
|
||||||
gsl_checker_war=true
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -f "$gsl_file_db_post" ]];then
|
if [[ -f "$gsl_file_db_post" ]];then
|
||||||
|
@ -80,7 +81,6 @@ do
|
||||||
"Delete" \
|
"Delete" \
|
||||||
"file ; $gsl_post has changed !" \
|
"file ; $gsl_post has changed !" \
|
||||||
"$gsl_file_db_post"
|
"$gsl_file_db_post"
|
||||||
gsl_checker_war=true
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -249,9 +249,9 @@ if ! [[ "$gsl_post_hf_3" ]];then
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
#=======================================================================
|
#======================================================================
|
||||||
# A very simple debugger that show some values
|
# A very simple debugger that show some values
|
||||||
#=======================================================================
|
#======================================================================
|
||||||
gsl__debug() {
|
gsl__debug() {
|
||||||
printf '\n%s\n%s\n%s\n%s\n' \
|
printf '\n%s\n%s\n%s\n%s\n' \
|
||||||
"D> 1. '$1'" \
|
"D> 1. '$1'" \
|
||||||
|
@ -260,3 +260,21 @@ printf '\n%s\n%s\n%s\n%s\n' \
|
||||||
"D> 4. '$4'"
|
"D> 4. '$4'"
|
||||||
sleep .5
|
sleep .5
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#======================================================================
|
||||||
|
# Basic: create a page/post named $3 from command line with date
|
||||||
|
#======================================================================
|
||||||
|
gsl__create_article() {
|
||||||
|
touch "$PWD/$3.gsl"
|
||||||
|
cat << EONEWP >> "$PWD/$3.gsl"
|
||||||
|
type: $1
|
||||||
|
title:
|
||||||
|
slug:
|
||||||
|
info:
|
||||||
|
author:
|
||||||
|
tags:
|
||||||
|
date: $2
|
||||||
|
|
||||||
|
#1
|
||||||
|
EONEWP
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue