Allow formatting with CSS

This commit is contained in:
oakes
2014-03-31 22:17:16 -04:00
parent 9f926daec0
commit 4b3d916a0a
2 changed files with 35 additions and 21 deletions

View File

@@ -90,13 +90,15 @@
[groups]
(for [{:keys [name] :as group} groups]
(when (and name (not (.endsWith name "*")))
(->> (some #(if (= (:name %) (str name "*")) %) groups)
(->> groups
(some #(if (= (:name %) (str name "*")) %))
:raw
(assoc group :raw*)))))
(defn process-groups
[{:keys [groups] :as parsed-file} doc-map]
(->> (map #(process-group % doc-map) groups)
(->> groups
(map #(process-group % doc-map))
merge-groups
(remove nil?)
(assoc parsed-file :groups)))

View File

@@ -2,6 +2,15 @@
(:require [clojure.string :as string]
[hiccup.core :refer :all]))
(defn sidebar
[parsed-files]
[:div {:class "sidebar"}
(for [{:keys [ns groups] :as pf} parsed-files]
(cons (when (> (count ns) 0)
[:div {:class "ns"} ns])
(for [g groups]
[:div {:class "name"} (:name g)])))])
(defn param
[[type-name param-name]]
(html [:span {}
@@ -11,27 +20,30 @@
(defn item
[{:keys [name text type args]}]
[:div
[:p
[:b (str name)]
" "
[:div {:class "item"}
[:span {:class "item-name"}
(str name)]
[:span {:class "item-args"}
(string/join ", " (map param args))]
(when text [:i text])])
(when text
[:div {:class "item-doc"} text])])
(defn create-from-file
[{:keys [ns groups] :as parsed-file}]
[:div
(when ns [:h1 ns])
(for [group groups]
[:div
[:h2 {} (:name group)]
(:docstring group)
(for [[name items] (:java group)]
[:div
(when (not= (:name group) name)
[:h3 name])
(map item items)])])])
(defn content
[parsed-files]
[:div {:class "content"}
(for [{:keys [ns groups] :as pf} parsed-files]
(for [{:keys [name docstring java] :as g} groups]
(concat [[:div {:class "header"} name]
[:div {:class "doc"} docstring]]
(for [[item-name items] java]
(cons (when (not= name item-name)
[:div {:class "sub-header"} item-name])
(map item items))))))])
(defn create
[parsed-files]
(html (map create-from-file parsed-files)))
(html [:head
[:link {:rel "stylesheet" :type "text/css" :href "style.css"}]]
[:body
(sidebar parsed-files)
(content parsed-files)]))