47 lines
1.1 KiB
Bash
47 lines
1.1 KiB
Bash
#!/usr/bin/env sh
|
|
set -e
|
|
export LC_ALL='C.UTF8'
|
|
|
|
help_text() {
|
|
printf "
|
|
-t path to pango formated text file
|
|
how to format: https://usage.imagemagick.org/text/#pango
|
|
or as an environment variable IMAGE_TEXT not with path but the text itself
|
|
if -t is set the environment variable will be ignored
|
|
|
|
-p is a path to write the file to. Format is determined by file ending.
|
|
or as an environment variable PICTURE_PATH
|
|
if -p is set the environment variable will be ignored
|
|
"
|
|
exit 1
|
|
}
|
|
|
|
# directory of the script itself
|
|
SCRIPT_DIR="$(cd -P -- "$(dirname -- "$(command -v -- "$0")")" && pwd -P)"
|
|
export SCRIPT_DIR
|
|
|
|
# set defaults
|
|
P_PATH="$SCRIPT_DIR/example.jpg"
|
|
I_TEXT="$(cat "$SCRIPT_DIR"/text.pango.example 2>/dev/null || echo 'example text')"
|
|
|
|
# read from environment variables
|
|
P_PATH="${PICTURE_PATH:-$P_PATH}"
|
|
I_TEXT="${IMAGE_TEXT:-$I_TEXT}"
|
|
|
|
# options, they override environment variables
|
|
while getopts "p:t:" opt
|
|
do
|
|
case "$opt" in
|
|
p) P_PATH="$OPTARG";;
|
|
t) I_TEXT=$(cat "$OPTARG");;
|
|
*) help_text
|
|
esac
|
|
done
|
|
|
|
magick \
|
|
-background '#FFFFFF' \
|
|
-fill '#000000' \
|
|
-font 'FiraCode Nerd Font' \
|
|
-pointsize 72 pango:"$I_TEXT" \
|
|
"$P_PATH"
|
|
|