: ' Changes
Wed Jan 17 2024 Added support for epub viewer, more to come.
'
[ "$1" == "-D" ] && DEBUG=1 && shift 1
PS4='$SECONDS $LINENO: '
DIR="$(basename $PWD)"
TITLE="$(echo $DIR|cut -d'.' -f1|tr '-' ' '|sed -e 's/.*/\L&/' -e 's/[a-z]*/\u&/g')"
NAME=${0##*/}
bl(){
[ "$DEBUG" == "1" ] && set -x
echo ""
}
html(){
vim -f +"syn on" +"colorscheme termschool" +"set nonu" +"set foldenable!" +"set nospell" +"run! syntax/2html.vim" +"wq" +"q" $1
}
log(){
[ "$DEBUG" == "1" ] && set -x
logger -i -t "$NAME" "$*"
}
pause(){
[ "$DEBUG" == "1" ] && set -x
[ "$1" == "-nt" ] && TMOUT="" && shift
echo "$BY";
if [ $# -gt 0 ]
then
read -t $1 -r -p "${C}Hit any key (${BY}$1${C} second timeout)${N}" -n 1 FOO;
else
read -r -p "${C}Hit any key${N}" -n 1 FOO;
fi;
bl
}
xtitle(){
printf "\033]0;%s\007" "$*"
}
version(){
grep -E '^# Updated' $0
echo " "
sed -n "/' Changes/,/^ *$/p" <$0 |grep -E -v 'sed -n|exit 0|}'
exit 0
}
if [ "$1" == "-E" ]
then
vim $0
sed -i -e "7s/.*/# Updated....: $(date)/" $0
log "Updated $0"
html $0
cp $0 /var/www/unix
mv $0.html /var/www/unix
exit
fi
if [ "$1" == "-h" ] || [ "$1" == "--help" ]
then
fmt -s -w $(tput cols) <<END
$NAME {file}
Generate an markdown link to file.
END
exit
fi
if [ "$1" == "-v" ] || [ "$1" == "--version" ]
then
version
fi
command -v bash >/dev/null || sudo apt install bash -qyy
[ "$DEBUG" == 1 ] && set -x
FILE=$1
EXT="${FILE##*.}"
NAME=$(echo $FILE|cut -d'.' -f1|sed -e 's/[-_]/ /g' -e 's/.*/\L&/' -e 's/[a-z]*/\u&/g')
case $EXT in
m4v|mp4|mpv|avi)
ICO="🎬"
;;
pdf|epub|mobi|azw3|html)
ICO="📚"
;;
wav|mp3|midi)
ICO="🎧"
;;
jpg|jpeg|png|gif)
ICO="🎨"
;;
iso|gz|zip|tar|tgz|7z)
ICO="📦"
;;
exe)
ICO="💾"
;;
deb)
ICO="💻"
;;
html|txt|md)
ICO="📄"
;;
ppt|pptx)
ICO="🎦"
;;
json|db|csv|tsv)
ICO="📇"
;;
*)
ICO="🚧"
;;
esac
cd /var/www/
NEW="$(find . -name $1 -print |cut -d'.' -f2-)"
SIZE=$(ls -sh /var/www/${NEW}|cut -d' ' -f1)
cd - >/dev/null
case "$EXT" in
pdf) NEW="${NEW}#view=FitH"
;;
epub) VIEW="[👓](/epubviewer#/include${NEW})"
;;
mobi) VIEW="__DL 1st__, [👓](/apps/foliate/)"
;;
azw3) VIEW="__DL 1st__, [👓](/apps/foliate/)"
;;
*) VIEW=" "
;;
esac
if [ -f .bold ] && [ $(grep -c "$FILE" .bold) -gt 0 ]
then
echo "- [${ICO} ___${NAME}.${EXT} ${SIZE}___](${NEW}) $VIEW"
else
echo "- [${ICO} ${NAME}.${EXT} ${SIZE}](${NEW}) $VIEW"
fi
if [ "$EXT" == "mp3" ] || [ "$EXT" == "wav" ]
then
cat <<End
<audio controls="1" preload="none">
<source src="${NEW}" data-external="1" type="audio/mpeg">
</source>
</audio>
End
echo "---"
echo " "
fi