Updated markers ; icode, italic, strong, bold + stats
This commit is contained in:
parent
e5e63b7ee4
commit
5c40f613d4
|
@ -89,26 +89,17 @@ gsl_log_c_file="Content File"
|
||||||
# Set CONTENT POST markers
|
# Set CONTENT POST markers
|
||||||
#-----------------------------------------------------------------------
|
#-----------------------------------------------------------------------
|
||||||
gsl_mo_p='('
|
gsl_mo_p='('
|
||||||
gsl_mo_link='\[_'
|
|
||||||
gsl_mo_em='/_'
|
|
||||||
gsl_mo_bold='\*_'
|
|
||||||
gsl_mo_strong='\*\*_'
|
|
||||||
gsl_mo_code='¤_'
|
|
||||||
gsl_mo_file='<_'
|
|
||||||
|
|
||||||
gsl_mc_p=')'
|
gsl_mc_p=')'
|
||||||
gsl_mc_link='_\]'
|
|
||||||
gsl_mc_em='_/'
|
|
||||||
gsl_mc_bold='_\*'
|
|
||||||
gsl_mc_strong='_\*\*'
|
|
||||||
gsl_mc_code='_¤'
|
|
||||||
gsl_mc_file='_>'
|
|
||||||
|
|
||||||
gsl_mark_image='_image_'
|
gsl_mark_image='_image_'
|
||||||
gsl_mark_code='_code_'
|
gsl_mark_code='_code_'
|
||||||
gsl_mark_title='#'
|
gsl_mark_title='#'
|
||||||
|
gsl_mark_bold='\*'
|
||||||
|
gsl_mark_strong='\*\*'
|
||||||
|
gsl_mark_italic='\/'
|
||||||
|
gsl_mark_code="¤"
|
||||||
gsl_mark_list='='
|
gsl_mark_list='='
|
||||||
|
|
||||||
|
|
||||||
gsl_mark_blockquote='---'
|
gsl_mark_blockquote='---'
|
||||||
gsl_mark_blockquote_cite='_cite :'
|
gsl_mark_blockquote_cite='_cite :'
|
||||||
gsl_mark_blockquote_year='_year :'
|
gsl_mark_blockquote_year='_year :'
|
||||||
|
@ -116,45 +107,6 @@ gsl_mark_blockquote_link='_link :'
|
||||||
gsl_mark_blockquote_book='_book :'
|
gsl_mark_blockquote_book='_book :'
|
||||||
gsl_mark_blockquote_lang='_lang :'
|
gsl_mark_blockquote_lang='_lang :'
|
||||||
|
|
||||||
#-----------------------------------------------------------------------
|
|
||||||
# Set for Stats
|
|
||||||
#-----------------------------------------------------------------------
|
|
||||||
gsl_o_markers=(
|
|
||||||
$gsl_mo_link
|
|
||||||
$gsl_mo_em
|
|
||||||
$gsl_mo_strong
|
|
||||||
$gsl_mo_bold
|
|
||||||
$gsl_mo_code
|
|
||||||
$gsl_mo_file
|
|
||||||
)
|
|
||||||
|
|
||||||
gsl_c_markers=(
|
|
||||||
$gsl_mc_link
|
|
||||||
$gsl_mc_em
|
|
||||||
$gsl_mc_strong
|
|
||||||
$gsl_mc_bold
|
|
||||||
$gsl_mc_code
|
|
||||||
$gsl_mc_file
|
|
||||||
)
|
|
||||||
|
|
||||||
gsl_i_markers=(
|
|
||||||
"Content link"
|
|
||||||
"Content italic"
|
|
||||||
"Content strong"
|
|
||||||
"Content bold"
|
|
||||||
"Content code"
|
|
||||||
"Content file"
|
|
||||||
)
|
|
||||||
|
|
||||||
gsl_u_markers=(
|
|
||||||
'[_ _]'
|
|
||||||
'/_ _/'
|
|
||||||
'**_ _**'
|
|
||||||
'*_ _*'
|
|
||||||
'¤_ _¤'
|
|
||||||
'<_ _>'
|
|
||||||
)
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------
|
#-----------------------------------------------------------------------
|
||||||
# Set HEADERS markers
|
# Set HEADERS markers
|
||||||
#-----------------------------------------------------------------------
|
#-----------------------------------------------------------------------
|
||||||
|
@ -173,3 +125,6 @@ gsl_marker_image='image: '
|
||||||
gsl_marker_abbr='abbr: '
|
gsl_marker_abbr='abbr: '
|
||||||
gsl_marker_link='link: '
|
gsl_marker_link='link: '
|
||||||
gsl_marker_file='file: '
|
gsl_marker_file='file: '
|
||||||
|
|
||||||
|
# Delimiters to seet for sed in case exists in inline-code
|
||||||
|
gsl_d=(\, \. \? \% \# \- \: \^ \/ \_ \| )
|
||||||
|
|
|
@ -167,8 +167,9 @@ For ABBRs, just write SHORT in your content
|
||||||
```
|
```
|
||||||
# Paragraphs
|
# Paragraphs
|
||||||
At begining of new line, open with ( and close with )
|
At begining of new line, open with ( and close with )
|
||||||
(
|
Set till 3 different classes with ( 1 ( 2 ( 3
|
||||||
This is a paragraph
|
( 2
|
||||||
|
This is a paragraph with class 2
|
||||||
)
|
)
|
||||||
|
|
||||||
# Register in Header. link: My Great Link : URL : Alt text
|
# Register in Header. link: My Great Link : URL : Alt text
|
||||||
|
@ -194,10 +195,10 @@ this border**line** content
|
||||||
...
|
...
|
||||||
|
|
||||||
# Write in ITALIC
|
# Write in ITALIC
|
||||||
/_this em text_/
|
/this em text/
|
||||||
|
|
||||||
# Inline-code (¤ = alt-gr + $ on FR keyboard)
|
# Inline-code (¤ = alt-gr + $ on FR keyboard)
|
||||||
¤_push()_¤
|
¤push()¤
|
||||||
|
|
||||||
# Simple Blockquote
|
# Simple Blockquote
|
||||||
---
|
---
|
||||||
|
|
|
@ -52,12 +52,14 @@ For ABBRs, just write SHORT in your content
|
||||||
```
|
```
|
||||||
# Paragraphs
|
# Paragraphs
|
||||||
At begining of new line, open with ( and close with )
|
At begining of new line, open with ( and close with )
|
||||||
(
|
Set till 3 different classes with ( 1 ( 2 ( 3
|
||||||
This is a paragraph
|
( 2
|
||||||
|
This is a paragraph with class 2
|
||||||
)
|
)
|
||||||
|
|
||||||
# Register in Header. link: My Great link : URL : Alt text
|
# Register in Header. link: My Great Link : URL : Alt text
|
||||||
_My Great Link
|
_My Great Link
|
||||||
|
_My Great Link+ # Open in new tab
|
||||||
|
|
||||||
# Register in Header. file: My Great file : FILENAME : ALT-TEXT
|
# Register in Header. file: My Great file : FILENAME : ALT-TEXT
|
||||||
__My Great file
|
__My Great file
|
||||||
|
@ -68,17 +70,20 @@ __image:1
|
||||||
# Block-Code File: Register in Header. code: 1 : FILENAME : Alt Text
|
# Block-Code File: Register in Header. code: 1 : FILENAME : Alt Text
|
||||||
__code:1
|
__code:1
|
||||||
|
|
||||||
# Write in ITALIC
|
|
||||||
/_this em text_/
|
|
||||||
|
|
||||||
# Write in STRONG
|
# Write in STRONG
|
||||||
**_this strong content_**
|
**this strong content**
|
||||||
|
this un**believe**able content
|
||||||
|
this border**line** content
|
||||||
|
|
||||||
# BOLD
|
# BOLD
|
||||||
*_this bold content_*
|
*this bold content*
|
||||||
|
...
|
||||||
|
|
||||||
|
# Write in ITALIC
|
||||||
|
/this em text/
|
||||||
|
|
||||||
# Inline-code (¤ = alt-gr + $ on FR keyboard)
|
# Inline-code (¤ = alt-gr + $ on FR keyboard)
|
||||||
¤_push()_¤
|
¤push()¤
|
||||||
|
|
||||||
# Simple Blockquote
|
# Simple Blockquote
|
||||||
---
|
---
|
||||||
|
|
|
@ -54,3 +54,154 @@ do
|
||||||
|
|
||||||
done < <(gsl__get_header "$2" "$3")
|
done < <(gsl__get_header "$2" "$3")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#======================================================================
|
||||||
|
# Do Strongs && Bolds + Get STATS | $1: Process $2:File
|
||||||
|
#======================================================================
|
||||||
|
gsl__do_strongs_bolds() {
|
||||||
|
case "$1" in
|
||||||
|
"stats")
|
||||||
|
gsl_stat_strongs=0
|
||||||
|
gsl_stat_bolds=0
|
||||||
|
;;
|
||||||
|
|
||||||
|
"make")
|
||||||
|
echo -ne "\r\033[2K: Convrting Strongs & Bolds..."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
while read -r "strong"
|
||||||
|
do
|
||||||
|
if [[ "$strong" ]] && \
|
||||||
|
[[ `grep "$gsl_mark_strong$strong$gsl_mark_strong" "$2"` ]];then
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
"stats")
|
||||||
|
((gsl_stat_strongs++))
|
||||||
|
;;
|
||||||
|
"make")
|
||||||
|
echo -ne "\r\033[2K: Convrting Strong... $strong"
|
||||||
|
gsl_strong="$gsl_mark_strong$strong$gsl_mark_strong"
|
||||||
|
gsl_html_strong="<strong>$strong</strong>"
|
||||||
|
sed -i "s|$gsl_strong|$gsl_html_strong|g" "$2"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
fi
|
||||||
|
done < <(grep -oP "(?<=$gsl_mark_strong).*?(?=$gsl_mark_strong)" "$2")
|
||||||
|
|
||||||
|
|
||||||
|
# Bolds
|
||||||
|
echo -ne "\r\033[2K: Counting Bolds..."
|
||||||
|
while read -r "bold"
|
||||||
|
do
|
||||||
|
if [[ "$bold" ]] && \
|
||||||
|
[[ `grep "$gsl_mark_bold$bold$gsl_mark_bold" "$2"` ]];then
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
"stats")
|
||||||
|
((gsl_stat_bolds++))
|
||||||
|
;;
|
||||||
|
"make")
|
||||||
|
echo -ne "\r\033[2K: Convrting Bold... $bold"
|
||||||
|
gsl_bold="$gsl_mark_bold$bold$gsl_mark_bold"
|
||||||
|
gsl_html_bold="<b>$bold</b>"
|
||||||
|
sed -i "s|$gsl_bold|$gsl_html_bold|g" "$2"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
fi
|
||||||
|
done < <(grep -oP "(?<=$gsl_mark_bold).*?(?=$gsl_mark_bold)" "$2")
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
"stats")
|
||||||
|
gsl_stat_bolds=$((gsl_stat_bolds - gsl_stat_strongs))
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
#======================================================================
|
||||||
|
# Do Italics + Get STATS | $1: Process $2:File
|
||||||
|
#======================================================================
|
||||||
|
gsl__do_italics() {
|
||||||
|
case "$1" in
|
||||||
|
"stats")
|
||||||
|
gsl_stat_italics=0
|
||||||
|
;;
|
||||||
|
|
||||||
|
"make")
|
||||||
|
echo -ne "\r\033[2K: Convrting Italics..."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo -ne "\r\033[2K: Counting Italics..."
|
||||||
|
while read -r "italic"
|
||||||
|
do
|
||||||
|
if [[ "$italic" ]] && \
|
||||||
|
[[ `grep "$gsl_mark_italic$italic$gsl_mark_italic" "$2"` ]];then
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
"stats")
|
||||||
|
((gsl_stat_italics++))
|
||||||
|
;;
|
||||||
|
"make")
|
||||||
|
echo -ne "\r\033[2K: Convrting Italic... $italic"
|
||||||
|
gsl_italic="$gsl_mark_italic$italic$gsl_mark_italic"
|
||||||
|
gsl_html_italic="<em>$italic</em>"
|
||||||
|
sed -i "s|$gsl_italic|$gsl_html_italic|g" "$2"
|
||||||
|
;;
|
||||||
|
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
done < <(grep -oP "(?<=$gsl_mark_italic).*?(?=$gsl_mark_italic)" "$2")
|
||||||
|
}
|
||||||
|
|
||||||
|
#======================================================================
|
||||||
|
# Do Italics + Get STATS | $1: Process $2:File
|
||||||
|
#======================================================================
|
||||||
|
gsl__do_icode() {
|
||||||
|
case "$1" in
|
||||||
|
"stats")
|
||||||
|
gsl_stat_icodes=0
|
||||||
|
;;
|
||||||
|
|
||||||
|
"make")
|
||||||
|
gsl_html_icode_o="<code class=\"${gsl_site_css}-code\">"
|
||||||
|
echo -ne "\r\033[2K: Convrting Inline-Codes..."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo -ne "\r\033[2K: Counting Inline-Codes..."
|
||||||
|
while read -r "icode"
|
||||||
|
do
|
||||||
|
if [[ "$icode" ]] && \
|
||||||
|
[[ `grep "$gsl_mark_code$icode$gsl_mark_code" "$2"` ]];then
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
"stats")
|
||||||
|
((gsl_stat_icodes++))
|
||||||
|
;;
|
||||||
|
"make")
|
||||||
|
echo -ne "\r\033[2K: Convrting Inline-Code... $icode"
|
||||||
|
gsl_icode="$gsl_mark_code$icode$gsl_mark_code"
|
||||||
|
gsl_html_icode="$gsl_html_icode_o$icode</code>"
|
||||||
|
|
||||||
|
for d in "${gsl_d[@]}"
|
||||||
|
do
|
||||||
|
case "$icode" in
|
||||||
|
*"$d"*)
|
||||||
|
continue
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
sed -i "s${d}${gsl_icode}${d}${gsl_html_icode}${d}" "$2"
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
fi
|
||||||
|
done < <(grep -oP "(?<=$gsl_mark_code).*?(?=$gsl_mark_code)" "$2")
|
||||||
|
}
|
||||||
|
|
|
@ -10,6 +10,16 @@
|
||||||
# --------------------------------------------------
|
# --------------------------------------------------
|
||||||
#-----------------------------------------------------------------------
|
#-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# MAIN
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
gsl__page_creator() {
|
||||||
|
gsl__page_prepare_datas
|
||||||
|
gsl__check_templates
|
||||||
|
gsl__html_meta_head
|
||||||
|
gsl__page_create
|
||||||
|
}
|
||||||
|
|
||||||
#-----------------------------------------------------------------------
|
#-----------------------------------------------------------------------
|
||||||
# Get Datas for Post/Page
|
# Get Datas for Post/Page
|
||||||
#-----------------------------------------------------------------------
|
#-----------------------------------------------------------------------
|
||||||
|
@ -43,16 +53,6 @@ esac
|
||||||
gsl_uri_site_logo="$gsl_uri/templates/$gsl_site_logo"
|
gsl_uri_site_logo="$gsl_uri/templates/$gsl_site_logo"
|
||||||
}
|
}
|
||||||
|
|
||||||
#-----------------------------------------------------------------------
|
|
||||||
# MAIN
|
|
||||||
#-----------------------------------------------------------------------
|
|
||||||
gsl__page_creator() {
|
|
||||||
gsl__page_prepare_datas
|
|
||||||
gsl__check_templates
|
|
||||||
gsl__html_meta_head
|
|
||||||
gsl__page_create
|
|
||||||
}
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------
|
#-----------------------------------------------------------------------
|
||||||
# Check if Post / Pages exists in server
|
# Check if Post / Pages exists in server
|
||||||
#-----------------------------------------------------------------------
|
#-----------------------------------------------------------------------
|
||||||
|
|
|
@ -4,33 +4,35 @@
|
||||||
# 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
|
||||||
|
|
||||||
#-----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
# --------------------------------------------------
|
# --------------------------------------------------
|
||||||
# From: gsl__loop_posts | MAIN checkers from modules
|
# From: gsl__loop_posts | MAIN checkers from modules
|
||||||
# --------------------------------------------------
|
# --------------------------------------------------
|
||||||
#-----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
gsl__all_checkers() {
|
gsl__all_checkers() {
|
||||||
clear
|
clear
|
||||||
unset gsl_check_done
|
unset gsl_check_done
|
||||||
|
|
||||||
gsl__check_h1 || return
|
gsl__check_h1 || return
|
||||||
|
gsl__post_content_only
|
||||||
|
|
||||||
gsl__get_needed_headers
|
gsl__get_needed_headers
|
||||||
gsl__check_type
|
gsl__check_type
|
||||||
gsl__check_headers
|
gsl__check_headers
|
||||||
gsl__check_paragraphs
|
gsl__check_paragraphs "$gsl_tmp_post"
|
||||||
gsl__check_blockquote
|
gsl__check_blockquote "$gsl_tmp_post"
|
||||||
|
|
||||||
gsl__do_header check "$gsl_marker_link" "$gsl_post"
|
gsl__do_header check "$gsl_marker_link" "$gsl_post"
|
||||||
gsl__do_header check "$gsl_marker_abbr" "$gsl_post"
|
gsl__do_header check "$gsl_marker_abbr" "$gsl_post"
|
||||||
gsl__do_header check "$gsl_marker_file" "$gsl_post"
|
gsl__do_header check "$gsl_marker_file" "$gsl_post"
|
||||||
gsl__do_header check "$gsl_marker_image" "$gsl_post"
|
gsl__do_header check "$gsl_marker_image" "$gsl_post"
|
||||||
gsl__do_header check "$gsl_marker_code" "$gsl_post"
|
gsl__do_header check "$gsl_marker_code" "$gsl_post"
|
||||||
|
gsl__stat_words "$gsl_tmp_post"
|
||||||
|
gsl__do_strongs_bolds stats "$gsl_tmp_post"
|
||||||
|
gsl__do_italics stats "$gsl_tmp_post"
|
||||||
|
gsl__do_icode stats "$gsl_tmp_post"
|
||||||
|
|
||||||
#echo -ne "\r\033[2K: Searching for Content MARKERS..."
|
rm -f "$gsl_tmp_post"
|
||||||
#gsl__post_check_markers
|
|
||||||
|
|
||||||
#echo -ne "\r\033[2K: Searching for some STATS..."
|
|
||||||
#gsl__post_check_stats
|
|
||||||
|
|
||||||
echo -ne "\r\033[2K"
|
echo -ne "\r\033[2K"
|
||||||
|
|
||||||
|
@ -38,14 +40,14 @@ echo -ne "\r\033[2K"
|
||||||
gsl__db_line_post
|
gsl__db_line_post
|
||||||
}
|
}
|
||||||
|
|
||||||
#-----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
# -------------------------------------------------
|
# -------------------------------------------------
|
||||||
# Modules checkers
|
# Modules checkers
|
||||||
# -------------------------------------------------
|
# -------------------------------------------------
|
||||||
#-----------------------------------------------------------------------
|
#----------------------------------------------------------------------
|
||||||
#=======================================================================
|
#======================================================================
|
||||||
# Check Post for begining content
|
# Check Post for begining content
|
||||||
#=======================================================================
|
#======================================================================
|
||||||
gsl__check_h1() {
|
gsl__check_h1() {
|
||||||
echo -ne ": Searching for #1..."
|
echo -ne ": Searching for #1..."
|
||||||
|
|
||||||
|
@ -65,9 +67,9 @@ if ! [[ "$gsl_post_begin" ]];then
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
#=======================================================================
|
#======================================================================
|
||||||
# Check/Set Post Type
|
# Check/Set Post Type
|
||||||
#=======================================================================
|
#======================================================================
|
||||||
gsl__check_type() {
|
gsl__check_type() {
|
||||||
echo -ne "\r\033[2K: Searching for Post TYPE..."
|
echo -ne "\r\033[2K: Searching for Post TYPE..."
|
||||||
|
|
||||||
|
@ -93,24 +95,22 @@ case "$gsl_post_type" in
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
#=======================================================================
|
#======================================================================
|
||||||
# Check for paragraphs ( and )
|
# Check for paragraphs ( and ) | $1: File
|
||||||
#=======================================================================
|
#======================================================================
|
||||||
gsl__check_paragraphs() {
|
gsl__check_paragraphs() {
|
||||||
echo -ne "\r\033[2K: Searching for Paragraphs..."
|
echo -ne "\r\033[2K: Searching for Paragraphs..."
|
||||||
|
|
||||||
gsl_post_p_open=`
|
gsl_post_p_open=`
|
||||||
awk -v line="$gsl_post_begin" \
|
awk -v op="$gsl_mo_p" \
|
||||||
-v op="$gsl_mo_p" \
|
'$1 == op' \
|
||||||
'NR > line && $1 == op' \
|
"$1" \
|
||||||
"$gsl_post" \
|
|
||||||
| wc -l`
|
| wc -l`
|
||||||
|
|
||||||
gsl_post_p_close=`
|
gsl_post_p_close=`
|
||||||
awk -v line="$gsl_post_begin" \
|
awk -v cp="$gsl_mc_p" \
|
||||||
-v cp="$gsl_mc_p" \
|
'$1 == cp' \
|
||||||
'NR > line && $1 == cp' \
|
"$1" \
|
||||||
"$gsl_post" \
|
|
||||||
| wc -l`
|
| wc -l`
|
||||||
|
|
||||||
if (( "$gsl_post_p_open" == 0 ));then
|
if (( "$gsl_post_p_open" == 0 ));then
|
||||||
|
@ -144,17 +144,16 @@ else
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
#=======================================================================
|
#======================================================================
|
||||||
# Check for blockquotes: ---
|
# Check for blockquotes: --- | $1: File
|
||||||
#=======================================================================
|
#======================================================================
|
||||||
gsl__check_blockquote() {
|
gsl__check_blockquote() {
|
||||||
echo -ne "\r\033[2K: Searching for BLOCKQUOTEs..."
|
echo -ne "\r\033[2K: Searching for BLOCKQUOTEs..."
|
||||||
|
|
||||||
gsl_post_blockquotes_nbr=`
|
gsl_post_blockquotes_nbr=`
|
||||||
awk -v line="$gsl_post_begin" \
|
awk -v bq="$gsl_mark_blockquote" \
|
||||||
-v bq="$gsl_mark_blockquote" \
|
'$1 == bq' \
|
||||||
'NR > line && $1 == bq' \
|
"$1" \
|
||||||
"$gsl_post" \
|
|
||||||
| wc -l`
|
| wc -l`
|
||||||
|
|
||||||
gsl_post_blockquotes_nbr_r=$(( $gsl_post_blockquotes_nbr % 2 ))
|
gsl_post_blockquotes_nbr_r=$(( $gsl_post_blockquotes_nbr % 2 ))
|
||||||
|
@ -439,21 +438,19 @@ else
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#======================================================================
|
||||||
|
# Stat: Count words
|
||||||
|
#======================================================================
|
||||||
|
gsl__stat_words() {
|
||||||
|
echo -ne "\r\033[2K: Counting Words..."
|
||||||
|
gsl_stat_words=`cat "$1" | wc -w`
|
||||||
|
|
||||||
|
gsl_stat_words=$(( $gsl_stat_words - 2*$gsl_stat_p ))
|
||||||
|
}
|
||||||
|
|
||||||
|
#======================================================================
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#=======================================================================
|
|
||||||
# Check Post for MISSING & VALID Content HEADERS
|
# Check Post for MISSING & VALID Content HEADERS
|
||||||
#=======================================================================
|
#======================================================================
|
||||||
gsl__check_headers() {
|
gsl__check_headers() {
|
||||||
echo -ne "\r\033[2K: Searching HEADERS..."
|
echo -ne "\r\033[2K: Searching HEADERS..."
|
||||||
#--------------------------------
|
#--------------------------------
|
||||||
|
@ -559,92 +556,3 @@ if ! [[ "$gsl_slug_err" ]];then
|
||||||
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
#=======================================================================
|
|
||||||
# Check and count MARKERS content (Strong, links...)
|
|
||||||
#=======================================================================
|
|
||||||
gsl__post_check_markers() {
|
|
||||||
gsl_markers_nbr=$(( ${#gsl_o_markers[@]} - 1 ))
|
|
||||||
gsl_post_stat_m=(0 0 0 0 0 0)
|
|
||||||
|
|
||||||
while read -r "gsl_post_line"
|
|
||||||
do
|
|
||||||
gsl_line_nbr=`awk -F":" '{print $1}' <<< $gsl_post_line`
|
|
||||||
|
|
||||||
for gsl_i in `seq 0 $gsl_markers_nbr`
|
|
||||||
do
|
|
||||||
if [[ "$gsl_post_line" =~ ${gsl_o_markers[gsl_i]} ]];then
|
|
||||||
# Open Marker by Type
|
|
||||||
gsl_o=`
|
|
||||||
grep -o "${gsl_o_markers[gsl_i]}" \
|
|
||||||
<<< $gsl_post_line \
|
|
||||||
| wc -l`
|
|
||||||
# Close Marker by Type
|
|
||||||
gsl_c=`
|
|
||||||
grep -o "${gsl_c_markers[gsl_i]}" \
|
|
||||||
<<< $gsl_post_line \
|
|
||||||
| wc -l`
|
|
||||||
|
|
||||||
# Strong Vs Bold | 2= **_ / 3= *_ in array
|
|
||||||
if (( $gsl_i == 2 ));then
|
|
||||||
gsl_oS=$gsl_o # Open Strong marker nbr
|
|
||||||
gsl_cS=$gsl_c # Close Strong marker nbr
|
|
||||||
|
|
||||||
elif (( $gsl_i == 3 ));then
|
|
||||||
# Count difference from Strong
|
|
||||||
if (( $gsl_oS ));then
|
|
||||||
gsl_o=$(( $gsl_o - $gsl_oS ))
|
|
||||||
unset gsl_oS
|
|
||||||
fi
|
|
||||||
if (( $gsl_cS ));then
|
|
||||||
gsl_c=$(( $gsl_c - $gsl_cS ))
|
|
||||||
unset gsl_cS
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Compare
|
|
||||||
if ! (( $gsl_o == $gsl_c ));then
|
|
||||||
gsl__logs_print \
|
|
||||||
"$gsl_log_e" \
|
|
||||||
"Post" \
|
|
||||||
"${gsl_i_markers[gsl_i]}" \
|
|
||||||
"Line:$gsl_line_nbr > Mismatch ${gsl_u_markers[gsl_i]}" \
|
|
||||||
"${PWD}/$gsl_post"
|
|
||||||
gsl_checker_err=true
|
|
||||||
else
|
|
||||||
gsl_post_stat_m[gsl_i]=$(( gsl_post_stat_m[gsl_i] + gsl_o ))
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done < <(awk -v line="$gsl_post_begin" \
|
|
||||||
'NR >= line {print NR":",$0}' \
|
|
||||||
"$gsl_post")
|
|
||||||
|
|
||||||
gsl_post_stat_mdb=${gsl_post_stat_m[@]}
|
|
||||||
|
|
||||||
# Show Counts in logs
|
|
||||||
for gsl_i in `seq 0 $gsl_markers_nbr`
|
|
||||||
do
|
|
||||||
if (( ${gsl_post_stat_m[gsl_i]} >= 1 ));then
|
|
||||||
gsl__logs_print \
|
|
||||||
"$gsl_log_i" \
|
|
||||||
"Post" \
|
|
||||||
"${gsl_i_markers[gsl_i]}" \
|
|
||||||
"NBR=${gsl_post_stat_m[gsl_i]} > ${gsl_u_markers[gsl_i]}" \
|
|
||||||
"${PWD}/$gsl_post"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
#=======================================================================
|
|
||||||
# Check for more STATS
|
|
||||||
#=======================================================================
|
|
||||||
gsl__post_check_stats() {
|
|
||||||
gsl_stat_words=`
|
|
||||||
awk -v l="$gsl_post_begin" \
|
|
||||||
'NR >= l' \
|
|
||||||
"$gsl_post" \
|
|
||||||
| wc -w`
|
|
||||||
|
|
||||||
gsl_stat_words=$(( $gsl_stat_words - 2*$gsl_stat_p ))
|
|
||||||
}
|
|
||||||
|
|
|
@ -17,22 +17,16 @@ gsl__all_makers() {
|
||||||
clear
|
clear
|
||||||
unset gsl_check_done
|
unset gsl_check_done
|
||||||
gsl__prepare_makers
|
gsl__prepare_makers
|
||||||
gsl__make_strongs
|
gsl__do_italics make "$gsl_tmp_post"
|
||||||
gsl__make_bolds
|
|
||||||
gsl__do_header make "$gsl_marker_link" "$gsl_tmp_post"
|
gsl__do_header make "$gsl_marker_link" "$gsl_tmp_post"
|
||||||
gsl__do_header make "$gsl_marker_abbr" "$gsl_tmp_post"
|
gsl__do_header make "$gsl_marker_abbr" "$gsl_tmp_post"
|
||||||
gsl__make_titles
|
gsl__make_titles
|
||||||
|
|
||||||
gsl_ct=0 && gsl__make_titles_div_open
|
gsl_ct=0 && gsl__make_titles_div_open
|
||||||
gsl_ct=0 && gsl__make_titles_div_close
|
gsl_ct=0 && gsl__make_titles_div_close
|
||||||
|
gsl__do_strongs_bolds make "$gsl_tmp_post"
|
||||||
#echo -ne "\r\033[2K: Searching and converting lists..."
|
|
||||||
#gsl__make_lists
|
|
||||||
echo -ne "\r\033[2K: Searching and converting Paragraphs..."
|
|
||||||
gsl__make_paragraphs
|
gsl__make_paragraphs
|
||||||
|
gsl__do_icode make "$gsl_tmp_post"
|
||||||
|
|
||||||
#echo -ne "\r\033[2K: Searching and converting Inline-Codes..."
|
|
||||||
#gsl__make_inline_codes
|
|
||||||
#echo -ne "\r\033[2K: Searching and converting Block-Codes..."
|
#echo -ne "\r\033[2K: Searching and converting Block-Codes..."
|
||||||
#gsl__check_bcodes
|
#gsl__check_bcodes
|
||||||
|
|
||||||
|
@ -44,8 +38,7 @@ echo -ne "\r\033[2K"
|
||||||
rm -f "$gsl_tmp_post"
|
rm -f "$gsl_tmp_post"
|
||||||
|
|
||||||
# Create HTML Page using gsl_a11y_post
|
# Create HTML Page using gsl_a11y_post
|
||||||
clear
|
# cat "$gsl_a11y_post"
|
||||||
cat "$gsl_a11y_post"
|
|
||||||
gsl__page_creator
|
gsl__page_creator
|
||||||
|
|
||||||
# No more Needed a11y post
|
# No more Needed a11y post
|
||||||
|
@ -88,13 +81,7 @@ gsl__get_needed_headers
|
||||||
|
|
||||||
# Get extra Headers DATAS
|
# Get extra Headers DATAS
|
||||||
gsl_header_images=`gsl__get_header "$gsl_marker_image" "$gsl_post"`
|
gsl_header_images=`gsl__get_header "$gsl_marker_image" "$gsl_post"`
|
||||||
|
gsl__post_content_only
|
||||||
# Create TMP file from CONTENT
|
|
||||||
gsl_tmp_post=`mktemp`
|
|
||||||
awk -v l="$gsl_post_begin" \
|
|
||||||
'NR >= l' \
|
|
||||||
"$gsl_post" \
|
|
||||||
> "$gsl_tmp_post"
|
|
||||||
|
|
||||||
# Code readability a11y
|
# Code readability a11y
|
||||||
gsl_a11y_post=`mktemp`
|
gsl_a11y_post=`mktemp`
|
||||||
|
@ -150,91 +137,8 @@ echo -ne "\r\033[2K: Converting... Line:$gsl_line_nbr $gsl_html_word"
|
||||||
sed -i "s|$gsl_word_replace|$gsl_html_word|" "$gsl_tmp_post"
|
sed -i "s|$gsl_word_replace|$gsl_html_word|" "$gsl_tmp_post"
|
||||||
unset ${!gsl_word@} ${!gsl_html@}
|
unset ${!gsl_word@} ${!gsl_html@}
|
||||||
}
|
}
|
||||||
#======================================================================
|
|
||||||
# From gsl__all_header: Make Strongs
|
|
||||||
#======================================================================
|
|
||||||
gsl__make_strongs() {
|
|
||||||
while read -r "gsl_line_nbr" "gsl_word"
|
|
||||||
do
|
|
||||||
case "$gsl_word" in
|
|
||||||
# STRONG
|
|
||||||
"**"*"**"*|*"**"*"**"*)
|
|
||||||
gsl_word=${gsl_word#*'**'}
|
|
||||||
gsl_word=${gsl_word%'**'*}
|
|
||||||
gsl_word_replace='\*\*'"$gsl_word"'\*\*'
|
|
||||||
gsl_html_word="<strong>$gsl_word</strong>"
|
|
||||||
gsl_make_sb_show
|
|
||||||
;;
|
|
||||||
|
|
||||||
"**"*"**")
|
|
||||||
gsl_html_word="<strong>${gsl_word//'**'/}</strong>"
|
|
||||||
gsl_word_replace='\*\*'"$gsl_word"'\*\*'
|
|
||||||
gsl_make_sb_show
|
|
||||||
;;
|
|
||||||
|
|
||||||
"**"*)
|
|
||||||
gsl_word=${gsl_word#'**'*}
|
|
||||||
gsl_html_word="<strong>$gsl_word"
|
|
||||||
gsl_word_replace='\*\*'"$gsl_word"
|
|
||||||
gsl_make_sb_show
|
|
||||||
;;
|
|
||||||
|
|
||||||
*"**")
|
|
||||||
gsl_word=${gsl_word%'**'*}
|
|
||||||
gsl_html_word="${gsl_word//'**'/}</strong>"
|
|
||||||
gsl_word_replace="$gsl_word"'\*\*'
|
|
||||||
gsl_make_sb_show
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
continue
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done < <(awk '{for(i=1;i<=NF;i++) {print NR, $i}}' "$gsl_tmp_post")
|
|
||||||
}
|
|
||||||
|
|
||||||
#======================================================================
|
|
||||||
# From gsl__all_header: Make Bolds
|
|
||||||
#======================================================================
|
|
||||||
gsl__make_bolds() {
|
|
||||||
while read -r "gsl_line_nbr" "gsl_word"
|
|
||||||
do
|
|
||||||
case "$gsl_word" in
|
|
||||||
# STRONG
|
|
||||||
"*"*"*"*|*"*"*"*"*)
|
|
||||||
gsl_word=${gsl_word#*'*'}
|
|
||||||
gsl_word=${gsl_word%'*'*}
|
|
||||||
gsl_word_replace='\*'"$gsl_word"'\*'
|
|
||||||
gsl_html_word="<b>$gsl_word</b>"
|
|
||||||
gsl_make_sb_show
|
|
||||||
;;
|
|
||||||
|
|
||||||
"*"*"*")
|
|
||||||
gsl_html_word="<b>${gsl_word//'*'/}</b>"
|
|
||||||
gsl_word_replace='\*'"$gsl_word"'\*'
|
|
||||||
gsl_make_sb_show
|
|
||||||
;;
|
|
||||||
|
|
||||||
"*"*)
|
|
||||||
gsl_word=${gsl_word#'*'*}
|
|
||||||
gsl_html_word="<b>$gsl_word"
|
|
||||||
gsl_word_replace='\*'"$gsl_word"
|
|
||||||
gsl_make_sb_show
|
|
||||||
;;
|
|
||||||
|
|
||||||
*"*")
|
|
||||||
gsl_word=${gsl_word%'*'*}
|
|
||||||
gsl_html_word="${gsl_word//'*'/}</b>"
|
|
||||||
gsl_word_replace="$gsl_word"'\*'
|
|
||||||
gsl_make_sb_show
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
continue
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done < <(awk '{for(i=1;i<=NF;i++) {print NR, $i}}' "$gsl_tmp_post")
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -396,6 +300,8 @@ gsl_html_par_o2="<p class=\"${gsl_site_css}_paragraph-2\">"
|
||||||
gsl_html_par_o3="<p class=\"${gsl_site_css}_paragraph-3\">"
|
gsl_html_par_o3="<p class=\"${gsl_site_css}_paragraph-3\">"
|
||||||
gsl_html_par_c="</p>"
|
gsl_html_par_c="</p>"
|
||||||
|
|
||||||
|
echo -ne "\r\033[2K: Searching and converting Paragraphs..."
|
||||||
|
|
||||||
while read -r "gsl_content_line_nbr" "gsl_content_line"
|
while read -r "gsl_content_line_nbr" "gsl_content_line"
|
||||||
do
|
do
|
||||||
case "$gsl_content_line" in
|
case "$gsl_content_line" in
|
||||||
|
|
|
@ -111,9 +111,9 @@ gsl_nbr_posts=`ls -1 *.gsl 2>/dev/null | wc -l`
|
||||||
&& exit 1
|
&& exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
#=======================================================================
|
#======================================================================
|
||||||
# Check if Post has same Hash
|
# Check if Post has same Hash
|
||||||
#=======================================================================
|
#======================================================================
|
||||||
gsl__post_compare_hash() {
|
gsl__post_compare_hash() {
|
||||||
gsl__db_post_hash
|
gsl__db_post_hash
|
||||||
|
|
||||||
|
@ -173,165 +173,13 @@ case "$gsl_process" in
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
#-----------------------------------------------------------------------
|
#======================================================================
|
||||||
# --------------
|
# Create TMP file > Get Content Post Only (after #1)
|
||||||
# Tools for Post
|
#======================================================================
|
||||||
# --------------
|
gsl__post_content_only() {
|
||||||
#-----------------------------------------------------------------------
|
gsl_tmp_post=`mktemp`
|
||||||
|
awk -v l="$gsl_post_begin" \
|
||||||
#=======================================================================
|
'NR >= l' \
|
||||||
# Get Post Hash
|
"$gsl_post" \
|
||||||
#=======================================================================
|
> "$gsl_tmp_post"
|
||||||
gsl__post_hash_size() {
|
|
||||||
gsl_post_csum=`cksum "$gsl_post"`
|
|
||||||
gsl_post_hash=`awk '{print $1}' <<< "$gsl_post_csum"`
|
|
||||||
gsl_post_size=`awk '{print $2}' <<< "$gsl_post_csum"`
|
|
||||||
}
|
|
||||||
|
|
||||||
#=======================================================================
|
|
||||||
# Get line nbr from Post... $1: TERM | $2: File
|
|
||||||
#=======================================================================
|
|
||||||
gsl__get_line() {
|
|
||||||
awk -v s="$1" \
|
|
||||||
'match($0,s) {print NR}' \
|
|
||||||
"$2"
|
|
||||||
}
|
|
||||||
|
|
||||||
#=======================================================================
|
|
||||||
# Get everything after the marker... $1: marker | $2: File
|
|
||||||
#=======================================================================
|
|
||||||
gsl__get_header() {
|
|
||||||
awk -F"$1" -v marker="$1" -v l="$gsl_post_begin" \
|
|
||||||
'NR < l && $0 ~ marker {print $2}' \
|
|
||||||
"$2" 2>/dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
#=======================================================================
|
|
||||||
# Get line nbr from CONTENT Post... $1: TERM | $2: File
|
|
||||||
#=======================================================================
|
|
||||||
gsl__get_content_line() {
|
|
||||||
awk -v l="$gsl_post_begin" -v s="$1" \
|
|
||||||
'NR >= l && $0 ~ s {print NR}' \
|
|
||||||
"$2" || return
|
|
||||||
}
|
|
||||||
|
|
||||||
#=======================================================================
|
|
||||||
# Get CONTENT Post with markers... $1: Open Marker | $2: Close Marker
|
|
||||||
#=======================================================================
|
|
||||||
gsl__get_content_with_markers() {
|
|
||||||
gsl__get_content_finder \
|
|
||||||
-o "$1" \
|
|
||||||
-b "$gsl_post_header_field_1" \
|
|
||||||
-c "$2" \
|
|
||||||
-f "$gsl_post" \
|
|
||||||
| tail -1 \
|
|
||||||
|| return
|
|
||||||
}
|
|
||||||
|
|
||||||
#=======================================================================
|
|
||||||
# Get CONTENT with marks | ! find from ONE line content
|
|
||||||
#=======================================================================
|
|
||||||
gsl__get_content_finder() {
|
|
||||||
# Get [OPTs]
|
|
||||||
while (( "$#" ))
|
|
||||||
do
|
|
||||||
case "$1" in
|
|
||||||
-o) mk_o="$2" ;; # Open marker
|
|
||||||
-c) mk_c="$2" ;; # Close Marker
|
|
||||||
-b) mk_b="$2" ;; # Between markers
|
|
||||||
-f) file="$2" ;; # In whole file
|
|
||||||
-v) ivar="$2" ;; # In variable
|
|
||||||
-n) line="n" ;; # Give found line number
|
|
||||||
esac
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
! [[ "$file" ]] && ! [[ "$ivar" ]] && return 1
|
|
||||||
! [[ "$mk_o" ]] && ! [[ "$mk_c" ]] && return 1
|
|
||||||
! [[ "$mk_b" ]] && mk_b='.*'
|
|
||||||
|
|
||||||
if [[ "$file" ]];then
|
|
||||||
grep -oP$line "(?<=$mk_o)$mk_b?(?=$mk_c)" "$file" && return
|
|
||||||
elif [[ "$ivar" ]];then
|
|
||||||
grep -oP$line "(?<=$mk_o)$mk_b?(?=$mk_c)" <<< "$ivar" && return
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
#=======================================================================
|
|
||||||
# Get NEEDED HEADERS | $1 VAR CONTENT $2 LOG Proc $3 LOG Act
|
|
||||||
#=======================================================================
|
|
||||||
gsl__check_needed_headers() {
|
|
||||||
! [[ "$1" ]] \
|
|
||||||
&& gsl__logs_print \
|
|
||||||
"$gsl_log_e" \
|
|
||||||
"Post" \
|
|
||||||
"Header $2" \
|
|
||||||
"Missing: $3" \
|
|
||||||
"${PWD}/$gsl_post" \
|
|
||||||
&& gsl_checker_err=true
|
|
||||||
}
|
|
||||||
|
|
||||||
#=======================================================================
|
|
||||||
# Get fields from variable... $1: field | $2: variable
|
|
||||||
#=======================================================================
|
|
||||||
gsl__get_header_field() {
|
|
||||||
awk -F" : " -v f="$1" \
|
|
||||||
'NFS=f {print $NFS}' \
|
|
||||||
<<< "$2"
|
|
||||||
}
|
|
||||||
|
|
||||||
#=======================================================================
|
|
||||||
# Get HEADER Fields + line nbr $1:marker
|
|
||||||
#=======================================================================
|
|
||||||
gsl__get_header_fields() {
|
|
||||||
gsl_post_hf_1=`gsl__get_header_field 1 "$gsl_header_content_line"`
|
|
||||||
gsl_post_hf_2=`gsl__get_header_field 2 "$gsl_header_content_line"`
|
|
||||||
gsl_post_hf_3=`gsl__get_header_field 3 "$gsl_header_content_line"`
|
|
||||||
gsl_post_hf_l=`gsl__get_line "$1$gsl_post_hf_1" "$gsl_post"`
|
|
||||||
}
|
|
||||||
|
|
||||||
#=======================================================================
|
|
||||||
# Check NEEDED Fields from HEADER
|
|
||||||
#=======================================================================
|
|
||||||
gsl__check_header_fields() {
|
|
||||||
if ! [[ "$gsl_post_hf_1" ]] || \
|
|
||||||
! [[ "$gsl_post_hf_2" ]];then
|
|
||||||
|
|
||||||
gsl__logs_print \
|
|
||||||
"$gsl_log_e" \
|
|
||||||
"$1" \
|
|
||||||
"$2" \
|
|
||||||
"Line:$gsl_post_hf_l > $3" \
|
|
||||||
"${PWD}/$gsl_post"
|
|
||||||
gsl_checker_err=true
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
#=======================================================================
|
|
||||||
# Check OPTIONAL Field 3 from HEADER
|
|
||||||
#=======================================================================
|
|
||||||
gsl__check_header_field3() {
|
|
||||||
if ! [[ "$gsl_post_header_field_3" ]];then
|
|
||||||
case "$3" in
|
|
||||||
"$gsl_marker_image")
|
|
||||||
gsl__logs_print \
|
|
||||||
"$gsl_log_e" \
|
|
||||||
"$1" \
|
|
||||||
"$2" \
|
|
||||||
"Line:$gsl_post_hf_l > No ALT TEXT !" \
|
|
||||||
"${PWD}/$gsl_post"
|
|
||||||
gsl_checker_err=true
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
gsl__logs_print \
|
|
||||||
"$gsl_log_w" \
|
|
||||||
"$1" \
|
|
||||||
"$2" \
|
|
||||||
"Line:$gsl_post_hf_l > No Alt Text ?" \
|
|
||||||
"${PWD}/$gsl_post"
|
|
||||||
gsl_checker_war=true
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -108,3 +108,166 @@ do
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# --------------
|
||||||
|
# Tools for Post
|
||||||
|
# --------------
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
#=======================================================================
|
||||||
|
# Get Post Hash
|
||||||
|
#=======================================================================
|
||||||
|
gsl__post_hash_size() {
|
||||||
|
gsl_post_csum=`cksum "$gsl_post"`
|
||||||
|
gsl_post_hash=`awk '{print $1}' <<< "$gsl_post_csum"`
|
||||||
|
gsl_post_size=`awk '{print $2}' <<< "$gsl_post_csum"`
|
||||||
|
}
|
||||||
|
|
||||||
|
#=======================================================================
|
||||||
|
# Get line nbr from Post... $1: TERM | $2: File
|
||||||
|
#=======================================================================
|
||||||
|
gsl__get_line() {
|
||||||
|
awk -v s="$1" \
|
||||||
|
'match($0,s) {print NR}' \
|
||||||
|
"$2"
|
||||||
|
}
|
||||||
|
|
||||||
|
#=======================================================================
|
||||||
|
# Get everything after the marker... $1: marker | $2: File
|
||||||
|
#=======================================================================
|
||||||
|
gsl__get_header() {
|
||||||
|
awk -F"$1" -v marker="$1" -v l="$gsl_post_begin" \
|
||||||
|
'NR < l && $0 ~ marker {print $2}' \
|
||||||
|
"$2" 2>/dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
#=======================================================================
|
||||||
|
# Get line nbr from CONTENT Post... $1: TERM | $2: File
|
||||||
|
#=======================================================================
|
||||||
|
gsl__get_content_line() {
|
||||||
|
awk -v l="$gsl_post_begin" -v s="$1" \
|
||||||
|
'NR >= l && $0 ~ s {print NR}' \
|
||||||
|
"$2" || return
|
||||||
|
}
|
||||||
|
|
||||||
|
#=======================================================================
|
||||||
|
# Get CONTENT Post with markers... $1: Open Marker | $2: Close Marker
|
||||||
|
#=======================================================================
|
||||||
|
gsl__get_content_with_markers() {
|
||||||
|
gsl__get_content_finder \
|
||||||
|
-o "$1" \
|
||||||
|
-b "$gsl_post_header_field_1" \
|
||||||
|
-c "$2" \
|
||||||
|
-f "$gsl_post" \
|
||||||
|
| tail -1 \
|
||||||
|
|| return
|
||||||
|
}
|
||||||
|
|
||||||
|
#=======================================================================
|
||||||
|
# Get CONTENT with marks | ! find from ONE line content
|
||||||
|
#=======================================================================
|
||||||
|
gsl__get_content_finder() {
|
||||||
|
# Get [OPTs]
|
||||||
|
while (( "$#" ))
|
||||||
|
do
|
||||||
|
case "$1" in
|
||||||
|
-o) mk_o="$2" ;; # Open marker
|
||||||
|
-c) mk_c="$2" ;; # Close Marker
|
||||||
|
-b) mk_b="$2" ;; # Between markers
|
||||||
|
-f) file="$2" ;; # In whole file
|
||||||
|
-v) ivar="$2" ;; # In variable
|
||||||
|
-n) line="n" ;; # Give found line number
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
! [[ "$file" ]] && ! [[ "$ivar" ]] && return 1
|
||||||
|
! [[ "$mk_o" ]] && ! [[ "$mk_c" ]] && return 1
|
||||||
|
! [[ "$mk_b" ]] && mk_b='.*'
|
||||||
|
|
||||||
|
if [[ "$file" ]];then
|
||||||
|
grep -oP$line "(?<=$mk_o)$mk_b?(?=$mk_c)" "$file" && return
|
||||||
|
elif [[ "$ivar" ]];then
|
||||||
|
grep -oP$line "(?<=$mk_o)$mk_b?(?=$mk_c)" <<< "$ivar" && return
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
#=======================================================================
|
||||||
|
# Get NEEDED HEADERS | $1 VAR CONTENT $2 LOG Proc $3 LOG Act
|
||||||
|
#=======================================================================
|
||||||
|
gsl__check_needed_headers() {
|
||||||
|
! [[ "$1" ]] \
|
||||||
|
&& gsl__logs_print \
|
||||||
|
"$gsl_log_e" \
|
||||||
|
"Post" \
|
||||||
|
"Header $2" \
|
||||||
|
"Missing: $3" \
|
||||||
|
"${PWD}/$gsl_post" \
|
||||||
|
&& gsl_checker_err=true
|
||||||
|
}
|
||||||
|
|
||||||
|
#=======================================================================
|
||||||
|
# Get fields from variable... $1: field | $2: variable
|
||||||
|
#=======================================================================
|
||||||
|
gsl__get_header_field() {
|
||||||
|
awk -F" : " -v f="$1" \
|
||||||
|
'NFS=f {print $NFS}' \
|
||||||
|
<<< "$2"
|
||||||
|
}
|
||||||
|
|
||||||
|
#=======================================================================
|
||||||
|
# Get HEADER Fields + line nbr $1:marker
|
||||||
|
#=======================================================================
|
||||||
|
gsl__get_header_fields() {
|
||||||
|
gsl_post_hf_1=`gsl__get_header_field 1 "$gsl_header_content_line"`
|
||||||
|
gsl_post_hf_2=`gsl__get_header_field 2 "$gsl_header_content_line"`
|
||||||
|
gsl_post_hf_3=`gsl__get_header_field 3 "$gsl_header_content_line"`
|
||||||
|
gsl_post_hf_l=`gsl__get_line "$1$gsl_post_hf_1" "$gsl_post"`
|
||||||
|
}
|
||||||
|
|
||||||
|
#=======================================================================
|
||||||
|
# Check NEEDED Fields from HEADER
|
||||||
|
#=======================================================================
|
||||||
|
gsl__check_header_fields() {
|
||||||
|
if ! [[ "$gsl_post_hf_1" ]] || \
|
||||||
|
! [[ "$gsl_post_hf_2" ]];then
|
||||||
|
|
||||||
|
gsl__logs_print \
|
||||||
|
"$gsl_log_e" \
|
||||||
|
"$1" \
|
||||||
|
"$2" \
|
||||||
|
"Line:$gsl_post_hf_l > $3" \
|
||||||
|
"${PWD}/$gsl_post"
|
||||||
|
gsl_checker_err=true
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
#=======================================================================
|
||||||
|
# Check OPTIONAL Field 3 from HEADER
|
||||||
|
#=======================================================================
|
||||||
|
gsl__check_header_field3() {
|
||||||
|
if ! [[ "$gsl_post_header_field_3" ]];then
|
||||||
|
case "$3" in
|
||||||
|
"$gsl_marker_image")
|
||||||
|
gsl__logs_print \
|
||||||
|
"$gsl_log_e" \
|
||||||
|
"$1" \
|
||||||
|
"$2" \
|
||||||
|
"Line:$gsl_post_hf_l > No ALT TEXT !" \
|
||||||
|
"${PWD}/$gsl_post"
|
||||||
|
gsl_checker_err=true
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
gsl__logs_print \
|
||||||
|
"$gsl_log_w" \
|
||||||
|
"$1" \
|
||||||
|
"$2" \
|
||||||
|
"Line:$gsl_post_hf_l > No Alt Text ?" \
|
||||||
|
"${PWD}/$gsl_post"
|
||||||
|
gsl_checker_war=true
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue