@@ -213,12 +213,16 @@ looks in the base template directory."
213
213
(deffragment make-master-toc *master-toc-file* [ns-info branch-info all-branch-info prefix]
214
214
[:#project-name ] (content (:name params))
215
215
[:#version ] (content (:version branch-info))
216
- [:ul#left-sidebar-list :li ] (clone-for [ns ns-info]
217
- #(at %
216
+ [:div.NamespaceTOC ] #(when (> (count ns-info) 1 )
217
+ (at %
218
+ [:ul#left-sidebar-list :li ]
219
+ (clone-for [ns ns-info]
220
+ (fn [n]
221
+ (at n
218
222
[:a ] (do->
219
223
(set-attr :href (ns-html-file ns ))
220
- (content (:short-name ns )))))
221
- [:div.BranchTOC ] #(when all-branch-info
224
+ (content (:short-name ns ))))))))
225
+ [:div.BranchTOC ] #(when ( > ( count all-branch-info) 1 )
222
226
(at %
223
227
[:ul#left-sidebar-branch-list :li ]
224
228
(clone-for [{:keys [version name status]}
@@ -388,10 +392,11 @@ actually changed). This reduces the amount of random doc file changes that happe
388
392
[:div#sub-namespaces ]
389
393
(substitute (map #(render-sub-namespace-api % branch-info external-docs) (:subspaces ns ))))))
390
394
391
- (defn make-ns-page [ns master-toc external-docs branch-info prefix]
392
- (create-page (ns -html-file ns )
395
+ (defn make-ns-page [unique-ns? ns master-toc external-docs branch-info prefix]
396
+ (create-page (if unique-ns? " index.html " ( ns -html-file ns ) )
393
397
(when (not (:first? branch-info)) (:name branch-info))
394
- (cl-format nil " ~a - ~a ~a API documentation" (:short-name ns ) (params :name ) (:version branch-info))
398
+ (cl-format nil " ~a - ~a ~a API documentation"
399
+ (:short-name ns ) (params :name ) (:version branch-info))
395
400
prefix
396
401
master-toc
397
402
(make-local-toc (ns-toc-data ns ))
@@ -420,15 +425,16 @@ vars in ns-info that begin with that letter"
420
425
" \n *" " " )
421
426
suffix)))
422
427
423
- (defn gen-index-line [v ns ]
428
+ (defn gen-index-line [v ns unique-ns? ]
424
429
(let [var-name (:name v)
425
430
overhead (count var-name)
426
431
short-name (:short-name ns )
427
432
doc-len (+ 50 (min 0 (- 18 (count short-name))))]
428
433
#(at %
429
434
[:a ] (do->
430
435
(set-attr :href
431
- (str (ns-html-file ns ) " #" (:full-name ns ) " /" (:name v)))
436
+ (str (if unique-ns? " index.html" (ns-html-file ns ))
437
+ " #" (:full-name ns ) " /" (:name v)))
432
438
(content (:name v)))
433
439
[:#line-content ] (content
434
440
(cl-format nil " ~vt~a~vt~a~vt~a~%"
@@ -438,7 +444,7 @@ vars in ns-info that begin with that letter"
438
444
(doc-prefix v doc-len))))))
439
445
440
446
; ; TODO: skip entries for letters with no members
441
- (deffragment make-index-content *index-html-file* [branch-info vars-by-letter]
447
+ (deffragment make-index-content *index-html-file* [branch-info vars-by-letter unique-ns? ]
442
448
[:#header-project ] (content (:name params))
443
449
[:#header-version ] (content (:version branch-info))
444
450
[:#header-status ] (content (:status branch-info))
@@ -448,16 +454,18 @@ vars in ns-info that begin with that letter"
448
454
[:h2 ] (set-attr :id letter)
449
455
[:span#section-head ] (content letter)
450
456
[:span#section-content ] (clone-for [[v ns ] vars]
451
- (gen-index-line v ns )))))
457
+ (gen-index-line v ns unique-ns? )))))
452
458
453
459
(defn make-index-html [ns-info master-toc branch-info prefix]
454
460
(create-page *index-html-file*
455
461
(when (not (:first? branch-info)) (:name branch-info))
456
- (cl-format nil " Index - ~a ~a API documentation" (params :name ) (:version branch-info))
462
+ (cl-format nil " Index - ~a ~a API documentation"
463
+ (params :name ) (:version branch-info))
457
464
prefix
458
465
master-toc
459
466
nil
460
- (make-index-content branch-info (vars-by-letter ns-info))))
467
+ (make-index-content branch-info (vars-by-letter ns-info)
468
+ (<= (count ns-info) 1 ))))
461
469
462
470
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
463
471
; ;;
@@ -576,9 +584,11 @@ vars in ns-info that begin with that letter"
576
584
(let [prefix (if (:first? branch-info) nil " ../" )
577
585
master-toc (make-master-toc ns-info branch-info all-branch-info prefix)
578
586
external-docs (wrap-external-doc doc-dir master-toc)]
579
- (make-overview ns-info master-toc branch-info prefix)
580
- (doseq [ns ns-info]
581
- (make-ns-page ns master-toc external-docs branch-info prefix))
587
+ (if (> (count ns-info) 1 )
588
+ (do (make-overview ns-info master-toc branch-info prefix)
589
+ (doseq [ns ns-info]
590
+ (make-ns-page false ns master-toc external-docs branch-info prefix)))
591
+ (make-ns-page true (first ns-info) master-toc external-docs branch-info prefix))
582
592
(make-index-html ns-info master-toc branch-info prefix)
583
593
(make-index-clj ns-info branch-info)
584
594
(make-index-json ns-info branch-info)))))
0 commit comments