Skip to content

Commit fc5a18b

Browse files
authored
More discrete source links (#22)
* Link source as an emoji next to the var name Previously, the link to the source of a var was in a `<sub></sub>` at the end of the var description. However, it did not always play nicely with the Github markdown renderer. For instance, when the last thing in a docstring was a markdown table, that link would appear as a row. This commit solves that kind of issues by moving the link to an emoji right next to the var name. It also declutters the rendered page and make var names more striking. * Print separators between namespaces Making navigation easier when there are several namespaces on the rendered page.
1 parent 7bc7d67 commit fc5a18b

File tree

1 file changed

+16
-14
lines changed

1 file changed

+16
-14
lines changed

src/quickdoc/impl.clj

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
source-uri]}]
5858
(cond repo
5959
(format
60-
"<sub>[source](%s/blob/%s/%s#L%s-L%s)</sub>"
60+
"%s/blob/%s/%s#L%s-L%s"
6161
repo
6262
branch
6363
(:filename var)
@@ -100,16 +100,18 @@
100100
docstring)))
101101

102102
(defn print-var [ns->vars ns-name var _source {:keys [collapse-vars] :as opts}]
103+
(println)
103104
(when (var-filter var)
104105
(when collapse-vars (println "<details>\n\n"))
105106
(when collapse-vars
106107
(println (str "<summary><code>" (:name var) "</code>"
107108
(when-let [summary (var-summary var)]
108109
(str " - " summary)))
109110
"</summary>\n\n"))
110-
(println "##" (format "<a name=\"%s/%s\">`%s`</a>"
111+
(println "##" (format "<a name=\"%s/%s\">[:page_facing_up:](%s) `%s`</a>"
111112
ns-name
112113
(:name var)
114+
(var-source var opts)
113115
(:name var)))
114116
(when-let [arg-lists (or (when-let [quoted-arglists (-> var :meta :arglists)]
115117
(if (and (seq? quoted-arglists)
@@ -126,20 +128,20 @@
126128
(list (str (:name var) arglist)))
127129
arglist (binding [pprint/*print-miser-width* nil
128130
pprint/*print-right-margin* 120]
129-
(with-out-str (pprint/pprint arglist)))
130-
]
131-
(print arglist)))
132-
(println "```\n"))
133-
(when-let [doc (:doc var)]
134-
(println)
135-
(when (:macro var)
136-
(println "Macro.\n\n"))
137-
(print-docstring ns->vars ns-name doc opts)
138-
(print "<br>"))
139-
(println (var-source var opts))
140-
(when collapse-vars (println "</details>\n\n"))))
131+
(with-out-str (pprint/pprint arglist)))
132+
]
133+
(print arglist)))
134+
(println "```\n"))
135+
(when-let [doc (:doc var)]
136+
(println)
137+
(when (:macro var)
138+
(println "Macro.\n\n"))
139+
(print-docstring ns->vars ns-name doc opts)
140+
(when collapse-vars (println "</details>\n\n")))))
141141

142142
(defn print-namespace [ns-defs ns->vars ns-name vars opts overrides]
143+
(println)
144+
(println "-----")
143145
(let [ns (get-in ns-defs [ns-name 0])
144146
filename (:filename ns)
145147
source (try (slurp filename)

0 commit comments

Comments
 (0)