Version 0.1.10

This commit is contained in:
Cyrille L 2022-06-30 19:28:24 +02:00
parent a5e46da318
commit 63e148795d
9 changed files with 191 additions and 55 deletions

View File

@ -4,6 +4,15 @@ 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.10]
- Fix: file for links
- added: setdir (DO IT on your articles folder)
- - files and images folders are created in articles folder
- changes: check for files and images in files and images folder from articles folder
- - no more check for existing files in GSL DOMAIN/ template
- If no error in article, copy (if exists) files and images (with sub-folder) to GSL DOMAIN/
## [0.1.9]
### Added:
- gawk dependance

View File

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

View File

@ -1,6 +1,6 @@
# Créer un article depuis la ligne de commande
------------------------------------------------------------------------
Rendez vous dans le dossier de vos articles, enregistrés lors de l'ajout
Rendez vous dans le dossier de vos articles, enregistré lors de l'ajout
de votre domaine (ou celui que vous avez configuré)
```
@ -8,10 +8,15 @@ cd MON-DOSSIER-ARTICLES
gsl setdir
```
Vous pouvez créer un article daté du jour avec les METAS obligatoires
intégrées (à renseigner après) depuis la ligne de commande.
"setdir" permet de choisir parmi les domaines configurés. Cette commande
s'assure également que le dossier "images" et le dossier "files" sont
présents. Si déjà configuré, vous serez averti pour quel domaine.
Vous devez spécifier si votre article sera une 'page' ou un 'post'
## Créer un article de base
Vous pouvez créer un article daté du jour avec les METAS obligatoires
intégrées depuis la ligne de commande. Vous devrez les renseigner après.
Pour cela, spécifier si votre article sera une 'page' ou un 'post'
(Voir section plus bas), et lui donner un nom sans l'extension .gsl. Les
metas optionnelles sont ajoutées en commentaires.
@ -22,17 +27,18 @@ gsl new page|post FILENAME
Mettez des guillemets pour les nom du fichier avec espaces.
```
# Cré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 new post "mes vacances"
gsl new post "mes vacances" # Deviendra /mes vacances/index.html
```
Vous pouvez l'éditer dans le terminal en utilisant l'autocompletion
(<tab>), 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...)
# Éditez votre article dans le terminal
Vous pouvez éditer dans le terminal vos articles en utilisant
l'autocompletion (touche <tab>), 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"
@ -110,7 +116,7 @@ azerty français (disposition par défaut)
- Gras: ```*...*```
- Italique: ```\...\```
- Code en ligne: "`...`" (altgr + 7)
- Code en ligne: `...` (altgr + 7)
- Très gras: ```¤...¤``` (altgr + $)
- Barré: ```~...~``` (altgr + 2)
- Personnalisé: ```×...×``` (altgr + shift + ;)

View File

@ -1,5 +1,5 @@
#!/bin/bash
# Version: 0.1.9
# Version: 0.1.10
# file: gsl
# Folder: /usr/local/bin
# By echolib (XMPP: im@echolib.re)

View File

@ -4,6 +4,15 @@ 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.10]
- Fix: file for links
- added: setdir (DO IT on your articles folder)
- - files and images folders are created in articles folder
- changes: check for files and images in files and images folder from articles folder
- - no more check for existing files in GSL DOMAIN/ template
- If no error in article, copy (if exists) files and images (with sub-folder) to GSL DOMAIN/
## [0.1.9]
### Added:
- gawk dependance

View File

@ -1,6 +1,6 @@
# Créer un article depuis la ligne de commande
------------------------------------------------------------------------
Rendez vous dans le dossier de vos articles, enregistrés lors de l'ajout
Rendez vous dans le dossier de vos articles, enregistré lors de l'ajout
de votre domaine (ou celui que vous avez configuré)
```
@ -8,10 +8,15 @@ cd MON-DOSSIER-ARTICLES
gsl setdir
```
Vous pouvez créer un article daté du jour avec les METAS obligatoires
intégrées (à renseigner après) depuis la ligne de commande.
"setdir" permet de choisir parmi les domaines configurés. Cette commande
s'assure également que le dossier "images" et le dossier "files" sont
présents. Si déjà configuré, vous serez averti pour quel domaine.
Vous devez spécifier si votre article sera une 'page' ou un 'post'
## Créer un article de base
Vous pouvez créer un article daté du jour avec les METAS obligatoires
intégrées depuis la ligne de commande. Vous devrez les renseigner après.
Pour cela, spécifier si votre article sera une 'page' ou un 'post'
(Voir section plus bas), et lui donner un nom sans l'extension .gsl. Les
metas optionnelles sont ajoutées en commentaires.
@ -22,17 +27,18 @@ gsl new page|post FILENAME
Mettez des guillemets pour les nom du fichier avec espaces.
```
# Cré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 new post "mes vacances"
gsl new post "mes vacances" # Deviendra /mes vacances/index.html
```
Vous pouvez l'éditer dans le terminal en utilisant l'autocompletion
(<tab>), 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...)
# Éditez votre article dans le terminal
Vous pouvez éditer dans le terminal vos articles en utilisant
l'autocompletion (touche <tab>), 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"
@ -110,7 +116,7 @@ azerty français (disposition par défaut)
- Gras: ```*...*```
- Italique: ```\...\```
- Code en ligne: "`...`" (altgr + 7)
- Code en ligne: `...` (altgr + 7)
- Très gras: ```¤...¤``` (altgr + $)
- Barré: ```~...~``` (altgr + 2)
- Personnalisé: ```×...×``` (altgr + shift + ;)

View File

@ -54,10 +54,14 @@ fi
#======================================================================
setdir__OPTIONS() {
domain__check setdir
[[ "$domain_name" ]] \
&& echo "# Domain registred for this folder: $domain_name" \
&& exit
if [[ "$domain_name" ]];then
mkdir -p "images"
mkdir -p "files"
echo "# Domain registred for this folder: $domain_name"
exit
fi
# If no domain regsitred for PWD folder
domain_nbr_max=`cat "$gsl_file_db_domains" | wc -l`
cat -n "$gsl_file_db_domains"
ask_domain=`echo -e "\n# Which domain to set for this folder ? "`
@ -77,6 +81,8 @@ read -rp "$ask_domain" domain_nbr
domain_set=`awk -v l="$domain_nbr" 'NR==l' "$gsl_file_db_domains"`
touch "gsl.$domain_set"
mkdir -p "images"
mkdir -p "files"
gsl setdir
exit
}
@ -134,6 +140,11 @@ gsl_file_domain_authors="$gsl_dir_domain/authors.db"
gsl_file_domain_conf="$gsl_dir_domain/$domain_name.conf"
if__file "$gsl_file_domain_conf" source
# To PWD
pwd_images="$PWD/images"
pwd_files="$PWD/files"
# To gsl template DOMAIN/
gsl_dir_domain_tpl="$gsl_dir_domain/templates"
gsl_dir_domain_files="$gsl_dir_domain/files"
gsl_dir_domain_images="$gsl_dir_domain/images"

View File

@ -104,6 +104,7 @@ case "$2" in
-E) log_f2="Stopping" ;;
-A) log_f2="Article" ;;
-srv) log_f2="Server" ;;
-rsc) log_f2="Rsync" ;;
-st) log_f2="Stats" ;;
-R) log_f2="Removed" ;;
-D) log_f2="Database" ;;

View File

@ -319,6 +319,72 @@ DB__set_status chk
rm -f "$gsl_tmp_post" \
"$gsl_tmp_head" \
"$gsl_tmp_db"
[[ "$gsl_checker_err" ]] && return
# Sync PWD/images from article to DOMAIN/ template
if [[ "${image_filename[1]}" ]];then
for i in `seq 1 $gsl_stat_images`
do
[[ ${image_folders[$i]} ]] \
&& mkdir -p "$gsl_dir_domain_images/${image_folders[$i]}"
rsync -q -a --exclude ".*" \
"$pwd_images/${image_header_f2[$i]}" \
"$gsl_dir_domain_images/${image_header_f2[$i]}" && \
gsl__logs_print -w -rsc -src \
"Image: $pwd_images/${image_header_f2[$i]}" \
"$gsl_dir_domain_images/${image_header_f2[$i]}"
done
fi
# Sync PWD/files from article to DOMAIN/ template for file-link
if [[ "${flink_filename[1]}" ]];then
for i in `seq 1 $gsl_stat_flinks`
do
[[ ${flink_folders[$i]} ]] \
&& mkdir -p "$gsl_dir_domain_files/${flink_folders[$i]}"
rsync -q -a --exclude ".*" \
"$pwd_files/${flink_header_f2[$i]}" \
"$gsl_dir_domain_files/${flink_header_f2[$i]}" && \
gsl__logs_print -w -rsc -src \
"File link: $pwd_files/${flink_header_f2[$i]}" \
"$gsl_dir_domain_files/${flink_header_f2[$i]}"
done
fi
# Sync PWD/files from article to DOMAIN/ template for file-code
if [[ "${fcode_filename[1]}" ]];then
for i in `seq 1 $gsl_stat_fcodes`
do
[[ ${fcode_folders[$i]} ]] \
&& mkdir -p "$gsl_dir_domain_files/${fcode_folders[$i]}"
rsync -q -a --exclude ".*" \
"$pwd_files/${fcode_header_f2[$i]}" \
"$gsl_dir_domain_files/${fcode_header_f2[$i]}" && \
gsl__logs_print -w -rsc -src \
"File code: $pwd_files/${fcode_header_f2[$i]}" \
"$gsl_dir_domain_files/${fcode_header_f2[$i]}"
done
fi
# Sync PWD/files from article to DOMAIN/ template for file-brut
if [[ "${fbrut_filename[1]}" ]];then
for i in `seq 1 $gsl_stat_fbruts`
do
[[ ${fbrut_folders[$i]} ]] \
&& mkdir -p "$gsl_dir_domain_files/${fbrut_folders[$i]}"
rsync -q -a --exclude ".*" \
"$pwd_files/${fbrut_header_f2[$i]}" \
"$gsl_dir_domain_files/${fbrut_header_f2[$i]}" && \
gsl__logs_print -w -rsc -src \
"File brut: $pwd_files/${fbrut_header_f2[$i]}" \
"$gsl_dir_domain_files/${fbrut_header_f2[$i]}"
done
fi
}
@ -559,23 +625,30 @@ if ! [[ `grep "\<__$header_f1\>" "$gsl_tmp_post"` ]];then
gsl_flink_err=true
fi
if ! [[ -f "$gsl_dir_domain_files/$header_f2" ]];then
if ! [[ -f "$pwd_files/$header_f2" ]];then
gsl__logs_print -e -h \
"$gsl_marker_flink" \
"Not found: $header_f2" \
"$gsl_dir_domain_docs/$header_f2"
"$pwd_files/$header_f2"
gsl_flink_err=true
fi
[[ $gsl_flink_err ]] && return
# Register file to DB
printf '%s\n' \
"# Flink_URI:$gsl_dir_domain_fles/$header_f2" \
>> "$gsl_tmp_db"
# Stat
((gsl_stat_flinks++))
# Register file to DB
printf '%s\n' \
"Flink_$gsl_stat_flinks=\"$gsl_dir_domain_files/$header_f2\"" \
>> "$gsl_tmp_db"
# register images in PWD/images to sync after no err check
flink_header_f2[$gsl_stat_flinks]="$header_f2"
# Get image sub-folders (if exists) to create them on DOMAIN/ template
flink_filename[$gsl_stat_flinks]=`basename "$header_f2"`
flink_folders[$gsl_stat_flinks]=${header_f2/${flink_filename[$gsl_stat_flinks]}/}
}
@ -599,23 +672,30 @@ if ! [[ `grep "_image:$header_f1" "$gsl_tmp_post"` ]];then
gsl_image_err=true
fi
if ! [[ -f "$gsl_dir_domain_images/$header_f2" ]];then
if ! [[ -f "$pwd_images/$header_f2" ]];then
gsl__logs_print -e -h \
"$gsl_marker_image" \
"Not found: $header_f2" \
"$gsl_dir_domain_images/$header_f2"
"$pwd_images/$header_f2"
gsl_image_err=true
fi
[[ $gsl_image_err ]] && return
# Register file to DB
printf '%s\n' \
"# Image_URI:$gsl_dir_domain_images/$header_f2" \
>> "$gsl_tmp_db"
# Stat
((gsl_stat_images++))
# Register file to DB
printf '%s\n' \
"Image_$gsl_stat_images=\"$gsl_dir_domain_images/$header_f2\"" \
>> "$gsl_tmp_db"
# register images in PWD/images to sync after no err check
image_header_f2[$gsl_stat_images]="$header_f2"
# Get image sub-folders (if exists) to create them on DOMAIN/ template
image_filename[$gsl_stat_images]=`basename "$header_f2"`
image_folders[$gsl_stat_images]=${header_f2/${image_filename[$gsl_stat_images]}/}
}
@ -646,23 +726,30 @@ if ! [[ `grep "$gsl_mark_fcode:$header_f1" "$gsl_tmp_post"` ]];then
gsl_fcode_err=true
fi
if ! [[ -f "$gsl_dir_domain_files/$header_f2" ]];then
if ! [[ -f "$pwd_files/$header_f2" ]];then
gsl__logs_print -e -h \
"$gsl_marker_fcode" \
"Not found: $header_f2" \
"$gsl_dir_domain_precodes/$header_f2"
"$pwd_files/$header_f2"
gsl_fcode_err=true
fi
[[ $gsl_fcode_err ]] && return
# Register file to DB
printf '%s\n' \
"# Fcode_URI:$gsl_dir_domain_files/$header_f2" \
>> "$gsl_tmp_db"
# Stat
((gsl_stat_fcodes++))
# Register file to DB
printf '%s\n' \
"Fcode_$gsl_stat_fcodes=\"$gsl_dir_domain_files/$header_f2\"" \
>> "$gsl_tmp_db"
# register images in PWD/images to sync after no err check
fcode_header_f2[$gsl_stat_fcodes]="$header_f2"
# Get image sub-folders (if exists) to create them on DOMAIN/ template
fcode_filename[$gsl_stat_fcodes]=`basename "$header_f2"`
fcode_folders[$gsl_stat_fcodes]=${header_f2/${fcode_filename[$gsl_stat_fcodes]}/}
}
@ -686,23 +773,30 @@ if ! [[ `grep "$gsl_mark_fbrut:$header_f1" "$gsl_tmp_post"` ]];then
gsl_fbrut_err=true
fi
if ! [[ -f "$gsl_dir_domain_files/$header_f2" ]];then
if ! [[ -f "$pwd_files/$header_f2" ]];then
gsl__logs_print -e -h \
"$gsl_marker_fbrut" \
"Not found: $header_f2" \
"$gsl_dir_domain_files/$header_f2"
"$pwd_files/$header_f2"
gsl_fbrut_err=true
fi
[[ $gsl_fcode_err ]] && return
# Register file to DB
printf '%s\n' \
"# Fbrut_URI:$gsl_dir_domain_files/$header_f2" \
>> "$gsl_tmp_db"
# Stat
((gsl_stat_fbruts++))
# Register file to DB
printf '%s\n' \
"Fbrut_$gsl_stat_fbruts=\"$gsl_dir_domain_files/$header_f2\"" \
>> "$gsl_tmp_db"
# register images in PWD/images to sync after no err check
fbrut_header_f2[$gsl_stat_fbruts]="$header_f2"
# Get image sub-folders (if exists) to create them on DOMAIN/ template
fbrut_filename[$gsl_stat_fbruts]=`basename "$header_f2"`
fbrut_folders[$gsl_stat_fbruts]=${header_f2/${fbrut_filename[$gsl_stat_fbruts]}/}
}