{trident/<artifact> {:mvn/version "0.1.3"}}
Because I had to call it something
Trident is my personal experiment in creating a highly-abstracted web application framework for use with Datomic Cloud. But it's also just a collection of libraries, containing anything I happen to abstract out of projects I'm working on.
My top-level goal with Trident is to maximize code reuse (especially my own, but hopefully for others as well). This has two parts:
There should be high-level interfaces that give you lots of leverage (like frameworks).
When the high-level interfaces don't cut it, it should be easy to use only the parts you want, customizing behavior as needed (like libraries).
I keep the code in a single src
dir, but I provide multiple artifacts. Any
code in src/trident/<foo>
is available in the <foo>
artifact. For
example, {trident/cli {:mvn/version "<version>"}}
will give you access to the
trident.cli
namespace. All artifacts use the same version.
I use the trident/docs
artifact for documentation on cljdoc. You can browse
the namespaces there to see what's available, but briefly:
repl
. A handful of convenience functions for use at the repl.
util
. A collection of utility functions & macros.
cli
(includes util
). Makes it easy to define and reuse CLIs for tools.deps-based build tasks.
build
(includes util
, cli
). A collection of build tasks made with trident/cli
.
datomic
(includes util
). Janky file-based persistence for Datomic Free.
datomic-cloud
(includes util
). Tools for Datomic Cloud.
ring
. Some Ring middleware.
firebase
. Functions for authenticating Firebase user tokens.
ion
(includes util
). Utilities for working with Datomic Ions
web
(includes util
, datomic-cloud
, firebase
, ion
, ring
). Highly contrived web framework.
web-repl
(includes web
). A dev web server for use with trident/web
.
datascript
(includes util
). Frontend tools for syncing Datascript with Datomic.
views
(includes util
). Some Reagent components and stuff.
frontend
(includes util
, datascript
, views
). Just a bundle of other artifacts.
Also see trepl.py, a script that makes running build tasks fast.
While I hope Trident will be useful for others, I'm primarily focusing on my own use cases because 1) there are things I want to build, 2) developing Trident as I build real things will help to make sure it's actually useful. With that out of the way, if you're interested in anything Trident provides, I'd love to chat.
#trident
on ClojuriansDistributed under the EPL v2.0
Copyright © 2019 Jacob O'Bryant.
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close