dotfiles/env/.local/bin/scripts/gen-thumb-md

72 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
disable_thumb_gen=0
disable_auto_editor=0
while getopts "de" opt; do
case "$opt" in
d) disable_thumb_gen=1
;;
e) disable_auto_editor=1
;;
esac
done
shift $((OPTIND-1))
[ "${1:-}" = "--" ] && shift
[ "$1" ] && view_dir="$1"
if [ ! "$view_dir" ]; then
echo NO DIR
exit 1
fi
view_dir="$( cd "$view_dir" &> /dev/null && pwd )"
to_file() {
printf -- "- [%s](<%s>)" "$2" "$1" >> genthumb.md
if [ $3 == 1 ]; then
printf -- "\n - ![%s](</tmp/gen-thumb-md/%s.png>)\n" "$2" "$2" >> genthumb.md
else
printf -- "\n - ![%s](<%s>)\n" "$2" "$1" >> genthumb.md
fi
}
gen_thumb() {
file="$1"
file_name="$(basename "$file")"
case "$file" in
*.avi|*.gif|*.mp4|*.mkv|*.webm|*.mov)
if [ $disable_thumb_gen == 0 ]; then
ffmpegthumbnailer -i "$file" -s 0 -q 5 -o "/tmp/gen-thumb-md/$file_name.png"
fi
to_file "$file" "$file_name" 1
;;
*)
to_file "$file" "$file_name" 0
;;
esac
}
if [ ! -d /tmp/gen-thumb-md ]; then
mkdir /tmp/gen-thumb-md
fi
printf "# gen thumb $view_dir\n\n" > genthumb.md
files="$(find "$view_dir" -type f)"
printf "$files" | while read file; do
gen_thumb "$file"
done
if [ $disable_auto_editor == 0 ]; then
$EDITOR ./genthumb.md
fi