Fix sync;add new line with |;new readme

This commit is contained in:
Cyrille L 2022-04-13 12:24:39 +02:00
parent 9d75cb670f
commit e4dab3c345
7 changed files with 378 additions and 99 deletions

210
README.md
View File

@ -98,6 +98,9 @@ reSTructuredText. Il est simple à apprendre et à utiliser.
Vous devrez le faire valider par GSL :
```
gsl check
gsl check monarticle.gsl # Vérfier que monarticle.gsl
gsl check -F Forcer la vérification
gsl check -F monarticle.gsl # Forcer la vérification de monarticle.gsl
```
## Convertir un ou tous les articles
@ -105,6 +108,8 @@ Si votre article n'a pas d'erreurs, vous pouvez le convertir en HTML.
```
gsl make
gsl make -F # Forcer la reconstruction)
gsl make -F monarticle.gsl # Forcer la reconstruction de monarticle.gsl
```
Votre article sera prêt dans le dossier webserver (ex: /var/www/DOMAIN/wip)
@ -114,7 +119,7 @@ Si vous êtes satisfait, vous pouvez le déployer "officiellement" dans www
```
# Vous pouvez utiliser l'autocompletion pour les articles
gsl www add (monarticle.gsl)
gsl www add monarticle.gsl
```
# Créer un Template
@ -126,16 +131,33 @@ configuration du DOMAIN) dans :
- HOME: ~/.config/gsl/domains/DOMAIN/templates/
- GLOBAL: /var/lib/gsl/domains/DOMAIN/templates/
Astuce: Une fois votre article créé, vous verrez dans sa source que
beaucoup d'éléments ont une class="acronymechoisi_***". Utilisez ces classes.
Pour mettre à jour et voir vos modifications
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="acronymechoisi_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
# ou (si vous avez modifié le header/footer)
```
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
```
gsl make -F
```
# Comment écrire un article
------------------------------------------------------------------------
@ -147,7 +169,6 @@ l'article à partir de ce repère (servant de titre h1).
## METAS obligatoires (avant #1)
```
title: POST TITLE
slug: POST-TITLE (si espaces, GSL les convertira en -)
@ -158,25 +179,23 @@ tags: TAG1,Mon TAG2,TAG3 (séparé par une virgule)
```
### Page ou Article ?
Vous pouvez spécifier pour chaque article si c'est une page ou un article
Si non renseigné, GSL ajoutera le type: post (article) par défaut à la
première ligne de votre article
TYPE:
- post < Article
- page < Page (créer vos pages: index, 404, about...)
```
type: TYPE
# Page (index, 404, about...)
# Création selon le slug: /POST-TITLE.html
type: page
# Article (monarticle)
# Création selon le slug: /POST-TITLE/index.html
type: post
```
GSL créera vos fichiers HTML selon le "slug" renseigné. Ne pas ajouter .html
Selon le type:
- post < /POST-TITLE/index.html
- page < /POST-TITLE.html
## METAS optionnelles (avant #1)
Définir les marqueurs (abbr:, link:...) et utiliser " : " comme séparateur
```
@ -188,62 +207,134 @@ image: NUMERO : NOM-DU-FICHIER : TEXT-ALTERNATIF
```
## Contenu de l'article:
Les marqueurs (ex __Mon-super-fichier) doivent commencer et finir sur
la même ligne. Pour les abréviations (abbr:), écrivez juste (ex: COURT).
Les marqueurs (ex: *__Mon-super-fichier*) *doivent commencer et finir sur
la même ligne*. Pour les abréviations (abbr:), écrivez juste (ex: *COURT*).
### Paragraphes
```
# Paragraphes
Au début d'une nouvelle ligne, ouvrez avec ( et fermez avec ).
Vous pouvez utiliser 4 classes de paragraphes différentes : ( 1 ( 2 ( 3
Dans l'article...
```
( 2
Paragraphe avec une classe 2 (css)
)
# Liens
(définir en METAS. ex: link: Mon lien : URL : Alt text)
(
Paragraphe sans numéro de classe
)
```
### Liens
Définir en METAS
```
link: Mon lien : URL : Alt text)
```
Dans l'article... (ajoutez + pour ouvrir dans un nouvel onglet)
```
_Mon lien
_Mon lien+ # Pour ouvrir dans un nouvel onglet
_Mon lien+
```
# Fichiers
(définir en METAS. ex: file: Mon fichier : FILENAME : ALT-TEXT
### Fichiers
Définir en METAS
```
file: Mon fichier : FILENAME : ALT-TEXT
```
Dans l'article...
```
__Mon fichier
```
# Images
(définir en METAS. ex: image: 1 : FILENAME : ALT-TEXT
### Images
Définir en METAS
```
image: 1 : FILENAME : ALT-TEXT
```
Dans l'article... (appliquez les lettre l,r, ou c (g,d également) pour
définir l'alignement auche, droite, centre)
```
_image:1
_image:1:r
```
:[l|r|c] (gauche, droite, centre)
### Block-Code depuis un fichier
# Block-Code depuis un fichier:
(définir en METAS code: 1 : FILENAME : Alt Text
Définir en METAS
```
code: 1 : FILENAME : Alt Text
```
Dans l'article...
```
_code:1
```
# Écrire en très gras
### Écrire en très gras
Dans l'article...
```
**c'est du surgras**
c'est in**défini**ssable
il ad**juge** : pas de pub !
```
# Gras
### Gras
Dans l'article...
```
*c'est en gras*
...
```
# Italique
écrire /en italique/
### Italique
Dans l'article...
# Code en ligne (¤ = alt-gr + $ sur clavier FR azerty)
```
C'est /en italique/
```
### Code en ligne
Info: ¤ = alt-gr + $ sur un clavier FR azerty)
Dans l'article...
```
¤gsl help -w¤
```
### Citation simple
# Citation simple
(au début de la ligne, mettez 3x -)
Dans l'article...
```
---
(
Une citation simple dans un paragraphe
)
---
```
# Citation avancée
### Citation avancée
Dans l'article...
```
---
_cite : Richard Matthew Stallman
_link : https://stallman.org/
@ -257,15 +348,24 @@ building walls to divide people, and feel I had spent my life making the
world a worse place
)
---
```
# Citation avancée : optionnel
### Citation avancée : optionnel
Ajoutez ces marqueurs, si connus dans la citation, par ex sous ```_cite```
```
_year: 2021
_book: Esperanza 64
```
# Créer des listes
(utilisez = pour définir l'arborescence). L'arborescence est "infie")
(chaque contenu de la liste doit être sur la même ligne)
### Créer des listes
Dans l'article, utilisez ```=``` pour définir l'arborescence).
L'arborescence est "infinie". Chaque contenu de la liste *doit être sur la même ligne*
```
(
Voici une liste
= Fruits : *mangez-en*
@ -273,12 +373,34 @@ Voici une liste
== Fraises
=== pas mûres
== Bananes
=== Plantins
= Légumes
== Épinards
== Haricots
=== Rouges
=== Verts
Fin de la liste
)
```
### Ajouter des lignes vides
Vous pouvez ajouter des <br /> dans votre rédaction, mais pour une
lecture plus propre de votre article, vous pouvez utiliser le caractère
'|' *au tout début d'une nouvelle ligne*
Dans l'article...
```
#1 Mon titre
(
Ceci est un long paragraphe (Un peu d'imagination...)
|
Retour "forcé" à la ligne
)
```
# HELP COMMAND
```
$ gsl [ARG]

View File

@ -1,5 +1,5 @@
Package: egsl
Version: 0.0.16
Version: 0.0.17
Section: custom
Priority: optional
Architecture: all

View File

@ -1,5 +1,5 @@
#!/bin/bash
# Version: 0.0.16
# Version: 0.0.17
# file: gsl
# Folder: /usr/local/bin
# By echolib
@ -300,6 +300,14 @@ case "$1" in
sync|-s)
gsl_srv_wip="$gsl_site_server/$gsl_site_ndd/wip"
gsl_srv_www="$gsl_site_server/$gsl_site_ndd/www"
gsl__logs_print \
"$gsl_log_i" \
"Starting" \
"Process" \
"Sync Templates for domain $gsl_find_domain" \
"$PWD"
case "$2" in
"")
gsl__srv_sync "$gsl_srv_wip"
@ -313,9 +321,21 @@ case "$1" in
;;
*)
echo "! Bad Argument: $2 ? OPT=www/wip/''"
gsl__logs_print \
"$gsl_log_i" \
"Sync" \
"Argument" \
"Invalid $2" \
"$PWD"
;;
esac
exit
gsl__logs_print \
"$gsl_log_i" \
"Stopping" \
"Process" \
"Sync Templates for domain $gsl_find_domain" \
"$PWD"
;;
make|-M)
@ -339,7 +359,8 @@ case "$1" in
"make Post for domain $gsl_find_domain" \
"$PWD"
gsl sync wip
gsl_srv_wip="$gsl_site_server/$gsl_site_ndd/wip"
gsl__srv_sync "$gsl_srv_wip"
gsl__loop_posts make
gsl__logs_print \
@ -438,7 +459,8 @@ case "$1" in
"$1 ; $2 from domain $gsl_find_domain" \
"$gsl_site_server"
gsl sync www
gsl_srv_www="$gsl_site_server/$gsl_site_ndd/www"
gsl__srv_sync "$gsl_srv_www"
gsl__loop_posts www "$2"
gsl__logs_print \

View File

@ -98,6 +98,9 @@ reSTructuredText. Il est simple à apprendre et à utiliser.
Vous devrez le faire valider par GSL :
```
gsl check
gsl check monarticle.gsl # Vérfier que monarticle.gsl
gsl check -F Forcer la vérification
gsl check -F monarticle.gsl # Forcer la vérification de monarticle.gsl
```
## Convertir un ou tous les articles
@ -105,6 +108,8 @@ Si votre article n'a pas d'erreurs, vous pouvez le convertir en HTML.
```
gsl make
gsl make -F # Forcer la reconstruction)
gsl make -F monarticle.gsl # Forcer la reconstruction de monarticle.gsl
```
Votre article sera prêt dans le dossier webserver (ex: /var/www/DOMAIN/wip)
@ -114,7 +119,7 @@ Si vous êtes satisfait, vous pouvez le déployer "officiellement" dans www
```
# Vous pouvez utiliser l'autocompletion pour les articles
gsl www add (monarticle.gsl)
gsl www add monarticle.gsl
```
# Créer un Template
@ -126,16 +131,33 @@ configuration du DOMAIN) dans :
- HOME: ~/.config/gsl/domains/DOMAIN/templates/
- GLOBAL: /var/lib/gsl/domains/DOMAIN/templates/
Astuce: Une fois votre article créé, vous verrez dans sa source que
beaucoup d'éléments ont une class="acronymechoisi_***". Utilisez ces classes.
Pour mettre à jour et voir vos modifications
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="acronymechoisi_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
# ou (si vous avez modifié le header/footer)
```
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
```
gsl make -F
```
# Comment écrire un article
------------------------------------------------------------------------
@ -147,7 +169,6 @@ l'article à partir de ce repère (servant de titre h1).
## METAS obligatoires (avant #1)
```
title: POST TITLE
slug: POST-TITLE (si espaces, GSL les convertira en -)
@ -158,25 +179,23 @@ tags: TAG1,Mon TAG2,TAG3 (séparé par une virgule)
```
### Page ou Article ?
Vous pouvez spécifier pour chaque article si c'est une page ou un article
Si non renseigné, GSL ajoutera le type: post (article) par défaut à la
première ligne de votre article
TYPE:
- post < Article
- page < Page (créer vos pages: index, 404, about...)
```
type: TYPE
# Page (index, 404, about...)
# Création selon le slug: /POST-TITLE.html
type: page
# Article (monarticle)
# Création selon le slug: /POST-TITLE/index.html
type: post
```
GSL créera vos fichiers HTML selon le "slug" renseigné. Ne pas ajouter .html
Selon le type:
- post < /POST-TITLE/index.html
- page < /POST-TITLE.html
## METAS optionnelles (avant #1)
Définir les marqueurs (abbr:, link:...) et utiliser " : " comme séparateur
```
@ -188,62 +207,134 @@ image: NUMERO : NOM-DU-FICHIER : TEXT-ALTERNATIF
```
## Contenu de l'article:
Les marqueurs (ex __Mon-super-fichier) doivent commencer et finir sur
la même ligne. Pour les abréviations (abbr:), écrivez juste (ex: COURT).
Les marqueurs (ex: *__Mon-super-fichier*) *doivent commencer et finir sur
la même ligne*. Pour les abréviations (abbr:), écrivez juste (ex: *COURT*).
### Paragraphes
```
# Paragraphes
Au début d'une nouvelle ligne, ouvrez avec ( et fermez avec ).
Vous pouvez utiliser 4 classes de paragraphes différentes : ( 1 ( 2 ( 3
Dans l'article...
```
( 2
Paragraphe avec une classe 2 (css)
)
# Liens
(définir en METAS. ex: link: Mon lien : URL : Alt text)
(
Paragraphe sans numéro de classe
)
```
### Liens
Définir en METAS
```
link: Mon lien : URL : Alt text)
```
Dans l'article... (ajoutez + pour ouvrir dans un nouvel onglet)
```
_Mon lien
_Mon lien+ # Pour ouvrir dans un nouvel onglet
_Mon lien+
```
# Fichiers
(définir en METAS. ex: file: Mon fichier : FILENAME : ALT-TEXT
### Fichiers
Définir en METAS
```
file: Mon fichier : FILENAME : ALT-TEXT
```
Dans l'article...
```
__Mon fichier
```
# Images
(définir en METAS. ex: image: 1 : FILENAME : ALT-TEXT
### Images
Définir en METAS
```
image: 1 : FILENAME : ALT-TEXT
```
Dans l'article... (appliquez les lettre l,r, ou c (g,d également) pour
définir l'alignement auche, droite, centre)
```
_image:1
_image:1:r
```
:[l|r|c] (gauche, droite, centre)
### Block-Code depuis un fichier
# Block-Code depuis un fichier:
(définir en METAS code: 1 : FILENAME : Alt Text
Définir en METAS
```
code: 1 : FILENAME : Alt Text
```
Dans l'article...
```
_code:1
```
# Écrire en très gras
### Écrire en très gras
Dans l'article...
```
**c'est du surgras**
c'est in**défini**ssable
il ad**juge** : pas de pub !
```
# Gras
### Gras
Dans l'article...
```
*c'est en gras*
...
```
# Italique
écrire /en italique/
### Italique
Dans l'article...
# Code en ligne (¤ = alt-gr + $ sur clavier FR azerty)
```
C'est /en italique/
```
### Code en ligne
Info: ¤ = alt-gr + $ sur un clavier FR azerty)
Dans l'article...
```
¤gsl help -w¤
```
### Citation simple
# Citation simple
(au début de la ligne, mettez 3x -)
Dans l'article...
```
---
(
Une citation simple dans un paragraphe
)
---
```
# Citation avancée
### Citation avancée
Dans l'article...
```
---
_cite : Richard Matthew Stallman
_link : https://stallman.org/
@ -257,15 +348,24 @@ building walls to divide people, and feel I had spent my life making the
world a worse place
)
---
```
# Citation avancée : optionnel
### Citation avancée : optionnel
Ajoutez ces marqueurs, si connus dans la citation, par ex sous ```_cite```
```
_year: 2021
_book: Esperanza 64
```
# Créer des listes
(utilisez = pour définir l'arborescence). L'arborescence est "infie")
(chaque contenu de la liste doit être sur la même ligne)
### Créer des listes
Dans l'article, utilisez ```=``` pour définir l'arborescence).
L'arborescence est "infinie". Chaque contenu de la liste *doit être sur la même ligne*
```
(
Voici une liste
= Fruits : *mangez-en*
@ -273,12 +373,34 @@ Voici une liste
== Fraises
=== pas mûres
== Bananes
=== Plantins
= Légumes
== Épinards
== Haricots
=== Rouges
=== Verts
Fin de la liste
)
```
### Ajouter des lignes vides
Vous pouvez ajouter des <br /> dans votre rédaction, mais pour une
lecture plus propre de votre article, vous pouvez utiliser le caractère
'|' *au tout début d'une nouvelle ligne*
Dans l'article...
```
#1 Mon titre
(
Ceci est un long paragraphe (Un peu d'imagination...)
|
Retour "forcé" à la ligne
)
```
# HELP COMMAND
```
$ gsl [ARG]

View File

@ -13,7 +13,7 @@
- Website templates, where you give .css, logo, footer.html...
: --prefix/DOMAIN/templates
# Writing your Posts:
# Adding a folder for your posts ('gsl new' command will ask to create one):
- Add/Create or go into a folder (i.e. /home/USER/Documents/Mytexts)
- Set an empty file in this folder named gsl.DOMAIN (i.e. gsl.example.com)
- Save in this folder your posts in files with .gsl extension (i.e. mygreatpost.gsl)

View File

@ -25,6 +25,7 @@ gsl__page_listing_create Add
gsl__do_italics "make" "$gsl_tmp_post" # First
gsl__do_header "make" "$gsl_marker_link" "$gsl_post"
gsl__do_header "make" "$gsl_marker_abbr" "$gsl_post"
gsl__make_newline
gsl__make_files
gsl__do_strongs_bolds "make" "$gsl_tmp_post"
gsl__make_list
@ -176,23 +177,23 @@ do
if (( $gsl_diff_pm_mn == 0 ));then
printf "%s%s\n" \
"" \
"<li>$content</li>" \
"<li class=\"${gsl_site_css}_list-li ${gsl_site_css}_list-$mn\">$content</li>" \
>> "$gsl_HTML_list"
elif (( $gsl_diff_pm_mn > 0 ));then
printf "%s%s\n" \
"" \
"<ul>" \
"<ul class=\"${gsl_site_css}_list-ul\">" \
>> "$gsl_HTML_list"
printf "%s%s\n" \
"" \
"<li>$content</li>" \
"<li class=\"${gsl_site_css}_list-li ${gsl_site_css}_list-$mn\">$content</li>" \
>> "$gsl_HTML_list"
elif (( $gsl_diff_pm_mn < 0 ));then
printf '</ul>%.s\n' {1..eval $n} \
>> "$gsl_HTML_list"
printf "%s%s\n" \
"" \
"<li>$content</li>" \
"<li class=\"${gsl_site_css}_list-li ${gsl_site_css}_list-$mn\">$content</li>" \
>> "$gsl_HTML_list"
fi
@ -724,3 +725,15 @@ do
esac
done < <(cat -n "$gsl_tmp_post")
}
#-----------------------------------------------------------------------
# Create a new line from | to <br />
#-----------------------------------------------------------------------
gsl__make_newline() {
while read -r "nbrline" "nl" "content"
do
echo -ne "\r\033[2K: Converting New Line... | > <br />"
sed -i "${nbrline}s,|,<br />," "$gsl_tmp_post"
done < <(awk -v nl="|" '$1==nl {print NR,$0}' "$gsl_tmp_post")
echo -ne "\r\033[2K"
}

View File

@ -14,7 +14,7 @@ gsl__logs_print \
"$gsl_log_i" \
"Posts" \
"Found" \
"$gsl_nbr_posts" \
"$gsl_nbr_posts posts in" \
"${PWD}"
for gsl_post in `ls -1 *.gsl 2>/dev/null`