A selfhosted way to create images with quotations using BASH and imagemagick
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Steven Saus b4646870f0 GitHub Pages 4 years ago
docs GitHub Pages 4 years ago
.gitignore github pages 4 years ago
LICENSE Initial commit 5 years ago
README.md Updated readme with blog post permalink 5 years ago
all_fortune_image.sh Initial commit 5 years ago
fortune_image.sh Initial commit 5 years ago
khalo-icon.png github pages 4 years ago
output.jpg Initial commit 5 years ago

README.md

khalo

A selfhosted way to create images with quotations

Output example

Contents

  1. About
  2. License
  3. Prerequisites
  4. How to use
  5. TODO

1. About

These programs creates an image with text upon it from either a fortune file or a plain text file. You can read the blog post about it here.

2. License

This project is licensed under the MIT license. For the full license, see LICENSE.

3. Prerequisites

These may already be installed on your system.

  • imagemagick command-line tool for manipulating images. imagemagick can be found on major Linux distributions.
  • wget command-line tool for downloading files. wget can be found on major Linux distributions.

Optional

  • fortune command-line tool for providing "fortunes". fortune can be found on major Linux distributions.
  • slugify if you wish to have filenames that mirror the text of the quotation. I used slugify-cli, which is a node.js program.

4. How to use

  • If you wish to use your fortune file and get one quotation a day, use fortune_image.sh. As configured now, it will output one image to your $HOME directory.

  • If you wish to specify which fortune file to use, edit Fortune=$(/usr/games/fortune) to read Fortune=$(/usr/games/fortune MyFortuneFile)

  • If you wish to use a plain text file and output all of the quotations at once to your home directory, use all_fortune_image.sh with the text file as the first argument.

  • Note that you will have to edit the sizes on lines 23 and 30 to get different output sizes.

5. Todo

  • TBH, I'm probably not going to clean this up a lot more; there are too many variables possible for me to account for all of them.