#!/bin/sh
#
# genblog is a script to take data from my blogs and format it into html for
# my website
#
# by: Squibid
#
#
# Helper variables and functions
#
bloglist=$(ls -t1 blog/*.html | grep -oP '(?<=\/).*?(?=\.)')
top5=$(printf "$bloglist\n" | head -5)
blogdate() {
grep -oP '(?<=\)' "blog/$1.html"
}
blogtitle() { grep -oP '(?<=\
).*(?=\<\/title\>)' "blog/$1.html"; }
htmlline() {
printf "\ $(blogtitle $1)\
$(blogdate $1)
\n"
}
# set file dates properly
for i in $bloglist; do
if $(touch -cd "$(blogdate $i)T00:00:00" /tmp/file); then
touch -amt "$(blogdate $i | sed 's/\///g')0000" "blog/$i.html"
fi
done
#
# Start modifing our files
#
# delete old bloglist
sed -i -n '1,/.*/p;/.*/,$p' index.html
sed -i -n '1,/.*/p;/.*/,$p' blog.html
# top 5 blogs
for i in $top5; do
line=$(htmlline $i)
# add new bloglist
sed -i "/.*/i $line" index.html
done
# generate the full blog list
for i in $bloglist; do
line=$(htmlline $i)
# add new bloglist
sed -i "/.*/i $line" blog.html
done