From 9353b6349623c9055d1c1acb80e08f6e7870dcc2 Mon Sep 17 00:00:00 2001 From: vilmibm Date: Sat, 21 May 2022 05:09:40 +0000 Subject: [PATCH] WIP gopher and gemini --- make.sh | 114 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/make.sh b/make.sh index f81cfac..f2dd89f 100755 --- a/make.sh +++ b/make.sh @@ -2,70 +2,70 @@ set -e +# global pd=/usr/bin/pandoc g=/bin/grep +tr=/usr/bin/tr +sed=/bin/sed postDir=/home/vilmibm/blog/posts -# TODO generalize into one loop +htmlDir=/home/vilmibm/public_html/blog +htmlIndexTmpl=/home/vilmibm/blog/index.tmpl.html +htmlIndex=/home/vilmibm/public_html/blog/index.html -function makeHTML() { - htmlDir=/home/vilmibm/public_html/blog - htmlIndexTmpl=/home/vilmibm/blog/index.tmpl.html - htmlIndex=/home/vilmibm/public_html/blog/index.html +gopherPath=/home/vilmibm/public_gopher/blog +geminiPath=/home/vilmibm/public_gemini/blog +cd $postDir > /dev/null - if [ -e "${htmlIndex}" ] +# backup HTML index +if [ -e "${htmlIndex}" ] +then + cp $htmlIndex "${htmlIndex}.bak" +fi + +cp $htmlIndexTmpl $htmlIndex + +# Remove old gopher posts +rm ${gopherPath}/* + +# Initialize blog gophermap +gopherIndex="${gopherPath}/gophermap" +echo "!the phlog of vilmibm as it were" > $gopherIndex +echo >> $gopherIndex + +for p in $(ls *.md) +do + pubdate=$($g "pubdate:" $p | $sed 's/pubdate: //') + title=$($g "title:" $p | $sed 's/title: //') + slug=$($g "slug:" $p | $sed 's/slug: //' | $tr -d \[:blank:\]) + if [ -z "$pubdate" ] || [ -z "$title" ] || [ -z "$slug" ] then - cp $htmlIndex "${htmlIndex}.bak" + echo "warning: missing at least one of: pubdate, slug, title in ${p}" + else + # HTML + echo "

${title}

" >> $htmlIndex + echo "${pubdate}" >> $htmlIndex + echo "
" >> $htmlIndex + $g -v "pubdate:" $p | $g -v "title:" | $g -v "slug:" |$pd -fmarkdown -thtml >> $htmlIndex + echo "
" >> $htmlIndex + + # Gopher + echo "0${title} ${slug}.txt" >> $gopherIndex + gopherPostPath="${gopherPath}/${slug}.txt" + echo "# ${title}" > $gopherPostPath + echo >> $gopherPostPath + echo "_published ${pubdate}_" >> $gopherPostPath + $g -v "pubdate:" $p | $g -v "title:" | $g -v "slug:" >> $gopherPostPath + + # TODO index for gemini + + # Gemini + geminiPostPath="${geminiPath}/${slug}.gmi" + echo "# ${title}" > $geminiPostPath + echo >> $geminiPostPath + echo "_published ${pubdate}_" >> $geminiPostPath + $g -v "pubdate:" $p | $g -v "title:" | $g -v "slug:" >> $geminiPostPath fi - - cp $htmlIndexTmpl $htmlIndex - - cd $postDir > /dev/null - for p in $(ls *.md) - do - pubdate=$($g "pubdate:" $p | sed 's/pubdate://') - title=$($g "title:" $p | sed 's/title://') - slug=$($g "slug:" $p | sed 's/slug://' | tr -d \[:blank:\]) - if [ -z "$pubdate" ] || [ -z "$title" ] || [ -z "$slug" ] - then - echo "warning: missing at least one of: pubdate, slug, title in ${p}" - else - echo "

${title}

" >> $htmlIndex - echo "${pubdate}" >> $htmlIndex - echo "
" >> $htmlIndex - $g -v "pubdate:" $p | $g -v "title:" | $g -v "slug:" |$pd -fmarkdown -thtml >> $htmlIndex - echo "
" >> $htmlIndex - fi - done - echo "" >> $htmlIndex -} - -function makeGopher() { - gopherPath=/home/vilmibm/public_gopher/blog - cd $postDir > /dev/null - - for p in $(ls *.md) - do - pubdate=$($g "pubdate:" $p | sed 's/pubdate://') - title=$($g "title:" $p | sed 's/title://') - slug=$($g "slug:" $p | sed 's/slug://' | tr -d \[:blank:\]) - if [ -z "$pubdate" ] || [ -z "$title" ] || [ -z "$slug" ] - then - echo "warning: missing at least one of: pubdate, slug, title in ${p}" - else - postPath="${gopherPath}/${slug}.md" - echo "# ${title}" > postPath - $g -v "pubdate:" $p | $g -v "title:" | $g -v "slug:" >> $postPath - fi - done -} - -# -#function makeGemini() { -# # TODO -#} - -makeHTML -makeGopher +done