commit - a3b0e47c94480fe261dcaa76ec5c3bd2a93a98fa
commit + 0ae518ce1867e6369d05fb920faf803eafd21c09
blob - 754c106924546aeb9896ce7c3c8c277e30cb980f
blob + 49ce9f72c03daca1f4bd3b129c88b555f1b056d3
--- src/blog/core.clj
+++ src/blog/core.clj
[ring.adapter.jetty :as jetty]
[ring.middleware.content-type :refer [wrap-content-type]]
[ring.middleware.resource :refer [wrap-resource]])
- (:import (java.io File))
+ (:import (java.io File)
+ (java.nio.file Files Paths))
(:gen-class))
(defn copy-file [src dst]
"resources/out/gemini/post"
"resources/out/gemini/tag"
"resources/out/gemini/img"
+ "resources/out/gemini/cgi"
"resources/out/http"
"resources/out/http/css"
"resources/out/http/pages"
(rss/feed #(str "https://www.omarpolo.com/post/" % ".html") @posts)))
(defn copy-dir
- "Copy the content of resources/`dir` to resources/out/`proto`/`dir`, assuming
- these two directories exists. It does not copy recursively."
+ "Copy the content of resources/`dir` to resources/out/`proto`/`dir`,
+ assuming these two directories exists."
[dir proto]
- (let [in (io/file (str "resources/" dir "/"))
- out (str "resources/out/" proto "/" dir "/")]
- (doseq [f (->> in file-seq (filter #(.isFile %)))]
- (io/copy f (io/file (str out (.getName f)))))))
+ ;; java sucks at files
+ (sh "cp" "-a"
+ (str "resources/" dir)
+ (str "resources/out/" proto "/")))
(defn copy-assets
"Copy css and images to their places"
(copy-file "resources/favicon.ico" "resources/out/http/favicon.ico")
(copy-file "resources/css/style.css" "resources/out/http/css/style.css"))
+(defn copy-cgi
+ "Copy cgi scripts to their place."
+ []
+ (copy-dir "cgi" "gemini"))
+
(comment (build)
(count (filter gemini-post @posts))
(gemini/post-page (first @posts))
[]
(create-dirs!)
(copy-assets)
+ (copy-cgi)
(render-rss)
(doseq [[proto ffn ext homefn postfn tagsfn tagfn pagefn]
[[:http identity ".html" http/home-page http/post-page http/tags-page http/tag-page http/custom-page]