diff --git a/mkrss.sh b/mkrss.sh
index 6e46265..6c11b90 100755
--- a/mkrss.sh
+++ b/mkrss.sh
@@ -3,6 +3,7 @@
rsstpl="rss.tpl"
webdir="_site"
+postsdir="$webdir/posts"
rssfile="$webdir/rss.xml"
xmlize() {
@@ -26,6 +27,15 @@ getcontent(){
local fic="$1"
cat $fic | hxselect '#content'
}
+findkeywords(){
+ local fic="$1"
+ cat $fic | hxselect -c '.keywords > code' | sed 's/,//g'
+}
+mkcategories(){
+ for keyword in $*; do
+ printf "\\n%s" $keyword
+ done
+}
realname="Yann Esposito"
website="https://her.esy.fun"
@@ -33,8 +43,8 @@ website="https://her.esy.fun"
autoload -U colors && colors
tmpdir=$(mktemp -d)
-for fic in $webdir/posts/**/*.html; do
- printf "%-40s" "$fic"
+for fic in $postsdir/**/*.html; do
+ printf "%-30s" $(echo "$fic"|sed 's#^'$postsdir'/##')
xfic="$tmpdir/$fic.xml"
mkdir -p $(dirname $xfic)
xmlize $fic > $xfic
@@ -42,9 +52,11 @@ for fic in $webdir/posts/**/*.html; do
echo -n " [$d]"
rssdate=$(formatdate $d)
title=$(findtitle $xfic)
- printf ": %-30s" "$title"
+ keywords=( $(findkeywords $xfic) )
+ printf ": %-55s" "$title ($keywords)"
+ categories=$(mkcategories $keywords)
blogfile="$(echo $fic | perl -pe 's#.*?/posts/#/posts/#')"
- printf "\\n- \\n%s\\n%s%s\\n%s\\n\\n
\\n\\n" "$title" "$website" "$blogfile" "$rssdate" "$(getcontent "$xfic")" >> "$tmpdir/${d}-$(basename $fic).rss"
+ printf "\\n- \\n%s\\n%s%s\\n%s%s\\n\\n
\\n\\n" "$title" "$website" "$blogfile" "$rssdate" "$categories" "$(getcontent "$xfic")" >> "$tmpdir/${d}-$(basename $fic).rss"
echo " [${fg[green]}OK${reset_color}]"
done
for fic in $(ls $tmpdir/*.rss | sort -r); do