This commit is contained in:
@@ -4,10 +4,8 @@
|
|||||||
:latex "xelatex"
|
:latex "xelatex"
|
||||||
:dvisvgm "dvisvgm"
|
:dvisvgm "dvisvgm"
|
||||||
:doerg-temml-worker
|
:doerg-temml-worker
|
||||||
#profile {:dev-publisher "../doerg/doerg-temml-worker/index.js"
|
#profile {:dev #file "../../../../doerg-temml-worker/index.js"
|
||||||
:dev-doerg "./doerg-temml-worker/index.js"
|
|
||||||
:default "doerg-temml-worker"}
|
:default "doerg-temml-worker"}
|
||||||
:doerg-parser
|
:doerg-parser
|
||||||
#profile {:dev-publisher "../doerg/doerg-parser/index.js"
|
#profile {:dev #file "../../../../doerg-parser/index.js"
|
||||||
:dev-doerg "./doerg-parser/index.js"
|
|
||||||
:default "doerg-parser"}}
|
:default "doerg-parser"}}
|
||||||
|
|||||||
@@ -45,29 +45,32 @@
|
|||||||
(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"))))
|
||||||
|
|
||||||
(defn make-read-config [spec]
|
(defmethod aero/reader 'file
|
||||||
(fn [& files]
|
[{:keys [source]} tag value]
|
||||||
(let [r (->> files
|
"Aero tag to reference a `java.io.File` relative to the config
|
||||||
(filter identity)
|
file."
|
||||||
(map aero/read-config)
|
(-> (aero/relative-resolver source value)
|
||||||
(apply merge))
|
fs/file))
|
||||||
conformed (s/conform spec r)]
|
|
||||||
(if-not (s/invalid? conformed)
|
|
||||||
conformed
|
|
||||||
(throw (IllegalArgumentException.
|
|
||||||
"bad config"
|
|
||||||
(ex-info "couldn't conform"
|
|
||||||
(s/explain-data spec r))))))))
|
|
||||||
|
|
||||||
(def read-config (make-read-config ::d/config))
|
(defn read-config [spec files & {:as opts}]
|
||||||
|
(let [r (->> files
|
||||||
|
(filter identity)
|
||||||
|
(map #(aero/read-config % opts))
|
||||||
|
(apply merge))
|
||||||
|
conformed (s/conform spec r)]
|
||||||
|
(if-not (s/invalid? conformed)
|
||||||
|
conformed
|
||||||
|
(throw (ex-info "Failed to conform config"
|
||||||
|
(s/explain-data spec r))))))
|
||||||
|
|
||||||
(def default
|
(def sources
|
||||||
(read-config
|
[;; Default config.
|
||||||
;; Default config.
|
|
||||||
(io/resource "net/deertopia/doerg/default-config.edn")
|
(io/resource "net/deertopia/doerg/default-config.edn")
|
||||||
;; Defaults set at build time, if any.
|
;; Defaults set at build time, if any.
|
||||||
(io/resource "net/deertopia/doerg/extra-config.edn")
|
(io/resource "net/deertopia/doerg/extra-config.edn")
|
||||||
;; Config set at runtime.
|
;; Config set at runtime.
|
||||||
(System/getenv "DOERG_CONFIG")))
|
(System/getenv "DOERG_CONFIG")])
|
||||||
|
|
||||||
|
(def default (read-config ::d/config sources))
|
||||||
|
|
||||||
(def ^:dynamic *cfg* default)
|
(def ^:dynamic *cfg* default)
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
((nil
|
((nil
|
||||||
. ((cider-clojure-cli-aliases . ":dev")
|
. ((cider-clojure-cli-aliases . ":dev:test")
|
||||||
(eval
|
;; (eval
|
||||||
. (progn
|
;; . (progn
|
||||||
(defun start-deertopia-server ()
|
;; (defun start-deertopia-server ()
|
||||||
(let ((n (cider-format-connection-params "%j" cider-launch-params)))
|
;; (let ((n (cider-format-connection-params "%j" cider-launch-params)))
|
||||||
(when (equal n "net-deertopia")
|
;; (when (equal n "net-deertopia")
|
||||||
(cider-interactive-eval
|
;; (cider-interactive-eval
|
||||||
"(do (require '[net.deertopia.publisher.server :as server])
|
;; "(do (require '[net.deertopia.publisher.server :as server])
|
||||||
(server/start!))"))))
|
;; (server/start!))"))))
|
||||||
(add-hook 'cider-connected-hook #'start-deertopia-server))))))
|
;; (add-hook 'cider-connected-hook #'start-deertopia-server)))
|
||||||
|
)))
|
||||||
|
|||||||
@@ -17,4 +17,5 @@
|
|||||||
:aliases
|
:aliases
|
||||||
{:test {:extra-deps {lambdaisland/kaocha {:mvn/version "1.91.1392"}}
|
{:test {:extra-deps {lambdaisland/kaocha {:mvn/version "1.91.1392"}}
|
||||||
:extra-paths ["test"]
|
:extra-paths ["test"]
|
||||||
:main-opts ["-m" "kaocha.runner"]}}}
|
:main-opts ["-m" "kaocha.runner"]}
|
||||||
|
:dev {:extra-paths ["dev"]}}}
|
||||||
|
|||||||
22
publisher/dev/user.clj
Normal file
22
publisher/dev/user.clj
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
(ns user
|
||||||
|
(:require [net.deertopia.publisher.server :as server]
|
||||||
|
[net.deertopia.doerg :as-alias doerg]
|
||||||
|
[net.deertopia.publisher :as-alias publisher]
|
||||||
|
[net.deertopia.doerg.config :as doerg-config]
|
||||||
|
[net.deertopia.publisher.config :as publisher-config]
|
||||||
|
[babashka.fs :as fs]))
|
||||||
|
|
||||||
|
(alter-var-root
|
||||||
|
#'doerg-config/*cfg*
|
||||||
|
(constantly (doerg-config/read-config ::doerg/config
|
||||||
|
doerg-config/sources
|
||||||
|
:profile :dev)))
|
||||||
|
|
||||||
|
(alter-var-root
|
||||||
|
#'publisher-config/*cfg*
|
||||||
|
(constantly (doerg-config/read-config ::publisher/config
|
||||||
|
publisher-config/sources
|
||||||
|
:profile :dev)))
|
||||||
|
|
||||||
|
(when (not= :running (server/status))
|
||||||
|
(server/start!))
|
||||||
@@ -14,15 +14,15 @@
|
|||||||
(s/def ::p/state-directory ::doerg/file)
|
(s/def ::p/state-directory ::doerg/file)
|
||||||
(s/def ::p/org-roam-db-path ::doerg/file)
|
(s/def ::p/org-roam-db-path ::doerg/file)
|
||||||
|
|
||||||
(def read-config (doerg-config/make-read-config ::p/config))
|
(def sources
|
||||||
|
[;; Default config.
|
||||||
(def default
|
|
||||||
(read-config
|
|
||||||
;; Default config.
|
|
||||||
(io/resource "net/deertopia/publisher/default-config.edn")
|
(io/resource "net/deertopia/publisher/default-config.edn")
|
||||||
;; Defaults set at build time, if any.
|
;; Defaults set at build time, if any.
|
||||||
(io/resource "net/deertopia/publisher/extra-config.edn")
|
(io/resource "net/deertopia/publisher/extra-config.edn")
|
||||||
;; Config set at runtime.
|
;; Config set at runtime.
|
||||||
(System/getenv "DOERG_PUBLISHER_CONFIG")))
|
(System/getenv "DOERG_PUBLISHER_CONFIG")])
|
||||||
|
|
||||||
|
(def default
|
||||||
|
(doerg-config/read-config ::p/config sources))
|
||||||
|
|
||||||
(def ^:dynamic *cfg* default)
|
(def ^:dynamic *cfg* default)
|
||||||
|
|||||||
@@ -24,8 +24,6 @@
|
|||||||
[babashka.fs :as fs]
|
[babashka.fs :as fs]
|
||||||
[aero.core :as aero]))
|
[aero.core :as aero]))
|
||||||
|
|
||||||
(def ^:const html-dir (-> cfg/*cfg* ::publisher/state-directory))
|
|
||||||
|
|
||||||
|
|
||||||
;;; Routes
|
;;; Routes
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user