Literate is a Clojure & ClojureScript application which you can use to create interactive documents.
This interface that you're looking at it's called a Widget, and you can create one from a Clojure REPL.
There are a few different types of Widgets that are supported:
xxxxxxxxxx
(ns literate.core
(:require [literate.server :as server]
[clojure.tools.cli :as cli]))
(def cli-options
[["-p" "--port PORT" "Port number"
:default 8118
:parse-fn (Integer/parseInt %)
:validate [(< 0 % 0x10000) "Must be a number between 0 and 65536"]]])
(defn start [{:keys [port]}]
(println
(str "Welcome to Literate\n"
"Starting server..."))
(server/run-server {:port port})
(println "Server is up and running on port:" port)
(println "Happy coding!"))
(defn -main [& args]
(let [opts (cli/parse-opts args cli-options)
port (get-in opts [:options :port])]
(start {:port port})))