#!/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"