diff --git a/src/equilibrium/blog.clj b/src/equilibrium/blog.clj
index ec45296..f4ee28a 100644
--- a/src/equilibrium/blog.clj
+++ b/src/equilibrium/blog.clj
@@ -70,3 +70,28 @@
:let [target (site->target-file config output-root site)]]
(spit target
(fill-in-fn site))))
+
+(defn sites-preview [sites]
+ (reduce (fn [res site]
+ (let [content (:content site)
+ divider-pos (string/index-of content "
")
+ length (count content)
+ end (or divider-pos length)
+ pre-content (subs content 0 end)
+ article-link (str ""
+ "↪"
+ (when divider-pos "…")
+ "")]
+ (str res
+ ""
+ pre-content
+ ""
+ article-link
+ "
"
+ "")))
+ ""
+ (take-last
+ 5
+ (reverse sites))))
diff --git a/src/equilibrium/core.clj b/src/equilibrium/core.clj
index df5ee30..d6fff8e 100644
--- a/src/equilibrium/core.clj
+++ b/src/equilibrium/core.clj
@@ -11,3 +11,10 @@
.toPath
.getFileName
.toString))
+
+(defn env-val [env-name]
+ (let [env-val (System/getenv env-name)]
+ (when (= nil env-val)
+ (throw (ex-info (str "env var not found " env-name)
+ {:env-var env-name})))
+ env-val))
diff --git a/src/equilibrium/render.clj b/src/equilibrium/render.clj
index bef6a7a..8b3520c 100644
--- a/src/equilibrium/render.clj
+++ b/src/equilibrium/render.clj
@@ -25,22 +25,6 @@
(defn index-template []
(slurp (str input-root "/index.html")))
-(comment
- (defn navcode [sites]
- (let [sorted-sites (sort-by #(core/filename %) sites)
- clean-file-name-fn #(core/clean-name (core/filename %))
- nav-line-fn #(str ""
- ""
- (clean-file-name-fn %)
- "")]
- (str ""
- (reduce #(str %1 (nav-line-fn %2))
- ""
- sorted-sites)
- "
"))))
-
(defn site-destination [filename]
(str output-root
"/"
@@ -129,36 +113,8 @@
(comment
(particle-content "aside"))
-(defn blog-sites-preview [blog-name]
- (reduce (fn [res site]
- (let [content (:content site)
- divider-pos (string/index-of content "")
- length (count content)
- end (or divider-pos length)
- pre-content (subs content 0 end)
- article-link (str ""
- "↪"
- (when divider-pos
- "…")
- "")]
- (str res
- ""
- pre-content
- ""
- article-link
- "
"
- "")))
- ""
- (->> blog-name
- blog-sites
- (take-last 5)
- reverse)))
-
(defn fill-in-placeholders [html page]
(let [simple (-> html
- ;; (string/replace #"&:nav" (:navcode context ""))
(string/replace #"&:content" (:content page ""))
(string/replace #"&:title" (get-in page [:metadata :title] ""))
(string/replace #"&:generated-at" (now-str)))
@@ -171,18 +127,14 @@
(first particle)
(particle-content (second particle))))
blog-sites-fn (fn [result [match-str blog-name]]
- (string/replace
- result
- match-str
- (blog-sites-preview blog-name)))
+ (let [sites (blog-sites blog-name)]
+ (string/replace result
+ match-str
+ (blog/sites-preview sites))))
envs-fn (fn [result [match-str env-name]]
- (when (= nil (System/getenv env-name))
- (throw (ex-info (str "env var not found " env-name)
- {:env-var env-name
- :match-str match-str})))
(string/replace result
match-str
- (System/getenv env-name)))]
+ (core/env-val env-name)))]
(as-> simple $
(reduce particle-fn $ particles)
(reduce blog-sites-fn $ last-blog-sites)