diff --git a/control b/control index fd6073a..373af2e 100644 --- a/control +++ b/control @@ -1,5 +1,5 @@ Package: egsl -Version: 0.0.36 +Version: 0.0.37 Section: custom Priority: optional Architecture: all diff --git a/etc/gsl/gsl.conf b/etc/gsl/gsl.conf index c27b48f..4594716 100644 --- a/etc/gsl/gsl.conf +++ b/etc/gsl/gsl.conf @@ -52,15 +52,11 @@ gsl_log_e='Err' gsl_log_w='War' gsl_log_i='Inf' -# Date format -gsl_test_date='^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]+$' - #----------------------------------------------------------------------- # Set LOG help Activity for NEEDED HEADERS #----------------------------------------------------------------------- gsl_log_act_title='POST TITLE' gsl_log_act_author='REGISTRED NAME' -gsl_log_act_date='YYYY-MM-DD' gsl_log_act_info='POST is ABOUT...' gsl_log_act_slug='POST-TITLE' gsl_log_act_code='NBR : FILENAME : Alt Text' diff --git a/new-version.md b/new-version.md index c1f4abf..3e8ca91 100644 --- a/new-version.md +++ b/new-version.md @@ -1,11 +1,12 @@ -# Version: 0.0.35 > 0.0.36 +# [0.0.37] -- 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 -- New min size for post: 150 - -- Fix: No if block title empty +- Added changelog +- Make stats at each www call +- Fix variable name propertie for stats (statoolinfos) +- Set yourself a class ID for paragraphs: i.e. "( 1a" +- Better Logs harmony +- date: Set to DD-MM-YYYY if site lang=fr || YYYY-MM-DD +- date: Check for month value > 12 +- if 'error' log : do not exit 1 anymore +- link: check only online url from http... +- some changed syntax in make process diff --git a/usr/local/bin/gsl b/usr/local/bin/gsl index 108562a..9e50ae0 100755 --- a/usr/local/bin/gsl +++ b/usr/local/bin/gsl @@ -1,5 +1,5 @@ #!/bin/bash -# Version: 0.0.36 +# Version: 0.0.37 # file: gsl # Folder: /usr/local/bin # By echolib @@ -254,7 +254,13 @@ case "$1" in "$PWD/$3.gsl" gsl_checker_war=true else - gsl__create_article "$2" "$(date +%F)" "$gsl_postname" && \ + [[ `grep -i "fr" <<<"$gsl_site_lang"` ]] \ + && gsl_today=`printf '%(%d-%m-%Y)T'` \ + || gsl_today=`date +%F` + + gsl__debug "$gsl_site_lang" "$gsl_today" + + gsl__create_article "$2" "$gsl_today" "$gsl_postname" && \ gsl__logs_print \ "$gsl_log_i" \ "Create" \ @@ -492,6 +498,17 @@ case "$1" in gsl_srv_www="$gsl_site_server/$gsl_site_ndd/www" gsl__loop_posts www "$2" + # Stats + gsl__if_file "$gsl_dir_scripts/gsl__stats" source + gsl_file_sti="$gsl_site_server/$gsl_find_domain/gsl-sti.properties" + gsl__get_stats &>/dev/null && \ + gsl__logs_print \ + "$gsl_log_i" \ + "Stats" \ + "File" \ + "Generated" \ + "$gsl_file_sti" + gsl__logs_print \ "$gsl_log_i" \ "Stopping" \ @@ -536,5 +553,5 @@ if [[ "$gsl_checker_err" ]];then echo gsl_logs_err=true gsl__logs_show - exit 1 + exit fi diff --git a/var/lib/gsl/scripts/gsl__post_checkers b/var/lib/gsl/scripts/gsl__post_checkers index d4bdf31..8d535b4 100644 --- a/var/lib/gsl/scripts/gsl__post_checkers +++ b/var/lib/gsl/scripts/gsl__post_checkers @@ -68,8 +68,8 @@ if ! [[ "$gsl_post_begin" ]];then gsl__logs_print \ "$gsl_log_e" \ "Content" \ - "$gsl_log_c_h1" \ - "Missing: #1 TITLE" \ + "Begins" \ + "Unused: #1 TITLE" \ "${PWD}/$gsl_post" gsl_checker_err=true fi @@ -85,9 +85,9 @@ case "$gsl_post_type" in page|post) gsl__logs_print \ "$gsl_log_i" \ - "Content" \ - "Set as" \ - "$gsl_post_type: $gsl_post" \ + "Header" \ + "$gsl_marker_type" \ + "$gsl_post Set as $gsl_post_type" \ "${PWD}/$gsl_post" ;; *) @@ -96,9 +96,9 @@ case "$gsl_post_type" in "$gsl_post" && \ gsl__logs_print \ "$gsl_log_w" \ - "Content" \ - "Set as" \ - "Default: $gsl_post_type for $gsl_post" \ + "Header" \ + "$gsl_marker_type" \ + "$gsl_post Set as Default $gsl_post_type" \ "${PWD}/$gsl_post" gsl__get_sum "$gsl_post" ;; @@ -128,8 +128,8 @@ if (( "$gsl_post_p_open" == 0 ));then gsl__logs_print \ "$gsl_log_e" \ "Content" \ - "$gsl_loc_c_p" \ - "Missing: ( and ) at begining lines" \ + "Paragraphs" \ + "Unused: ( and ) at begining lines" \ "${PWD}/$gsl_post" gsl_checker_err=true return @@ -145,7 +145,7 @@ else gsl__logs_print \ "$gsl_log_e" \ "Content" \ - "$gsl_log_c_p" \ + "Paragraphs" \ "Mismatch: (=$gsl_post_p_open ; )=$gsl_post_p_close" \ "${PWD}/$gsl_post" gsl_checker_err=true @@ -177,7 +177,7 @@ else gsl__logs_print \ "$gsl_log_e" \ "Content" \ - "$gsl_log_c_cite" \ + "Citations" \ "Mismatch: --- not paired" \ "${PWD}/$gsl_post" gsl_checker_err=true @@ -190,13 +190,13 @@ fi gsl__check_link() { # Get & Check Header CONTENT gsl__check_header_fields \ - "Content" "$gsl_log_h_link" "$gsl_log_act_link" \ + "Header" "$gsl_marker_link" "$gsl_log_act_link" \ || return echo -ne "\r\033[2K: Searching for Links... $gsl_post_hf_1" # No ALT TEXT ? -gsl__check_header_field3 "Content" "$gsl_log_h_link" "$gsl_marker_link" +gsl__check_header_field3 "Header" "$gsl_marker_link" gsl_count_links=` gsl__get_content_line "_$gsl_post_hf_1" "$gsl_post" | wc -l` @@ -204,25 +204,41 @@ gsl__get_content_line "_$gsl_post_hf_1" "$gsl_post" | wc -l` if (( "$gsl_count_links" > 0 ));then # Check URL - gsl_url_status=` - timeout 2 curl -o /dev/null --silent --head --write-out \ - '%{http_code}' \ - "$gsl_post_hf_2" 2>/dev/null || gsl_url_status=408` + case "$gsl_post_hf_2" in + http*) + gsl_url_status=` + timeout 2 curl -o /dev/null --silent --head --write-out \ + '%{http_code}' \ + "$gsl_post_hf_2" 2>/dev/null` + ;; + *) + gsl_url_status=408 + ;; + esac case "$gsl_url_status" in 1*|2*|3*) gsl__logs_print \ "$gsl_log_i" \ - "Content" \ - "$gsl_log_h_link" \ + "Header" \ + "$gsl_marker_link" \ "Online:$gsl_url_status ${gsl_post_hf_2:0:40}..." \ "${PWD}/$gsl_post" ;; + 4*) + gsl__logs_print \ + "$gsl_log_w" \ + "Header" \ + "$gsl_marker_link" \ + "Not checked: ${gsl_post_hf_2:0:40}..." \ + "${PWD}/$gsl_post" + gsl_checker_war=true + ;; ""|*) gsl__logs_print \ "$gsl_log_w" \ - "Content" \ - "$gsl_log_h_link" \ + "Header" \ + "$gsl_marker_link" \ "Offline:$gsl_url_status ${gsl_post_hf_2:0:40}..." \ "${PWD}/$gsl_post" @@ -242,7 +258,7 @@ else gsl__logs_print \ "$gsl_log_e" \ "Content" \ - "$gsl_log_c_link" \ + "Link" \ "Unused: _$gsl_post_hf_1" \ "${PWD}/$gsl_post" gsl_checker_err=true @@ -274,8 +290,8 @@ else gsl__logs_print \ "$gsl_log_e" \ "Content" \ - "$gsl_log_c_abbr" \ - "Missing: $gsl_post_header_field_1" \ + "$gsl_marker_abbr" \ + "Unused: $gsl_post_header_field_1" \ "${PWD}/$gsl_post" gsl_checker_err=true @@ -299,8 +315,8 @@ if ! [[ -f "$gsl_dir_domain_files/$gsl_post_hf_2" ]];then gsl__logs_print \ "$gsl_log_e" \ - "Content" \ - "Header $gsl_marker_file" \ + "Header" \ + "$gsl_marker_file" \ "Not found: $gsl_post_hf_2" \ "$gsl_dir_domain_files/$gsl_post_hf_2" gsl_checker_err=true @@ -332,7 +348,7 @@ else "$gsl_log_e" \ "Content" \ "$gsl_log_c_file" \ - "Missing: __$gsl_post_hf_1" \ + "Unused: __$gsl_post_hf_1" \ "${PWD}/$gsl_post" gsl_checker_err=true @@ -344,21 +360,22 @@ fi #====================================================================== gsl__check_image() { gsl__check_header_fields \ - "Content" "$gsl_log_h_image" "$gsl_log_act_image" \ + "Header" "$gsl_marker_image" "$gsl_log_act_image" \ +|| return + +gsl__check_header_field3 \ + "Header" "$gsl_marker_image" "$gsl_marker_image" \ || return echo -ne "\r\033[2K: Searching for Images... $gsl_post_hf_1" -gsl__check_header_field3 "Content" "$gsl_log_h_image" "$gsl_marker_image" \ -|| return - # File exists in folder if ! [[ -f "$gsl_dir_domain_images/$gsl_post_hf_2" ]];then gsl__logs_print \ "$gsl_log_e" \ - "Content" \ - "$gsl_log_h_image" \ + "Header" \ + "$gsl_marker_image" \ "Not found: $gsl_post_hf_2" \ "$gsl_dir_domain_images/$gsl_post_hf_2" gsl_checker_err=true @@ -389,8 +406,8 @@ else gsl__logs_print \ "$gsl_log_e" \ "Content" \ - "$gsl_log_c_image" \ - "Missing: _image:$gsl_post_hf_1" \ + "Image" \ + "Unused: _image:$gsl_post_hf_1" \ "${PWD}/$gsl_post" gsl_checker_err=true @@ -403,7 +420,7 @@ fi gsl__check_fcode() { gsl__check_header_fields \ - "Content" "$gsl_log_h_code" "$gsl_log_act_code" \ + "Header" "$gsl_log_h_code" "$gsl_log_act_code" \ || return echo -ne "\r\033[2K: Searching for File Codes... $gsl_post_hf_1" @@ -415,8 +432,8 @@ if ! [[ -f "$gsl_dir_domain_files/$gsl_post_hf_2" ]];then gsl__logs_print \ "$gsl_log_e" \ - "Content" \ - "$gsl_log_h_code" \ + "Header" \ + "$gsl_marker_code" \ "Not found: $gsl_post_hf_2" \ "$gsl_dir_domain_files/$gsl_post_hf_2" gsl_checker_err=true @@ -447,8 +464,8 @@ else gsl__logs_print \ "$gsl_log_e" \ "Content" \ - "$gsl_log_c_code" \ - "Missing: _code:$gsl_post_hf_1" \ + "Code" \ + "Unused: _code:$gsl_post_hf_1" \ "${PWD}/$gsl_post" gsl_checker_err=true @@ -498,10 +515,18 @@ gsl__check_needed_headers \ # Date echo -ne "\r\033[2K: Searching HEADERS... $gsl_header_date" +# Date format check in fr or INternational ? +if [[ `grep -i "fr" <<<"$gsl_site_lang"` ]];then + gsl_log_content="DD-MM-YYYY" + gsl_test_date='^[0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]+$' +else + gsl_log_content="YYYY-MM-DD" + gsl_test_date='^[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]+$' +fi gsl__check_needed_headers \ "$gsl_header_date" \ "$gsl_marker_date" \ - "YYYY-MM-DD" \ + "$gsl_log_content" \ && gsl_date_err=true # Description @@ -527,8 +552,8 @@ if ! [[ "$gsl_author_err" ]] && \ gsl__logs_print \ "$gsl_log_e" \ - "Content" \ - "Header $gsl_marker_author" \ + "Header" \ + "$gsl_marker_author" \ "$gsl_header_author not registred for domain $gsl_find_domain" \ "${PWD}/$gsl_post" gsl_checker_err=true @@ -541,13 +566,25 @@ if ! [[ "$gsl_date_err" ]] && \ gsl__logs_print \ "$gsl_log_e" \ - "Content" \ - "Header $gsl_marker_date" \ - "$gsl_header_date not YYYY-MM-DD" \ + "Header" \ + "$gsl_marker_date" \ + "$gsl_header_date not $gsl_log_content" \ "${PWD}/$gsl_post" gsl_checker_err=true + gsl_date_mismatch=true fi +if ! [[ $gsl_date_mismatch ]];then + gsl_date_m=`awk -F- '{print $2}' <<<"$gsl_header_date"` + [[ "$gsl_date_m" -gt 12 ]] \ + && gsl__logs_print \ + "$gsl_log_e" \ + "Header" \ + "$gsl_marker_date" \ + "$gsl_header_date : Month > 12..." \ + "${PWD}/$gsl_post" \ + && gsl_checker_err=true +fi # Slug format title-post if ! [[ "$gsl_slug_err" ]];then @@ -561,8 +598,8 @@ if ! [[ "$gsl_slug_err" ]];then "$gsl_post" && \ gsl__logs_print \ "$gsl_log_w" \ - "Content" \ - "Header $gsl_marker_slug" \ + "Header" \ + "$gsl_marker_slug" \ "Changed: $gsl_header_slug_test" \ "${PWD}/$gsl_post" diff --git a/var/lib/gsl/scripts/gsl__post_makers b/var/lib/gsl/scripts/gsl__post_makers index ccae196..b9d6ba5 100644 --- a/var/lib/gsl/scripts/gsl__post_makers +++ b/var/lib/gsl/scripts/gsl__post_makers @@ -99,11 +99,11 @@ awk -v s="$1" \ #====================================================================== # Loop till no more list marker gsl__make_list() { -if [[ `awk -v mls="$gsl_mark_listo" \ - '$1 ~ mls {print NR,$0;exit}' \ +if [[ `awk -v mls="\$gsl_mark_listo" \ + 'match($1,mls) {print NR,$0;exit}' \ "$gsl_tmp_post"` ]] || \ - [[ `awk -v mls="$gsl_mark_list" \ - '$1 ~ mls {print NR,$0;exit}' \ + [[ `awk -v mls="\$gsl_mark_list" \ + 'match($1,mls) {print NR,$0;exit}' \ "$gsl_tmp_post"` ]];then gsl__make_list_read_by_block fi @@ -170,12 +170,12 @@ gsl__make_list # ===================================================================== # Create TMP HTML block list file # ===================================================================== -gsl_file_html_list=`mktemp` gsl__make_list_convert() { +gsl_file_html_list=`mktemp` # mln: marker list number | pmln: previous list mark number gsl__make_list_count_prev_mark() { - pml=`awk -v pln=$(( ln -1 )) 'NR == pln {print $1}' "$gsl_file_block_list"` + pml=`gawk -v pln=$(( ln -1 )) 'NR == pln {print $1}' "$gsl_file_block_list"` pmln=${#pml} } @@ -219,6 +219,7 @@ do "" \ "
  • $content
  • " \ >> "$gsl_file_html_list" + else printf "%${mln_indent_close}s%s\n" \ @@ -383,32 +384,32 @@ rm -f "$gsl_file_block_titles" # Find and convert paragraphs (3 different css styles) #======================================================================= gsl__make_paragraphs() { -gsl_html_par_o1="

    " -gsl_html_par_o2="

    " -gsl_html_par_o3="

    " -gsl_html_par_c="

    " - echo -ne "\r\033[2K: Converting Paragraphs..." -while read -r "gsl_content_line_nbr" "gsl_content_line" +while read -r "ln" "content" do - case "$gsl_content_line" in + case "$content" in ")") - sed -i "${gsl_content_line_nbr}s,.*,$gsl_html_par_c," \ + sed -i "${ln}s,.*,

    ," \ "$gsl_tmp_post" ;; - "("|"( 1") - sed -i "${gsl_content_line_nbr}s,.*,$gsl_html_par_o1," \ - "$gsl_tmp_post" - ;; - "( 2") - sed -i "${gsl_content_line_nbr}s,.*,$gsl_html_par_o2," \ - "$gsl_tmp_post" - ;; - "( 3") - sed -i "${gsl_content_line_nbr}s,.*,$gsl_html_par_o3," \ + + "("*) + gsl_css_id=` + awk -v l="$ln" \ + 'NR == l {print $2}' \ + "$gsl_tmp_post"` + + if [[ "$gsl_css_id" ]] && \ + [[ `grep '^[-0-9a-zA-Z]*$' <<<"$gsl_css_id"` ]];then + gsl_css_id="-$gsl_css_id" + fi + gsl_html_par_id="

    " + + sed -i "${ln}s,.*,$gsl_html_par_id," \ "$gsl_tmp_post" ;; + *) continue ;; diff --git a/var/lib/gsl/scripts/gsl__post_manager b/var/lib/gsl/scripts/gsl__post_manager index 8b96b1a..0d30a99 100644 --- a/var/lib/gsl/scripts/gsl__post_manager +++ b/var/lib/gsl/scripts/gsl__post_manager @@ -226,6 +226,6 @@ awk -v l="$gsl_post_begin" \ gsl__post_begin() { gsl_post_begin=` awk -v m="#1" \ - '$1 == m {print NR;exit}' \ + 'match($1,m) {print NR;exit}' \ "$gsl_post"` } diff --git a/var/lib/gsl/scripts/gsl__stats b/var/lib/gsl/scripts/gsl__stats index 5baf3ac..5468309 100644 --- a/var/lib/gsl/scripts/gsl__stats +++ b/var/lib/gsl/scripts/gsl__stats @@ -82,10 +82,15 @@ done < <(ls -1 "$gsl_dir_db" | grep ".gsl.db") #gsl.articles.posts=nombre d'articles type page #gsl.authors=nombre d'auteurs +#gsl.articles.words= +#gsl.articles.quotes= +#gsl.articles.paragraphs= + + printf '%s\n%s\n%s\n%s\n' \ "gsl.articles=$gsl_stats_articles_www" \ - "gsl_articles_pages=$gsl_stats_articles_pages_www" \ - "gsl_articles_posts=$gsl_stats_articles_posts_www" \ + "gsl.articles.pages=$gsl_stats_articles_pages_www" \ + "gsl.articles.posts=$gsl_stats_articles_posts_www" \ "gsl.authors=$gsl_auth_max" \ > "$gsl_file_sti" && \ echo "> Génération des stats (Statoolinfos): $gsl_file_sti" diff --git a/var/lib/gsl/scripts/gsl__tools b/var/lib/gsl/scripts/gsl__tools index 7740bf6..ea68327 100644 --- a/var/lib/gsl/scripts/gsl__tools +++ b/var/lib/gsl/scripts/gsl__tools @@ -177,8 +177,8 @@ gsl__check_needed_headers() { ! [[ "$1" ]] \ && gsl__logs_print \ "$gsl_log_e" \ - "Post" \ - "Header $2" \ + "Content" \ + "$2" \ "Missing: $3" \ "${PWD}/$gsl_post" \ && gsl_checker_err=true @@ -241,7 +241,7 @@ if ! [[ "$gsl_post_hf_3" ]];then "$gsl_log_w" \ "$1" \ "$2" \ - "Line:$gsl_post_hf_l > No Alt Text ?" \ + "Line:$gsl_post_hf_l > No Alt Text" \ "${PWD}/$gsl_post" gsl_checker_war=true ;;