Skip to content

Commit 9a8659d

Browse files
committed
CRs + add icons to navigation
1 parent 60f7af3 commit 9a8659d

File tree

3 files changed

+38
-28
lines changed

3 files changed

+38
-28
lines changed

scala3doc/resources/dotty_res/styles/scalastyle.css

Lines changed: 24 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -181,14 +181,20 @@ th {
181181
#sideMenu2 div.expanded>div {
182182
display: block;
183183
}
184-
185184
/* always show top level entry*/
186185
#sideMenu2>div{
187186
display: block;
188187
}
189188

189+
#sideMenu2 span.micon {
190+
height: 16px;
191+
width: 16px;
192+
margin-right: 8px;
193+
}
194+
190195
/* 'a's in side menu represent text of entry with link */
191196
#sideMenu2 a {
197+
display: flex;
192198
align-items: center;
193199
flex: 1;
194200
overflow-x: hidden;
@@ -200,19 +206,12 @@ th {
200206
margin-top: 1px;
201207
margin-bottom: 1px;
202208
width: 100%;
203-
display: block;
204209
/* This trick adds selected bachground stratching to the lef side of screen */
205210
margin-left: calc(0px - var(--side-width));
206211
padding-left: var(--side-width);
207212
width: calc(2 * var(--side-width));
208213
}
209214

210-
#sideMenu2 a::before {
211-
margin-left: -12em;
212-
width: 12em;
213-
background: red;
214-
}
215-
216215
#sideMenu2 a.selected {
217216
background: var(--leftbar-current-bg);
218217
font-weight: bold;
@@ -224,7 +223,7 @@ th {
224223
}
225224

226225
/* spans represent a expand button */
227-
#sideMenu2 span {
226+
#sideMenu2 span.ar {
228227
align-items: center;
229228
cursor: pointer;
230229
position: absolute;
@@ -233,7 +232,7 @@ th {
233232
padding: 4px;
234233
}
235234

236-
#sideMenu2 span::before {
235+
#sideMenu2 span.ar::before {
237236
content: "\e903"; /* arrow down */
238237
font-family: "dotty-icons" !important;
239238
font-size: 20px;
@@ -244,11 +243,11 @@ th {
244243
align-items: center;
245244
justify-content: center;
246245
}
247-
#sideMenu2 .expanded>span::before {
246+
#sideMenu2 .expanded>span.ar::before {
248247
content: "\e905"; /* arrow up */
249248
}
250249

251-
#sideMenu2 .div:hover>span::before {
250+
#sideMenu2 .div:hover>span.ar::before {
252251
color: var(--leftbar-current-bg);
253252
}
254253

@@ -613,55 +612,57 @@ footer .pull-right {
613612
position: relative;
614613
}
615614

616-
.header {
615+
.cover-header {
617616
display: flex;
618617
flex-direction: row;
619618
padding-top: 1em;
620619
}
621620

622-
.member-icon {
621+
.micon {
623622
box-sizing: content-box;
624623
height: 5.7em;
625624
width: 5.7em;
626625
color:transparent;
627626
}
628627

629-
.member-icon.class::before {
628+
.micon.c {
630629
content: url("../images/class.svg")
631630
}
632631

633-
.member-icon.class-with-companion::before {
632+
.micon.c-wc {
634633
content: url("../images/class_comp.svg")
635634
}
636635

637-
.member-icon.object::before {
636+
.micon.o {
638637
content: url("../images/object.svg")
639638
}
640639

641-
.member-icon.object-with-companion::before {
640+
.micon.o-wc {
642641
content: url("../images/object_comp.svg")
643642
}
644643

645-
.member-icon.trait::before {
644+
.micon.t {
646645
content: url("../images/trait.svg")
647646
}
648647

649-
.member-icon.trait-with-companion::before {
648+
.micon.t-wc {
650649
content: url("../images/trait_comp.svg")
651650
}
652651

653-
.member-icon.enum::before {
652+
.micon.e {
654653
content: url("../images/enum.svg")
655654
}
656655

657-
.member-icon.enum-with-companion::before {
656+
.micon.e-wc {
658657
content: url("../images/enum_comp.svg")
659658
}
660659

661-
.member-icon.given::before {
660+
.micon.g {
662661
content: url("../images/given.svg")
663662
}
664663

664+
665+
665666
/* Large Screens */
666667
@media(min-width: 1100px) {
667668
:root {

scala3doc/src/dotty/renderers/HtmlRenderer.scala

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -135,11 +135,20 @@ class HtmlRenderer(rootPackage: Member, val members: Map[DRI, Member])(using ctx
135135
)
136136

137137
private def buildNavigation(pageLink: Link): AppliedTag =
138+
def navigationIcon(member: Member) = member.kind match {
139+
case m if m.isInstanceOf[Classlike] => Seq(span(cls := s"micon ${member.kind.name.head}"))
140+
case _ => Nil
141+
}
142+
138143
def renderNested(nav: Page): (Boolean, AppliedTag) =
139144
val isSelected = nav.link.dri == pageLink.dri
140145
def linkHtml(exapnded: Boolean = false) =
141146
val attrs = if (isSelected) Seq(cls := "selected expanded") else Nil
142-
a(href := pathToPage(pageLink.dri, nav.link.dri), attrs)(nav.link.name)
147+
val icon = nav.content match {
148+
case m: Member => navigationIcon(m)
149+
case _ => Nil
150+
}
151+
Seq(a(href := pathToPage(pageLink.dri, nav.link.dri), attrs)(icon, nav.link.name))
143152

144153
nav.children match
145154
case Nil => isSelected -> div(linkHtml())
@@ -149,7 +158,7 @@ class HtmlRenderer(rootPackage: Member, val members: Map[DRI, Member])(using ctx
149158
val attr = if expanded || isSelected then Seq(cls := "expanded") else Nil
150159
(isSelected || expanded) -> div(attr)(
151160
linkHtml(expanded),
152-
span(),
161+
span(cls := "ar"),
153162
nested.map(_._2)
154163
)
155164
renderNested(navigablePage)._2

scala3doc/src/dotty/renderers/MemberRenderer.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,8 @@ class MemberRenderer(signatureRenderer: SignatureRenderer)(using DocContext) ext
143143
def memberIcon(member: Member) = member.kind match {
144144
case Kind.Package => Nil
145145
case _ =>
146-
val withCompanion = member.companion.fold("")(_ => "-with-companion")
147-
val iconSpan = span(cls := s"member-icon ${member.kind.name}$withCompanion")()
146+
val withCompanion = member.companion.fold("")(_ => "-wc")
147+
val iconSpan = span(cls := s"micon ${member.kind.name.head}$withCompanion")()
148148
Seq(member.companion.flatMap(link(_)).fold(iconSpan)(link => a(href := link)(iconSpan)))
149149
}
150150

@@ -353,7 +353,7 @@ class MemberRenderer(signatureRenderer: SignatureRenderer)(using DocContext) ext
353353
case Kind.RootPackage =>Seq(h1(summon[DocContext].args.name))
354354
case _ =>
355355
Seq(
356-
div(cls := "header")(
356+
div(cls := "cover-header")(
357357
memberIcon(m),
358358
h1(m.name)
359359
),

0 commit comments

Comments
 (0)