feat: o pona e ijo Config kepeken lipu Library
All checks were successful
build / build (push) Successful in 5s
All checks were successful
build / build (push) Successful in 5s
This commit was merged in pull request #22.
This commit is contained in:
@@ -9,7 +9,9 @@ mkCljBin {
|
||||
projectSrc = ./.;
|
||||
lockfile = ../deps-lock.json;
|
||||
main-ns = "net.deertopia.publisher.main";
|
||||
buildInputs = [];
|
||||
buildInputs = [
|
||||
doerg
|
||||
];
|
||||
nativeBuildInputs = [
|
||||
babashka
|
||||
];
|
||||
|
||||
@@ -11,5 +11,6 @@
|
||||
net.deertopia/doerg {:local/root "../doerg"}
|
||||
metosin/reitit {:mvn/version "0.10.1"}
|
||||
http-kit/http-kit {:mvn/version "2.8.0"}
|
||||
instaparse/instaparse {:mvn/version "1.5.0"}}
|
||||
instaparse/instaparse {:mvn/version "1.5.0"}
|
||||
aero/aero {:mvn/version "1.1.6"}}
|
||||
:paths ["src" "resources" "test"]}
|
||||
|
||||
@@ -20,7 +20,10 @@
|
||||
(loop [os (seq overrides)
|
||||
loc zloc]
|
||||
(if-some [[[k v] & xs] os]
|
||||
(recur xs (z/assoc loc k v))
|
||||
(do (binding [*out* *err*]
|
||||
(printf "override dep %s with %s\n"
|
||||
(pr-str k) (pr-str v)))
|
||||
(recur xs (z/assoc loc k v)))
|
||||
loc)))
|
||||
|
||||
(defn args->overrides [args]
|
||||
|
||||
5
publisher/resources/net/deertopia/publisher/config.edn
Normal file
5
publisher/resources/net/deertopia/publisher/config.edn
Normal file
@@ -0,0 +1,5 @@
|
||||
#:net.deertopia.publisher
|
||||
{:state-directory #join [#or [#env XDG_STATE_HOME
|
||||
#envf ["%s/.local/share" HOME]]
|
||||
"/doerg-publisher"]
|
||||
:org-roam-db-path #join [#env HOME "/.cache/emacs/org-roam.db"]}
|
||||
@@ -1,17 +1,28 @@
|
||||
(ns net.deertopia.publisher.config
|
||||
(:require [babashka.fs :as fs]
|
||||
[clojure.spec.alpha :as s]
|
||||
[net.deertopia.doerg.config :as doerg]))
|
||||
[net.deertopia.doerg.config :as doerg-config]
|
||||
[net.deertopia.doerg :as-alias doerg]
|
||||
[net.deertopia.publisher :as-alias p]
|
||||
[aero.core :as aero]
|
||||
[clojure.java.io :as io]))
|
||||
|
||||
(s/def ::config
|
||||
(s/keys :req [::state-directory
|
||||
::org-roam-db-path]))
|
||||
(s/def ::p/config
|
||||
(s/keys :req [::p/state-directory
|
||||
::p/org-roam-db-path]))
|
||||
|
||||
(s/def ::p/state-directory ::doerg/file)
|
||||
(s/def ::p/org-roam-db-path ::doerg/file)
|
||||
|
||||
(def read-config (doerg-config/make-read-config ::p/config))
|
||||
|
||||
(def default
|
||||
{::state-directory (fs/xdg-state-home "doerg-publisher")
|
||||
::org-roam-db-path (fs/file (fs/home) ".cache" "emacs" "org-roam.db")})
|
||||
(read-config
|
||||
;; Default config.
|
||||
(io/resource "net/deertopia/publisher/config.edn")
|
||||
;; Defaults set at build time, if any.
|
||||
(io/resource "net/deertopia/publisher/extra-config.edn")
|
||||
;; Config set at runtime.
|
||||
(System/getenv "DOERG_PUBLISHER_CONFIG")))
|
||||
|
||||
(def ^:dynamic *cfg* default)
|
||||
|
||||
(s/def ::state-directory ::doerg/file)
|
||||
(s/def ::org-roam-db-path ::doerg/file)
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
[net.deertopia.publisher.config :as cfg]
|
||||
[net.deertopia.publisher.elisp :as elisp]
|
||||
[net.deertopia.publisher.slug :as slug]
|
||||
[net.deertopia.publisher :as-alias publisher]
|
||||
[next.jdbc :as sql])
|
||||
(:import (java.util UUID)))
|
||||
|
||||
@@ -11,7 +12,7 @@
|
||||
|
||||
(defonce ^:dynamic *use-db-cache?* true)
|
||||
|
||||
(def db-path (-> cfg/*cfg* ::cfg/org-roam-db-path
|
||||
(def db-path (-> cfg/*cfg* ::publisher/org-roam-db-path
|
||||
fs/expand-home str))
|
||||
|
||||
(def db {:dbtype "sqlite"
|
||||
|
||||
@@ -18,7 +18,10 @@
|
||||
[reitit.spec]
|
||||
[reitit.dev.pretty]
|
||||
[clojure.spec.alpha :as s]
|
||||
[net.deertopia.doerg.render :as doerg-render]))
|
||||
[net.deertopia.doerg.render :as doerg-render]
|
||||
[net.deertopia.publisher.cached-file :as cached-file]
|
||||
[babashka.fs :as fs]
|
||||
[aero.core :as aero]))
|
||||
|
||||
|
||||
;;; Routes
|
||||
|
||||
Reference in New Issue
Block a user