Fix docstrings in core.clj

This commit is contained in:
Archie Hilton 2024-11-03 22:38:22 +00:00
parent 8daae7ae22
commit 6ef987639d
1 changed files with 14 additions and 10 deletions

View File

@ -10,20 +10,22 @@
;; Thank you https://clojure.org/api/cheatsheet
; Generate a keyword-string map of the templates folder
(defn generate-template-map [template-dir]
(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 (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 [html-dir, output-dir]
(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 (filter #(.isFile %) (file-seq (io/file html-dir)))
contents (map slurp file-listing)
old-paths (map #(.getPath %) file-listing)
@ -31,18 +33,19 @@ the filenames as keyword keys"
new-paths (map #(string/join [output-dir %]) rootless-paths)]
(zipmap new-paths contents)))
(defn put_file [file_map_entry]
(defn put_file
"Output a file to a location while ensuring the required parent directories exist."
[file_map_entry]
(io/make-parents (first file_map_entry))
(spit (first file_map_entry) (second file_map_entry)))
(defn insert_templates [file-map-entry template-map]
; Will 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
(let [template-names (map first template-map)
file (first 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)
templates-used (re-seq template-reg contents)
new-contents (reduce #(string/replace %1 (first %2) ((keyword (second %2)) template-map)) contents templates-used)]
@ -51,6 +54,7 @@ the filenames as keyword keys"
; Main routine
; Read all the templates
(def template-map (generate-template-map template-dir))
; Read all the html files
(def output-file-map (generate-output-file-map html-dir output-dir))