fix: config spec
This commit is contained in:
@@ -6,30 +6,38 @@
|
|||||||
(s/def ::config
|
(s/def ::config
|
||||||
(s/keys :req [::ibm-plex-web
|
(s/keys :req [::ibm-plex-web
|
||||||
::latex
|
::latex
|
||||||
::dvisvgm]))
|
::dvisvgm
|
||||||
|
::doerg-temml-worker
|
||||||
|
::doerg-parser]))
|
||||||
|
|
||||||
(s/def ::file
|
(s/def ::file
|
||||||
#(or (instance? java.io.File %)
|
#(or (instance? java.io.File %)
|
||||||
(string? %)))
|
(string? %)))
|
||||||
|
|
||||||
|
(s/def ::executable #(or (fs/executable? %)
|
||||||
|
(and (fs/relative? %)
|
||||||
|
(fs/which %))))
|
||||||
|
|
||||||
(def default
|
(def default
|
||||||
{::ibm-plex-web
|
{::ibm-plex-web
|
||||||
(or (System/getenv "DOERG_IBM_PLEX_WEB")
|
(fs/file (some #(let [x (fs/path % "ibm-plex-web")]
|
||||||
(fs/file (some #(let [x (fs/path % "ibm-plex-web")]
|
(and (fs/exists? x) x))
|
||||||
(and (fs/exists? x) x))
|
(fs/split-paths (System/getenv "XDG_DATA_DIRS"))))
|
||||||
(fs/split-paths (System/getenv "XDG_DATA_DIRS")))))
|
|
||||||
::latex "xelatex"
|
::latex "xelatex"
|
||||||
::dvisvgm "dvisvgm"
|
::dvisvgm "dvisvgm"
|
||||||
;; TODO: Can we automatically set this to "./doerg-temml-worker/index.js" in
|
;; TODO: Can we automatically set this to "./doerg-temml-worker/index.js" in
|
||||||
;; a development environment?
|
;; a development environment?
|
||||||
::doerg-temml-worker "doerg-temml-worker"})
|
::doerg-temml-worker "doerg-temml-worker"
|
||||||
|
::doerg-parser "doerg-parser"})
|
||||||
|
|
||||||
(def ^:dynamic *cfg* default)
|
(def ^:dynamic *cfg* default)
|
||||||
|
|
||||||
(s/def ::ibm-plex-web ::file)
|
(s/def ::ibm-plex-web ::file)
|
||||||
|
|
||||||
(s/def ::latex ::file)
|
(s/def ::latex ::executable)
|
||||||
|
|
||||||
(s/def ::dvisvgm ::file)
|
(s/def ::dvisvgm ::executable)
|
||||||
|
|
||||||
(s/def ::doerg-temml-worker ::file)
|
(s/def ::doerg-temml-worker ::executable)
|
||||||
|
|
||||||
|
(s/def ::doerg-parser ::executable)
|
||||||
|
|||||||
@@ -24,6 +24,13 @@
|
|||||||
(fs/delete-if-exists path)
|
(fs/delete-if-exists path)
|
||||||
(fs/create-sym-link path target))
|
(fs/create-sym-link path target))
|
||||||
|
|
||||||
|
(defn reconfigure-doerg! []
|
||||||
|
(alter-var-root
|
||||||
|
#'cfg/*cfg*
|
||||||
|
#(assoc %
|
||||||
|
::cfg/doerg-temml-worker "./doerg-temml-worker/index.js"
|
||||||
|
::cfg/doerg-parser "./doerg-parser/index.js")))
|
||||||
|
|
||||||
(defn render-html [& {:keys [src dest]
|
(defn render-html [& {:keys [src dest]
|
||||||
:or {src some-org-file
|
:or {src some-org-file
|
||||||
dest "/tmp/doerg-test"}}]
|
dest "/tmp/doerg-test"}}]
|
||||||
|
|||||||
Reference in New Issue
Block a user