#!/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
$line
" index.html fi done echo "pandocify-ed!"