|
161 | 161 | (into [:div.text-sm.font-sans.px-5.mt-2]
|
162 | 162 | (map render-ns)
|
163 | 163 | (ns-tree (str-match-nss @!active-ns)))]])]]
|
164 |
| - [:div.flex-auto.max-h-screen.overflow-y-auto.px-8.py-5 |
| 164 | + [:div#main-column.flex-auto.max-h-screen.overflow-y-auto.px-8.py-5 |
165 | 165 | (let [ns (some-> @!active-ns symbol find-ns)]
|
166 | 166 | (cond
|
167 | 167 | ns [:<>
|
|
197 | 197 |
|
198 | 198 | (defn resolve-internal-link [link]
|
199 | 199 | (viewer/resolve-internal-link (cond->> link
|
200 |
| - (and (not (qualified-symbol? (symbol link))) @!active-ns) |
| 200 | + (and @!active-ns (not= :all @!active-ns) |
| 201 | + (not (find-ns (symbol link))) |
| 202 | + (not (qualified-symbol? (symbol link)))) |
201 | 203 | (str @!active-ns "/"))))
|
202 | 204 |
|
203 | 205 | (def custom-markdown-viewers
|
|
211 | 213 | :render-fn '(fn [{:keys [var ns]} _]
|
212 | 214 | [:a {:href (str "#" var)
|
213 | 215 | :on-click (fn [e] (.stopPropagation e) (.preventDefault e)
|
214 |
| - (when (and var ns) |
215 |
| - (let [scroll-to-target #(when-some [el (js/document.getElementById (name var))] |
216 |
| - (.scrollIntoView el))] |
217 |
| - (if (not= @!active-ns (str ns)) |
218 |
| - (do (reset! !active-ns (str ns)) |
219 |
| - (js/setTimeout scroll-to-target 500)) ;; TODO: smarter |
220 |
| - (scroll-to-target)))))} (str var)])}]) |
| 216 | + (when (resolve '!active-ns) |
| 217 | + (let [scroll-to-target (fn [] |
| 218 | + (if var |
| 219 | + (when-some [el (js/document.getElementById (name var))] |
| 220 | + (.scrollIntoView el)) |
| 221 | + (when ns |
| 222 | + (when-some [page (js/document.getElementById "main-column")] |
| 223 | + (.scroll page (applied-science.js-interop/obj :top 0))))))] |
| 224 | + (when ns |
| 225 | + (if (not= @!active-ns (str ns)) |
| 226 | + (do (reset! !active-ns (str ns)) |
| 227 | + (js/setTimeout scroll-to-target 500)) ;; TODO: smarter |
| 228 | + (scroll-to-target))))))} (str (or var ns))])}]) |
221 | 229 |
|
222 | 230 | (def custom-internal-links
|
223 | 231 | (update viewer/markdown-viewer :add-viewers viewer/add-viewers custom-markdown-viewers))
|
|
0 commit comments