#!/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