The world’s largest metal limericks archive on the Web.
This is just meant to be a live demo of a Clojure phonetics library (https://github.com/eihli/phonetics) and a Hidden Markov Model use-case for a Tightly-packed Trie (https://github.com/eihli/clj-tightly-packed-trie).
I also borrowed some functionality from a NLP/rhyme-related codebase that is not yet ready for release (https://github.com/eihli/prhyme).
- Run
./db/run.sh && ./kv/run.shto start the docker containers for the database and key-value store. a. Therun.shscripts only need to run once. They initialize development data containers. Subsequent development can continue withdocker start db && docker start kv. - Start a Clojure REPL in Emacs, evaluate the
dev/user.cljnamespace, and run(init) - Visit
http://localhost:8000
- Run
./db/run.sh && ./kv/run.shto start the docker containers for the database and key-value store. a. Therun.shscripts only need to run once. They initialize development data containers. Subsequent development can continue withdocker start db && docker start kv. - The application’s
jarbuilds with amakerun from the root directory. (See Makefile). - Navigate to the root directory of this git repo and run
java -jar web/darklimericks.jar - Visit http://localhost:8000
Requires Tachyons CSS. There is a symlink in web/resources/public to the pre-built tachyons.css and tachyons.min.css found in the repo.
Build .jar with clojure -X:depstar uberjar :jar prhyme.jar.
Since I’m developing this independently, it’s not a very robust deployment system.
It’s nice to have some parts of the repo available on the server; the db/kv scripts for example.
But obviously the album images and the data in the db/kv are going to be different between local and prod.
You can use rsync with --exclude to only sync over the code bits.
rsync --exclude '*/data/*' --exclude '*/images/*' -aLP ./ [email protected]:/root/darklimericks/
Note the -L to follow symlinks. Locally, I’m symlinking tachyons.css.
The other shortcut I’m taking is that images are stored and served relative to the path of the running application.
That means you need to launch the jar file from the web directory.