|
- #!/bin/bash
-
- #echo "It looks like it worked!" > temp_image_text.txt
-
- #cat temp_image_text.txt | convert -background white -fill black -font $HOME/.local/share/fonts/Lora-Regular.ttf -size 900x900 -pointsize 48 -gravity center -interline-spacing 10 caption:@- $1
- #convert $1 -gravity center -extent 1024x1024 $1
-
- final=$1
- font=$2
- author=$3
-
- if [ -z "$final" ]; then
- read -p "Output filename [writeas.png]? " final
- if [ -z "$final" ]; then
- final=writeas.png
- fi
- fi
-
- if [ -z "$font" ]; then
- read -p "Font (norm,sans,mono) [norm]? " font
- if [ -z "$font" ]; then
- font="norm"
- fi
- fi
-
- if [ -z "$author" ]; then
- read -p "Author/username []? " author
- fi
-
- read -p "Subdomain (y/N)? " answer
- case ${answer:0:1} in
- y|Y )
- sub="sub"
- ;;
- * )
- sub=""
- ;;
- esac
-
- read -p "Post content []? " msg
- if [ -z "$msg" ]; then
- echo "Need some kind of content. Bye."
- exit 1
- fi
-
- echo "Thanks. Generating image..."
-
- DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
- font_reg=$DIR/fonts/Lora-Regular.ttf
- if [ "$font" = "mono" ]; then
- font_reg=$DIR/fonts/Hack-Regular.ttf
- elif [ "$font" != "norm" ]; then
- font_reg=$DIR/fonts/OpenSans-Regular.ttf
- fi
- write_bold=$DIR/fonts/Lora-Bold.ttf
- write_reg=$DIR/fonts/Lora-Regular.ttf
-
- # Generate post text
- if [ $(echo "$msg" | wc -m) -lt 40 ]; then
- convert -background white -fill black -font $font_reg -size 900x900 -pointsize 48 -gravity center -interline-spacing 10 caption:"$msg" $final
- else
- convert -background white -fill black -font $font_reg -size 900x900 -pointsize 48 -gravity west -interline-spacing 10 caption:"$msg" $final
- fi
- # Generate footer
- if [ -z "$author" ]; then
- # No author provided, just show "write.as"
- convert -background white -fill black -size x50 -gravity center -font $write_bold -pointsize 32 label:'write.as' -font $write_reg footer.png
- else
- # Author provided
- if [ "$sub" = "sub" ]; then
- convert -background white -fill black -size x50 -gravity center -font $write_reg -pointsize 32 label:"$author." -font $write_bold -pointsize 32 label:'writeas' +append -font $write_reg -pointsize 32 label:".com" +append footer.png
- else
- convert -background white -fill black -size x50 -gravity center -font $write_bold -pointsize 32 label:'write.as' -font $write_reg -pointsize 32 label:"/$author/" +append footer.png
- fi
- fi
- # Expand footer width
- convert footer.png -gravity center -extent 900x50 footer.png
- # Combine text and footer
- convert $final footer.png -append $final
- # Expand canvas size
- convert $final -gravity center -extent 1024x1024 $final
-
- echo "Cleaning up..."
-
- rm footer.png
-
- echo "DONE."
- echo "See $(pwd)/$final"
|