gavmor / Dunmanifestin

A verisimilitude generator.
3 stars 4 forks source link

Palette-based Madlib Engine

Join the chat at https://gitter.im/quavmo/Dunmanifestin Rspec CI on Travis Code Climate Test Coverage

The key elements in human thinking are not numbers but labels of fuzzy sets. — L. Zadeh

The point of Dunmanifestin [is] to inject chaos into humans' cliched ideas or, at least, let them be hunter-gatherers instead of farmers of culture. — B. Christel

Eroton, a glass blowery built on a mountain in Rake. Some say it contains priceless pipes made of pearl. — Dunmanifestin

Immeasurably inspired by RandListGen. Try it on some palettes of other genres, or write your own!

Try It!

  1. gem install dunmanifestin
  2. dunmanifestin
  3. dunmanifestin -p 'I had a [animal], once. Its name was [name].'

Try dunamnifestin --help for usage:

Options:
  -d, --debug          Display errors and logging
  -i, --interactive    Use an interactive command prompt
  -n, --count=<i>      Specify how many lines of output to generate at once
  -c, --copy           Copies manifestation into your clipboard
  -g, --genre=<s>      Specify a genre or two by filepath, e.g. '-g genres/scifi/', '-g ./genres/poetry:./genres/romantics'
  -p, --phrase=<s>     Specify a phrase or list, e.g. 'The [animal] sat on the [article]' or '[weapon]'
  -o, --chomp          remove the trailing newline from the output
  -f, --file=<s>       Read a file as the phrase
  -h, --help           Show this message

Tips

Highlight proper nouns with: dunmanifestin | grcat ~/.grc/dun.conf

regexp=(?<!(\.\s))([A-Z])(\s[A-Z]|\w|'|\-[A-Z]|\sof\s[A-Z]|\sthe\s[A-Z]|(,(?=\s[A-Z])))+
colours=bold magenta

Check word-frequency of your palettes with:

dunmanifestin | tr ' ' '\n' \
| sed s/[,.]//  | sort | uniq -c \
| sort -n

Tack on perl -lane 'printf "%-30s%s\n", $F[1], "=" x $F[0]' for a histogram.