diff --git a/doclet/src/clojure/play_clj_doclet/core.clj b/doclet/src/clojure/play_clj_doclet/core.clj index 5144c71..ab99f64 100644 --- a/doclet/src/clojure/play_clj_doclet/core.clj +++ b/doclet/src/clojure/play_clj_doclet/core.clj @@ -89,10 +89,19 @@ (sort-by first) vec))))) +(defn merge-groups + [groups] + (for [{:keys [name] :as group} groups] + (when (and name (not (.endsWith name "*"))) + (->> (some #(if (= (:name %) (str name "*")) %) groups) + :raw + (assoc group :raw*))))) + (defn process-groups [{:keys [groups] :as parsed-file} doc-map] (->> (map #(process-group % doc-map) groups) - (remove #(nil? (:name %))) + merge-groups + (remove nil?) (assoc parsed-file :groups))) (defn parse-clj @@ -103,7 +112,8 @@ (sort-by #(.getName %)) (map #(.getCanonicalPath %)) (map marg/path-to-doc) - (map #(process-groups % doc-map)))) + (map #(process-groups % doc-map)) + (filter #(> (count (:groups %)) 0)))) (defn save [parsed-files] diff --git a/doclet/src/clojure/play_clj_doclet/html.clj b/doclet/src/clojure/play_clj_doclet/html.clj index dab8d89..4421d9e 100644 --- a/doclet/src/clojure/play_clj_doclet/html.clj +++ b/doclet/src/clojure/play_clj_doclet/html.clj @@ -16,14 +16,12 @@ [:b (str name)] " " (string/join ", " (map param args))] - (when text - [:i text])]) + (when text [:i text])]) (defn create-from-file [{:keys [ns groups] :as parsed-file}] [:div - (when (and ns (> (count groups) 0)) - [:h1 ns]) + (when ns [:h1 ns]) (for [group groups] [:div [:h2 {} (:name group)]