|
6 | 6 | [markdown.core :as md]
|
7 | 7 | [clojure.edn :as edn]
|
8 | 8 | [clojure.string :as string]
|
9 |
| - [pod.babashka.fswatcher :as fw]) |
| 9 | + [pod.babashka.fswatcher :as fw] |
| 10 | + [camel-snake-kebab.core :as csk]) |
10 | 11 |
|
11 | 12 | (:import (java.time LocalDateTime)))
|
12 | 13 |
|
|
97 | 98 | (when-let [category (or (some-> (first category)
|
98 | 99 | (resolve-docs-file-or-dirs!))
|
99 | 100 | {:title (fs/file-name f)})]
|
100 |
| - (->> items' |
101 |
| - (map #(let [config (resolve-docs-file-or-dirs! %) |
102 |
| - content-file (fs/file (string/replace-first (.toString %) #".edn$" ".md"))] |
103 |
| - (-> (cond-> config |
| 101 | + (let [category-k (csk/->snake_case_string (fs/file-name f)) |
| 102 | + category (assoc category :key category-k)] |
104 | 103 |
|
105 |
| - (and (nil? (:content config)) |
106 |
| - (fs/exists? content-file)) |
107 |
| - (assoc :content (resolve-docs-file-or-dirs! content-file)))))) |
| 104 | + (->> items' |
| 105 | + (map #(let [config (resolve-docs-file-or-dirs! %) |
| 106 | + content-file (fs/file (string/replace-first (.toString %) #".edn$" ".md"))] |
| 107 | + (-> (cond-> config |
108 | 108 |
|
109 |
| - (assoc category :children))))))) |
| 109 | + (and (nil? (:content config)) |
| 110 | + (fs/exists? content-file)) |
| 111 | + (assoc :content (resolve-docs-file-or-dirs! content-file))) |
| 112 | + (assoc :key (str category-k "/" (csk/->snake_case_string (fs/file-name content-file))))))) |
| 113 | + |
| 114 | + (assoc category :children)))))))) |
110 | 115 | (assoc output :children))
|
111 | 116 | results (assoc results :version (.toString (LocalDateTime/now)))]
|
112 | 117 |
|
|
0 commit comments