diff --git a/assets/favicon.ico b/assets/favicon.ico new file mode 100644 index 0000000..df6a0e4 Binary files /dev/null and b/assets/favicon.ico differ diff --git a/assets/gibone-CV.pdf b/assets/gibone-CV.pdf new file mode 100644 index 0000000..2845c37 Binary files /dev/null and b/assets/gibone-CV.pdf differ diff --git a/gmirator.sh b/gmirator.sh new file mode 100755 index 0000000..7495b45 --- /dev/null +++ b/gmirator.sh @@ -0,0 +1,166 @@ +#! /usr/bin/env bash + +source ./gmirator.conf + +COMMAND=$1 +PARAM=$2 + +make_gemlogs_index() { + + rm articles.gmi.temp + + echo "generating articles.gmi.temp" + ls $LGMI/gemlog | grep -v 'index' | sort -r \ + | while read fname; do + local date=$(echo "$fname" | sed "s/_.*//") + local title=$(head -1 $LGMI/gemlog/$fname | sed "s/# //") + echo "=> gemlog/$fname $date - $title" >> $WORKDIR/articles.gmi.temp + done + + echo "generating gemlog/index.gmi" + sed -i -e "/^## logs/,//{ + /^#/!d + }" -e "/^## logs/{ + a + r $WORKDIR/articles.gmi.temp + }" $LGMI/gemlog/index.gmi + + echo "generating index.gmi" + printf ' +=> tinylog.gmi tinylogs go here +=> gemlog/index.gmi full gemlogs here\n\n%s' "$(head $WORKDIR/articles.gmi.temp)" \ + | cat $WORKDIR/in.gmi - > $LGMI/index.gmi + echo "" >> $LGMI/index.gmi + + echo "DONE :)" +} + +gmi2html() { + local in_list=no + local in_preformated=no + + while read -r line; do + if [[ "$in_list" == yes ]]; then + if [[ "$line" == '* '* ]]; then + printf "
  • %s
  • \n" "${line/\* /}" + continue + else + in_list=no + printf "\n" + fi + elif [[ "$in_preformated" == yes ]]; then + if [[ "$line" == '```'* ]]; then + in_preformated=no + printf "\n" + else + printf "%s\n" "$line" + fi + continue + fi + + # this next condition allows for adding extra line breaks + # with 2 empty lines in a row + if [[ $line == '' ]]; then + if [[ $prev_line_empty == 1 ]]; then + printf "
    \n" + prev_line_empty=0 + else + prev_line_empty=1 + fi + continue + elif [[ $prev_line_empty == 1 ]]; then + prev_line_empty=0 + fi + + case "$line" in + '* '*) + in_list=yes + printf "