@@ -35,10 +35,10 @@ abstract class Renderer(rootPackage: Member, val members: Map[DRI, Member], prot
35
35
val childrenPages = member.members.filter(_.needsOwnPage)
36
36
Page (Link (member.name, member.dri), member, childrenPages.map(memberPage))
37
37
38
- val navigablePage : Page =
39
- val rootPckPage = memberPage(rootPackage)
40
- staticSite match
41
- case None => rootPckPage.withTitle(args.name)
38
+ val rootApiPage : Option [ Page ] = Some (memberPage(rootPackage)).filter(_.children.nonEmpty).map(_.withTitle(ctx.args.name))
39
+
40
+ val rootDocsPage : Option [ Page ] = staticSite match
41
+ case None => None
42
42
case Some (siteContext) =>
43
43
val rootTemplate = siteContext.staticSiteRoot.rootTemplate
44
44
@@ -98,14 +98,8 @@ abstract class Renderer(rootPackage: Member, val members: Map[DRI, Member], prot
98
98
99
99
val newRoot = newTemplates.head
100
100
101
- if newRoot.children.isEmpty && newRoot.templateFile.rawCode.isEmpty
102
- then rootPckPage.withTitle(args.name)
103
- else {
104
- val newRootPage = templateToPage(newRoot, siteContext)
105
- newRootPage.withNewChildren(
106
- Seq (rootPckPage.withTitle(" API" )).filter(_ => rootPackage.members.nonEmpty)
107
- )
108
- }
101
+ Some (newRoot).filter(r => r.children.nonEmpty || r.templateFile.rawCode.nonEmpty)
102
+ .map(templateToPage(_, siteContext))
109
103
110
104
val redirectPages : Seq [Page ] = staticSite.fold(Seq .empty)(siteContext => siteContext.redirectTemplates.map {
111
105
case (template, driFrom, driTo) =>
@@ -117,7 +111,7 @@ abstract class Renderer(rootPackage: Member, val members: Map[DRI, Member], prot
117
111
* Here we have to retrive index pages from hidden pages and replace fake index pages in navigable page tree.
118
112
*/
119
113
val allPages : Seq [Page ] =
120
- val all = navigablePage +: redirectPages
114
+ val all = rootApiPage ++ rootDocsPage ++ redirectPages
121
115
// We need to check for conflicts only if we have top-level member called docs
122
116
val hasPotentialConflict =
123
117
rootPackage.members.exists(m => m.name.startsWith(" _docs" ))
@@ -132,7 +126,7 @@ abstract class Renderer(rootPackage: Member, val members: Map[DRI, Member], prot
132
126
133
127
all.foreach(walk)
134
128
135
- all
129
+ all.toSeq
136
130
137
131
def renderContent (page : Page ): PageContent = page.content match
138
132
case m : Member =>
0 commit comments