New RSS file + fixes

This commit is contained in:
Cyrille L 2022-06-18 12:16:52 +02:00
parent 1ecacef016
commit 2e9ae902fd
9 changed files with 111 additions and 19 deletions

View File

@ -4,6 +4,18 @@ GSL changes from releases. You can send an issue :
- repo: https://git.a-lec.org/echolib/gsl/-/issues
- Contact xmpp: im@echolib.re
## [0.0.93]
### New
- Basic RSS feed created at each www (COMMAND)
- - on root server: /DOMAIN/www/rss.xml
- Basic footer with new list (added RSS feed).
- - Do not forget to add link in your footer, to /rss.xml
### Fix
- www add: when type is post
- log: field "server" for WIP
## [0.0.92]
### Fix
- make: must not use -F if article has changed

View File

@ -1,4 +1,4 @@
## [0.0.92]
## [0.0.93]
## Please, see help (and documentations in help folder)
@ -15,6 +15,10 @@
- - author,new,setdir: gsl__domain_manager
- - edit: gsl__edit_file
- - stats: gsl__stats
- Basic RSS feed created at each www (COMMAND)
- - on root server: /DOMAIN/www/rss.xml
- Basic footer with new list (added RSS feed).
- - Do not forget to add link in your footer, to /rss.xml
### Installation
- new files:

View File

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

View File

@ -4,6 +4,18 @@ GSL changes from releases. You can send an issue :
- repo: https://git.a-lec.org/echolib/gsl/-/issues
- Contact xmpp: im@echolib.re
## [0.0.93]
### New
- Basic RSS feed created at each www (COMMAND)
- - on root server: /DOMAIN/www/rss.xml
- Basic footer with new list (added RSS feed).
- - Do not forget to add link in your footer, to /rss.xml
### Fix
- www add: when type is post
- log: field "server" for WIP
## [0.0.92]
### Fix
- make: must not use -F if article has changed

View File

@ -1,4 +1,4 @@
## [0.0.92]
## [0.0.93]
## Please, see help (and documentations in help folder)
@ -15,6 +15,10 @@
- - author,new,setdir: gsl__domain_manager
- - edit: gsl__edit_file
- - stats: gsl__stats
- Basic RSS feed created at each www (COMMAND)
- - on root server: /DOMAIN/www/rss.xml
- Basic footer with new list (added RSS feed).
- - Do not forget to add link in your footer, to /rss.xml
### Installation
- new files:

View File

@ -59,17 +59,13 @@ cat <<EOFOOTER > "$gsl_dir_domain_tpl/footer.html"
<div id="${site_css}_footer-about">
<p class="${site_css_footer-p}">
<a href="$site_url">
<b>$site_title</b>
</a>: $site_about
<br />
Contact: $site_mail
<br />
Copyright: $site_cr
<br />
$gsl_gen: <a href="https://git.a-lec.org/echolib/gsl" target="_blank">
<b>GSL: Statique Littérateur</b>
</a>
<ul>
<li><a href="$site_url"><b>$site_title</b></a>: $site_about</li>
<li>Contact: $site_mail</li>
<li>Copyright: $site_cr</li>
<li>$gsl_gen: <a href="https://git.a-lec.org/echolib/gsl" target="_blank"><b>GSL: Statique Littérateur</b></a></li>
<li>RSS: <a type="application/rss+xml" href="$site_url/rss.xml">$site_url/rss.xml</a></li>
</ul>
</p>
</div>
</footer>
@ -89,6 +85,7 @@ if [[ `grep -i "fr" <<<"$site_lang"` ]];then
gsl_the="Le"
gsl_by="par"
gsl_read="Lire l'article de"
gsl_rss_info="Tous les titres de"
else
gsl_welcome="Welcome page of"
@ -98,6 +95,7 @@ else
gsl_the="The"
gsl_by="by"
gsl_read="Read the post of"
gsl_rss_info="All titles from"
fi
}
@ -131,9 +129,11 @@ $(cat "$gsl_dir_domain_tpl/metas.html")
<meta name='keywords' content="$site_keys,$article_Tags">
<meta name='search_date' content="$article_Date">
<link rel="alternate" type="application/rss+xml" href="$site_url/rss.xml" title="RSS: $gsl_rss_info $site_title" />
<link rel="stylesheet" media="screen" href="${srv_uri}templates/styles.css" />
<link rel="shortcut icon" type="image/png" href="${srv_uri}templates/favicon.png" />
<link rel='me' type='text/html' href="$site_auth_url">
<title>$article_Title - $site_title</title>
</head>
@ -170,7 +170,7 @@ $(cat "$gsl_dir_domain_tpl/footer.html")
</html>
EOPAGE
gsl__logs_print -i -S -wip \
gsl__logs_print -i -srv -wip \
"Created HTML $article_Type" \
"$gsl_srv_post_wip"
}
@ -253,3 +253,61 @@ gsl__logs_print -i -s "$1" \
"Created" \
"$2"
}
#======================================================================
# ATOM/RSS Creator
# File is at root www server ; filename=rss.xml
# reverse sort time from DB | newest first
#======================================================================
create__RSS_feed() {
create__HTML_translation
rss_file="$gsl_srv_www/rss.xml"
cat <<EORSS > "$rss_file"
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>$site_title - $site_ndd - Flux RSS 2.0</title>
<link>$site_url</link>
<description>$gsl_rss_info $site_title</description>
<language>$site_lang</language>
<lastBuildDate>$(date)</lastBuildDate>
<copyright>$site_cr</copyright>
<webMaster>$site_mail</webMaster>
<generator>GSL: Statique Littérateur</generator>
EORSS
while IFS=: read -r "filename" "status"
do
source "$filename"
! (( $article_Status_www > 0 )) && continue
case "$article_Type" in
page) end_url="$article_Slug.html" ;;
post) end_url="$article_Slug/index.html" ;;
esac
cat <<EOITEM >> "$rss_file"
<item>
<title>$article_Title</title>
<link>$site_url/$end_url</link>
<guid>$site_url/$end_url</guid>
<pubDate>$(date -d @$article_epoch)</pubDate>
<description>$article_Info</description>
<author>$article_Author</author>
</item>
EOITEM
done < <(grep "article_epoch" "$gsl_dir_db_domain/"*.db | sort -t= -k2r)
cat <<EORSS >> "$rss_file"
</channel>
</rss>
EORSS
gsl__logs_print -i -srv -www \
"RSS feed updated" \
"$rss_file"
}

View File

@ -631,8 +631,7 @@ make__file_images() {
this_image=`grep -n "$gsl_mark_image:$header_f1" "$1"`
[[ "$this_image" ]] || return
mark_image=${this_image#*:}
mark_image=${this_image#*:} # Get content mark to replace
while IFS=: read -r "ln" \
"marker" \
"f1" \

View File

@ -113,6 +113,7 @@ case "$1" in
DB__set_status "www-del"
fi
create__RSS_feed
stats__datas # Statoolinfos
return
;;
@ -139,7 +140,7 @@ elif (( $article_Status_chk == $article_Status_www )) && \
else
if (( $article_Status_chk == $article_Status_wip ));then
[[ "$article_Slug" =~ "/" ]] \
[[ "$article_Type" == "post" ]] \
&& mkdir -p "$gsl_slug_dir_www"
rsync -a "$gsl_srv_post_wip" "$gsl_srv_post_www" && \
@ -147,6 +148,7 @@ else
"Article validated online" \
"$gsl_srv_post_www" && \
DB__set_status "www"
create__RSS_feed
stats__datas # Statoolinfos
fi
fi
@ -299,6 +301,7 @@ case "$1" in
esac
}
#======================================================================
# Remove WIP page
# If error from check and exists

View File

@ -54,7 +54,7 @@ stats_articles_max_images_www=0
while IFS=: read -r "filename" "status"
do
source "$filename"
! (( $article_Status_www> 0 )) && continue
! (( $article_Status_www > 0 )) && continue
((stat_articles_www++))