Compare commits
No commits in common. "175dae050b53725eb8e1e7dac7de220d69f7a772" and "6ef987639d1e1981ec5ba841b5fe0e6603097d42" have entirely different histories.
175dae050b
...
6ef987639d
|
@ -8,30 +8,29 @@
|
|||
(def html-dir "./site/html")
|
||||
(def output-dir "./out")
|
||||
|
||||
(defn list-files [directory]
|
||||
(filter #(.isFile %) (file-seq (io/file directory))))
|
||||
|
||||
;; Thank you https://clojure.org/api/cheatsheet
|
||||
; Generate a keyword-string map of the templates folder
|
||||
(defn generate-template-map
|
||||
"Grab all files in the template directory and insert them into a map with
|
||||
the filenames as keyword keys"
|
||||
[template-dir]
|
||||
(let [files (list-files template-dir)]
|
||||
(let [files (filter #(.isFile %) (file-seq (io/file template-dir)))]
|
||||
(reduce #(assoc %1 (keyword (.getName %2)) (slurp %2)) {} files)))
|
||||
|
||||
; Generate a string-string map of the new filepaths and the unprocessed contents
|
||||
(defn generate-output-file-map
|
||||
"Take the input html files, read them, and create a mapping of their paths to
|
||||
their contents.
|
||||
|
||||
This would probably be better as a list of maps each containing a :contents
|
||||
and :path keyword.
|
||||
"
|
||||
[html-dir, output-dir]
|
||||
(let [file-listing (list-files html-dir)
|
||||
(let [file-listing (filter #(.isFile %) (file-seq (io/file html-dir)))
|
||||
contents (map slurp file-listing)
|
||||
new-paths (map #(->> %
|
||||
.getPath
|
||||
(drop (count html-dir))
|
||||
(cons output-dir)
|
||||
(string/join)) file-listing)]
|
||||
old-paths (map #(.getPath %) file-listing)
|
||||
rootless-paths (map #(subs % (count html-dir)) old-paths)
|
||||
new-paths (map #(string/join [output-dir %]) rootless-paths)]
|
||||
(zipmap new-paths contents)))
|
||||
|
||||
(defn put_file
|
||||
|
@ -41,6 +40,10 @@ the filenames as keyword keys"
|
|||
(spit (first file_map_entry) (second file_map_entry)))
|
||||
|
||||
(defn insert_templates
|
||||
"Go through and check all the template names in the file then
|
||||
mark which templates exist and which dont
|
||||
|
||||
Using this we can report an error for any templates which do not exist"
|
||||
[file-map-entry template-map]
|
||||
(let [file (first file-map-entry)
|
||||
contents (second file-map-entry)
|
||||
|
@ -61,5 +64,5 @@ the filenames as keyword keys"
|
|||
(for [of output-file-map]
|
||||
; of is a key-value pair
|
||||
(put_file (insert_templates of template-map))
|
||||
;(put_file of)
|
||||
;(put_file of)
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue