#!/bin/bash
echo "compiling..."
for i in $( ls *.text ); do
# update tagline
if [[ $(head -n 3 $i | grep 'go back ↰' | wc -l) == 0 ]]
then
sed -i '3s;^;[go back ↰](https://kunalmarwaha.com);' $i
fi
html_file="$(echo $i | cut -d'.' -f1).html"
# header
echo '' > $html_file
echo '' >> $html_file
echo '
' >> $html_file
echo '' >> $html_file
echo '' >> $html_file
echo 'Kunal' >> $html_file
echo '' >> $html_file
echo '' >> $html_file
echo '' >> $html_file
# .text file
pandoc $i >> $html_file
# footer
echo '' >> $html_file
echo '' >> $html_file
done
# add anchors
grep -HInri "h2 id" *.html | while read -r result; do
filename="$(echo $result | cut -d':' -f1)"
linenumber="$(echo $result | cut -d':' -f2)"
line="$(echo $result | cut -d':' -f3-)"
id="$(echo $line | cut -d'"' -f2)"
replacement_line="$(echo $line | sed "s|>|># |")"
sed -i $filename -e "$linenumber c\\" -e "$replacement_line"
done
# add back to top
ls *.html | while read -r filename; do
grep -HInri "↸ Back to top" $filename
done
done
# add TOC
ls *.html | while read -r result; do
sed -i '12i
' $result
sed -i '13i
' $result
done
grep -HInri "h2 id" *.html | tac | while read -r result; do
filename="$(echo $result | cut -d':' -f1)"
line="$(echo $result | cut -d':' -f3-)"
toc_line="$(echo $line | sed "s|||" | sed "s|^[^>]*>||" | sed "s|||")"
sed -i "13i
$toc_line
" $filename
done
# add list of web pages
lineno=13
ls *.html | tac | sed "s|.html$||" | while read -r line; do
if [ $line != "index" ]
then
sed -i "${lineno}i