#!/bin/bash
echo "compiling..."
for i in $( ls *.text ); do
# update tagline
if [[ $(head -n 3 $i | grep 'go back ↰' | wc -l) == 0 ]]
then
gsed -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 --columns=20000 $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 | gsed "s|>|># |")"
gsed -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
gsed -i '12i' $result
gsed -i '13i
' $result
done
grep -HInri "h2 id" *.html | tail -r | while read -r result; do
filename="$(echo $result | cut -d':' -f1)"
line="$(echo $result | cut -d':' -f3-)"
toc_line="$(echo $line | gsed "s|||" | gsed "s|^[^>]*>||" | gsed "s|||")"
gsed -i "13i$toc_line
" $filename
done
# add list of web pages
lineno=13
ls *.html | tail -r | gsed "s|.html$||" | while read -r line; do
if [ $line != "index" ]
then
gsed -i "${lineno}i" index.html
fi
done
echo "pandocify-ed!"