Add TYPE page/post ; In DB if no post error

This commit is contained in:
Cyrille L 2022-02-17 11:03:25 +01:00
parent 470757fb89
commit 332f1feb17
9 changed files with 87 additions and 16 deletions

View File

@ -112,6 +112,22 @@ date: YYYY-MM-DD
tags: TAG1,OTHER TAG2,TAG3 (comma separated) tags: TAG1,OTHER TAG2,TAG3 (comma separated)
``` ```
### Admin Header
Admin can define specific type of content. If no type defined, GSL will
add at first line the default value: "type: post".
TYPE:
- post < classic content
- page < used to define main index, 404, about...
```
type: TYPE
```
GSL will create html file according to slug. Do not add .html to slug.
- post < /slug/index.html
- page < /slug.html
## Optional HEADERS (before #1) ## Optional HEADERS (before #1)
Register METAs for CONTENT. " : " field separator Register METAs for CONTENT. " : " field separator

View File

@ -39,9 +39,6 @@ gsl_filename_auth="authors.db"
#======================================================================= #=======================================================================
# GSL Internal Configuration # GSL Internal Configuration
#======================================================================= #=======================================================================
# Reserved 10 posts ID (Home, about...)
gsl_post_min_ID=10
# minimum size to check a post # minimum size to check a post
gsl_post_min_size=800 gsl_post_min_size=800
@ -157,7 +154,8 @@ gsl_u_markers=(
#----------------------------------------------------------------------- #-----------------------------------------------------------------------
# Set HEADERS markers # Set HEADERS markers
#----------------------------------------------------------------------- #-----------------------------------------------------------------------
gsl_marker_ID='ID: ' # type: page / post
gsl_marker_type='type: '
gsl_marker_title='title: ' gsl_marker_title='title: '
gsl_marker_slug='slug: ' gsl_marker_slug='slug: '
gsl_marker_info='info: ' gsl_marker_info='info: '

View File

@ -9,4 +9,4 @@ _gsl_completions()
return 0 return 0
} }
complete -F _gsl_completions gsl complete -F _gsl_completions 'gsl'

View File

@ -112,6 +112,22 @@ date: YYYY-MM-DD
tags: TAG1,OTHER TAG2,TAG3 (comma separated) tags: TAG1,OTHER TAG2,TAG3 (comma separated)
``` ```
### Admin Header
Admin can define specific type of content. If no type defined, GSL will
add at first line the default value: "type: post".
TYPE:
- post < classic content
- page < used to define main index, 404, about...
```
type: TYPE
```
GSL will create html file according to slug. Do not add .html to slug.
- post < /slug/index.html
- page < /slug.html
## Optional HEADERS (before #1) ## Optional HEADERS (before #1)
Register METAs for CONTENT. " : " field separator Register METAs for CONTENT. " : " field separator

View File

@ -17,6 +17,22 @@ date: YYYY-MM-DD
tags: TAG1,OTHER TAG2,TAG3 (comma separated) tags: TAG1,OTHER TAG2,TAG3 (comma separated)
``` ```
### Admin Header
Admin can define specific type of content. If no type defined, GSL will
add at first line the default value: "type: post".
TYPE:
- post < classic content
- page < used to define main index, 404, about...
```
type: TYPE
```
GSL will create html file according to slug. Do not add .html to slug.
- post < /slug/index.html
- page < /slug.html
## Optional HEADERS (before #1) ## Optional HEADERS (before #1)
Register METAs for CONTENT. " : " field separator Register METAs for CONTENT. " : " field separator

View File

@ -31,7 +31,7 @@ case "$gsl_process" in
Checked) Checked)
gsl_db_line=` gsl_db_line=`
printf '%s%s%s%s%s\n' \ printf '%s%s%s%s%s\n' \
"$gsl_post_ID 1|" \ "$gsl_post_type|" \
"$gsl_post|" \ "$gsl_post|" \
"$gsl_post_hash|" \ "$gsl_post_hash|" \
"$gsl_post_size|" \ "$gsl_post_size|" \

View File

@ -10,11 +10,14 @@
gsl__post_all_checkers() { gsl__post_all_checkers() {
clear clear
unset gsl_check_done unset gsl_check_done
gsl_process="Checked"
echo -ne "\r\033[2K: Searching for #1..."
echo -ne "Searching for #1..."
gsl__post_check_h1 || return gsl__post_check_h1 || return
echo -n ": Searching for NEEDED HEADERS..." echo -n "\r\033[2K: : Searching for NEEDED HEADERS..."
gsl__post_check_needed_headers gsl__post_check_needed_headers
echo -n "\r\033[2K: : Searching for Post TYPE..."
gsl__post_check_type
echo -ne "\r\033[2K: Searching for PARAGRAPHS" echo -ne "\r\033[2K: Searching for PARAGRAPHS"
gsl__post_check_paragraphs gsl__post_check_paragraphs
echo -ne "\r\033[2K: Searching for Content MARKERS..." echo -ne "\r\033[2K: Searching for Content MARKERS..."
@ -39,7 +42,10 @@ echo -ne "\r\033[2K"
&& gsl log -s -w && gsl log -s -w
[[ "$gsl_checker_err" ]] \ [[ "$gsl_checker_err" ]] \
&& gsl log -s -e && gsl log -s -e \
&& return
gsl__db_line_post
} }
#======================================================================= #=======================================================================
@ -165,6 +171,29 @@ if ! [[ "$gsl_post_begin" ]];then
fi fi
} }
#=======================================================================
# Check/Set for Post ID
#=======================================================================
gsl__post_check_type() {
if [[ `awk -v m="$gsl_marker_type" -v l="$gsl_post_begin" \
'NR < l && $0 ~ m' \
"$gsl_post"` ]];then
gsl_post_type=`gsl__get_header "$gsl_marker_type" "$gsl_post"`
# No ID found
case "$gsl_post_type" in
page|post) true ;;
*)
sed -i "s|$gsl_marker_type.*|${gsl_marker_type}post|" \
"$gsl_post"
;;
esac
else
sed -i "1i${gsl_marker_type}post" \
"$gsl_post"
fi
}
#======================================================================= #=======================================================================
# Check for paragraphs ( and ) # Check for paragraphs ( and )
#======================================================================= #=======================================================================

View File

@ -58,11 +58,8 @@ do
"Post" \ "Post" \
"$gsl_post" \ "$gsl_post" \
"${PWD}" "${PWD}"
gsl__post_all_checkers
# No error: Check/Write to DB (posts.db)
gsl_process="Checked" gsl_process="Checked"
gsl__db_line_post gsl__post_all_checkers
;; ;;
make) make)

View File

@ -46,8 +46,7 @@ for gsl_file in "$gsl_file_logs" \
"$gsl_file_db_stats" \ "$gsl_file_db_stats" \
"$gsl_file_db_domains" "$gsl_file_db_domains"
do do
gsl__check_file "$gsl_file" || \ gsl__check_file "$gsl_file" && touch "$gsl_file"
touch "$gsl_file"
done done
} }