Web gallery fed by kpawebgen output
  • Clojure 80%
  • HTML 14.6%
  • CSS 5.4%
Find a file
2024-10-22 02:16:39 -04:00
resources/public Prohibit AI scrapers 2024-05-27 17:20:00 -04:00
src/org/timmc/pellucida Fix metadata JSON field name 2024-10-21 20:16:12 -04:00
test/org/timmc/pellucida Add ACME challenge passthrough route for Let's Encrypt support. 2017-01-06 21:58:37 -05:00
.gitignore Ignore .nrepl-port 2015-12-25 19:51:12 -05:00
COPYING Fix choice of law state in EPL (back to New York) 2016-08-29 00:16:19 -04:00
project.clj Upgrades for Clojure 1.10 2021-12-24 00:56:12 -05:00
README.md Point to Rust version 2024-10-22 02:16:39 -04:00

pellucida (in Clojure)

No longer maintained; I rewrote it in Rust in 2024: https://codeberg.org/timmc/pellucida-rs


A photo gallery website fed by kpawebgen, written in Clojure.

Requires a kpawebgen gallery DB version 2.

Demo

Currently (October 2019) deployed as https://gallery.brainonfire.net/ on NearlyFreeSpeech.net. I developed it on Heroku as pellucida.herokuapp.com, so you may see some references to that in the codebase and commit history.

Running

With Leiningen:

lein trampoline run path/to/config.clj

PELL_DEV=true enables automatic code reloading.

Configuration

Configuration is in Clojure, and is expected to look something like this:

{:thumbs-link-base "/v2/proxy-image/" ;; Proxy files from the local filesystem
 :thumbs-proxy-base "/home/timmc/photos/web/gen/"
 :gallery-db "/home/timmc/photos/web/kpawebgen.db3"
 ;; Optional keys
 :port 8080}

Configuration keys are documented in org.timmc.pellucida.settings.

Deployment

Build a jar file with lein uberjar and deploy as usual for Java.

TODO

  • Bugfixes:
    • Geocode maps no longer link to a map that labels the marker, now that Google Maps has been updated.
    • Gallery layout shows uneven rows of images -- switch to multiple of column count
  • Show mode switcher (or remover) now that modes are supported (involves some plumbing work)
  • Atom feed
  • Better titles, especially on filtered list view
  • Sort by creation chronology, image ID, or newest present in gallery (last may not be possible, but is most interesting for a feed)
  • Add Drawbridge REPL (but nREPL needs a secure way to pass auth!)

License

Copyright © 2012–2019 Tim McCormack, except for vendored items in ./resources/public/vendor.

Distributed under the Eclipse Public License v1.0, the same as Clojure.

Division 2.0.0 CSS grid system is available under the Creative Commons Attribution-ShareAlike 3.0 Unported License.