Improve doclet behavior

This commit is contained in:
oakes
2014-04-20 21:57:31 -04:00
parent 62c287f53b
commit 5a75758a03
3 changed files with 14 additions and 11 deletions

View File

@@ -131,8 +131,6 @@
"Material" {"material" :methods "Material" {"material" :methods
"material!" :methods} "material!" :methods}
"MathUtils" {"math!" :static-methods} "MathUtils" {"math!" :static-methods}
"MapLayer" {"map-layer" :methods
"map-layer!" :methods}
"Matrix3" {"matrix-3" :methods "Matrix3" {"matrix-3" :methods
"matrix-3!" :methods} "matrix-3!" :methods}
"Matrix4" {"matrix-4" :methods "Matrix4" {"matrix-4" :methods

View File

@@ -126,6 +126,8 @@
(->> (io/file "../src/") (->> (io/file "../src/")
file-seq file-seq
(filter #(-> % .getName (.endsWith ".clj"))) (filter #(-> % .getName (.endsWith ".clj")))
(remove #(contains? #{"physics.clj" "utils.clj"}
(-> % .getName)))
(sort-by #(.getName %)) (sort-by #(.getName %))
(map #(.getCanonicalPath %)) (map #(.getCanonicalPath %))
(map marg/path-to-doc) (map marg/path-to-doc)
@@ -134,10 +136,8 @@
(defn save (defn save
[parsed-files] [parsed-files]
(let [dir "doc"] (->> parsed-files pr-str (spit (io/file "doc.edn")))
(.mkdir (io/file dir)) (html/create "doc" parsed-files))
(->> parsed-files pr-str (spit (io/file "doc.edn")))
(html/create dir parsed-files)))
(defn parse (defn parse
[^RootDoc root] [^RootDoc root]

View File

@@ -4,8 +4,12 @@
[hiccup.core :refer :all])) [hiccup.core :refer :all]))
(defn str->filename (defn str->filename
[s] [ns s]
(-> s (-> (or (let [dot-pos (.lastIndexOf ns ".")]
(when-not (= dot-pos -1)
(subs ns (+ 1 dot-pos))))
"core")
(str "." s)
(string/replace "?" "_q") (string/replace "?" "_q")
(string/replace "->" "_") (string/replace "->" "_")
(string/replace ">" "_r") (string/replace ">" "_r")
@@ -20,7 +24,7 @@
[:div {:class "ns"} ns]) [:div {:class "ns"} ns])
(for [{:keys [name]} groups] (for [{:keys [name]} groups]
[:div {:class "name"} [:div {:class "name"}
[:a {:href (str->filename name)} [:a {:href (str->filename ns name)}
name]])))]) name]])))])
(defn java-param (defn java-param
@@ -80,13 +84,14 @@
(defn create (defn create
[dir parsed-files] [dir parsed-files]
(.mkdir (io/file dir))
(copy-from-res dir "main.css") (copy-from-res dir "main.css")
(copy-from-res dir "main.js") (copy-from-res dir "main.js")
(copy-from-res dir "highlight.css") (copy-from-res dir "highlight.css")
(copy-from-res dir "highlight.js") (copy-from-res dir "highlight.js")
(doseq [{:keys [groups] :as pf} parsed-files] (doseq [{:keys [ns groups] :as pf} parsed-files]
(doseq [{:keys [name] :as group} groups] (doseq [{:keys [name] :as group} groups]
(spit (io/file dir (str->filename name)) (spit (io/file dir (str->filename ns name))
(create-file parsed-files name (content group))))) (create-file parsed-files name (content group)))))
(spit (io/file dir "index.html") (spit (io/file dir "index.html")
(create-file parsed-files "play-clj docs" nil))) (create-file parsed-files "play-clj docs" nil)))