@@ -57,7 +57,14 @@ class HtmlRenderer(rootPackage: Member, val members: Map[DRI, Member])(using ctx
5757 templateToPage(indexPage, siteContext).withNewChildren(newChildren)
5858
5959 val hiddenPages : Seq [Page ] =
60- staticSite.toSeq.flatMap(c => c.orphanedTemplates.map(templateToPage(_, c)))
60+ staticSite match
61+ case None =>
62+ Seq (navigablePage.copy( // Add index page that is a copy of api/index.html
63+ link = navigablePage.link.copy(dri = docsRootDRI),
64+ children = Nil
65+ ))
66+ case Some (site) =>
67+ site.orphanedTemplates.map(templateToPage(_, site))
6168
6269 val allPages = navigablePage +: hiddenPages
6370
@@ -139,10 +146,10 @@ class HtmlRenderer(rootPackage: Member, val members: Map[DRI, Member])(using ctx
139146 case _ => Nil
140147 }
141148
142- def renderNested (nav : Page ): (Boolean , AppliedTag ) =
149+ def renderNested (nav : Page , toplevel : Boolean = false ): (Boolean , AppliedTag ) =
143150 val isSelected = nav.link.dri == pageLink.dri
144151 def linkHtml (exapnded : Boolean = false ) =
145- val attrs = if (isSelected) Seq (cls := " selected expanded" ) else Nil
152+ val attrs = if (isSelected || toplevel ) Seq (cls := " selected expanded" ) else Nil
146153 val icon = nav.content match {
147154 case m : Member => navigationIcon(m)
148155 case _ => Nil
@@ -152,15 +159,16 @@ class HtmlRenderer(rootPackage: Member, val members: Map[DRI, Member])(using ctx
152159 nav.children match
153160 case Nil => isSelected -> div(linkHtml())
154161 case children =>
155- val nested = children.map(renderNested)
162+ val nested = children.map(renderNested(_) )
156163 val expanded = nested.exists(_._1) || nav.link == pageLink
157- val attr = if expanded || isSelected then Seq (cls := " expanded" ) else Nil
164+ val attr =
165+ if expanded || isSelected || toplevel then Seq (cls := " expanded" ) else Nil
158166 (isSelected || expanded) -> div(attr)(
159167 linkHtml(expanded),
160168 span(cls := " ar" ),
161169 nested.map(_._2)
162170 )
163- renderNested(navigablePage)._2
171+ renderNested(navigablePage, toplevel = true )._2
164172
165173 private def hasSocialLinks = ! args.socialLinks.isEmpty
166174
0 commit comments