Skip to content

Commit ebcfab6

Browse files
authored
Merge pull request #50213 from SayakMukhopadhyay/sidebar-tree-styling-rework
Rework the stylesheet of sidebar
2 parents 031f646 + 6332644 commit ebcfab6

File tree

8 files changed

+154
-158
lines changed

8 files changed

+154
-158
lines changed

assets/js/sidebar-tree.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
let splitInstance = null;
2+
3+
function enableSplitter(mediaQuery) {
4+
if (mediaQuery.matches) {
5+
if (!splitInstance) {
6+
splitInstance = Split(["#sidebarnav", "#maindoc"], {
7+
sizes: [20, 80],
8+
minSize: 100,
9+
});
10+
}
11+
} else {
12+
if (splitInstance) {
13+
splitInstance.destroy();
14+
splitInstance = null;
15+
}
16+
}
17+
}
18+
19+
const screenWidthMediaQuery = window.matchMedia("(min-width: 768px)");
20+
21+
const eleNav = document.getElementById("sidebarnav");
22+
if (eleNav !== null) {
23+
enableSplitter(screenWidthMediaQuery);
24+
screenWidthMediaQuery.addListener(enableSplitter);
25+
}

assets/scss/_custom.scss

Lines changed: 0 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -50,35 +50,6 @@ body {
5050
}
5151
}
5252

53-
/* Gutter for sidebar splitter */
54-
.gutter {
55-
background-color: #eee;
56-
background-repeat: no-repeat;
57-
background-position: 50%;
58-
}
59-
60-
.gutter.gutter-horizontal {
61-
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==');
62-
cursor: col-resize;
63-
}
64-
65-
#sidebarnav,
66-
#maindoc {
67-
max-width: 100%;
68-
}
69-
70-
#maindoc {
71-
overflow-wrap: break-word;
72-
}
73-
74-
@media (max-width: 768px) {
75-
#sidebarnav {
76-
padding-left: 15px;
77-
padding-right: 15px;
78-
}
79-
80-
}
81-
8253
/* Complex table layout support */
8354

8455
.td-content, body.td-content {
@@ -1381,42 +1352,6 @@ body.cid-code-of-conduct main {
13811352
}
13821353
}
13831354

1384-
// search & sidebar
1385-
.td-sidebar {
1386-
@media only screen and (min-width: 768px) {
1387-
padding-top: 1.5rem !important;
1388-
1389-
.td-sidebar__inner {
1390-
top: 8.5rem;
1391-
1392-
@media only screen and (min-width: 1075px) {
1393-
top: 6.5rem;
1394-
}
1395-
}
1396-
}
1397-
}
1398-
1399-
.td-sidebar-nav {
1400-
& > .td-sidebar-nav__section {
1401-
padding-top: .5rem;
1402-
padding-left: 1.5rem;
1403-
}
1404-
}
1405-
1406-
.td-sidebar__inner {
1407-
form.td-sidebar__search {
1408-
1409-
.td-sidebar__toggle {
1410-
&:hover {
1411-
color: #000000;
1412-
}
1413-
1414-
color: $primary;
1415-
margin: 1rem;
1416-
}
1417-
}
1418-
}
1419-
14201355
.no-underline {
14211356
text-decoration: none !important;
14221357
}
@@ -1425,16 +1360,6 @@ body.cid-code-of-conduct main {
14251360
display: none !important;
14261361
}
14271362

1428-
.td-sidebar-link__page {
1429-
&#m-docs-search {
1430-
display: none;
1431-
}
1432-
1433-
&#m-docs-test {
1434-
display: none;
1435-
}
1436-
}
1437-
14381363
//Tutorials
14391364
main.content {
14401365
position: inherit;

assets/scss/_k8s_sidebar-tree.scss

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
.td-sidebar-nav {
2+
.td-sidebar-link.tree-root {
3+
display: none;
4+
}
5+
6+
#navbarDropdownMenuLink {
7+
display: none;
8+
}
9+
}
10+
11+
/* Gutter for sidebar splitter */
12+
.gutter {
13+
background-color: #eee;
14+
background-repeat: no-repeat;
15+
background-position: 50%;
16+
17+
&.gutter-horizontal {
18+
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==');
19+
cursor: col-resize;
20+
}
21+
}
22+
23+
#sidebarnav,
24+
#maindoc {
25+
max-width: 100%;
26+
}
27+
28+
#maindoc {
29+
overflow-wrap: break-word;
30+
}
31+
32+
@include media-breakpoint-down(sm) {
33+
#sidebarnav {
34+
padding-left: 15px;
35+
padding-right: 15px;
36+
}
37+
}
38+
39+
// search & sidebar
40+
.td-sidebar {
41+
@include media-breakpoint-up(sm){
42+
padding-top: 1.5rem !important;
43+
44+
.td-sidebar__inner {
45+
top: 8.5rem;
46+
47+
@media only screen and (min-width: 1075px) {
48+
top: 6.5rem;
49+
}
50+
}
51+
}
52+
}
53+
54+
.td-sidebar-nav {
55+
& > .td-sidebar-nav__section {
56+
padding-top: .5rem;
57+
padding-left: 1.5rem;
58+
}
59+
}
60+
61+
.td-sidebar__inner form.td-sidebar__search {
62+
.td-sidebar__toggle {
63+
&:hover {
64+
color: #000000;
65+
}
66+
67+
color: $primary;
68+
}
69+
}
70+
71+
.td-sidebar-link__page {
72+
&#m-docs-test {
73+
display: none;
74+
}
75+
}

assets/scss/_styles_project.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Add styles or import other files. */
99
// Base styles
1010
@import "k8s_community";
1111
@import "k8s_nav";
12+
@import "k8s_sidebar-tree";
1213

1314
//Media queries
1415
@import "base";

layouts/partials/blog-sidebar-tree.html

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,11 @@
2222
<div id="content-desktop"></div>
2323
{{ end -}}
2424
<nav class="collapse td-sidebar-nav{{ if .Site.Params.ui.sidebar_menu_foldable }} foldable-nav{{ end }}" id="td-section-nav">
25-
{{/* Re enable below once the disabling is done from CSS
2625
{{ if (gt (len .Site.Home.Translations) 0) -}}
2726
<div class="nav-item dropdown d-block d-lg-none">
2827
{{ partial "navbar-lang-selector.html" . }}
2928
</div>
3029
{{ end -}}
31-
*/}}
3230
{{ $navRoot := cond (and (ne .Params.toc_root true) (eq .Site.Home.Type "docs")) .Site.Home .FirstSection -}}
3331
{{ $ulNr := 0 -}}
3432
{{ $ulShow := cond (isset .Site.Params.ui "ul_show") .Site.Params.ui.ul_show 1 -}}

layouts/partials/hooks/head-end.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,3 +108,7 @@
108108
{{- end -}}
109109
{{ with .Params.js }}{{ range (split . ",") }}<script src="{{ (trim . " ") | relURL }}"></script><!-- custom js added -->
110110
{{ end }}{{ else }}<!-- no custom js detected -->{{ end }}
111+
112+
<!--for the splitter-->
113+
<!--script src="https://unpkg.com/split.js/dist/split.min.js"></script-->
114+
<script src="/js/split-1.6.0.js" integrity="sha384-0blL3GqHy6+9fw0cyY2Aoiwg4onHAtslAs4OkqZY7UQBrR65/K4gI+hxLdWDrjpz"></script>

layouts/partials/scripts.html

Lines changed: 2 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,15 @@
3131
{{ $jsBase := resources.Get "js/base.js" }}
3232
{{ $jsAnchor := resources.Get "js/anchor.js" }}
3333
{{ $jsNav := resources.Get "js/nav.js" | resources.ExecuteAsTemplate "js/nav.js" .Site.Params }}
34+
{{ $jsSidebarTree := resources.Get "js/sidebar-tree.js" | resources.ExecuteAsTemplate "js/sidebar-tree.js" .Site.Params }}
3435
{{ $jsSearch := resources.Get "js/search.js" | resources.ExecuteAsTemplate "js/search.js" .Site.Home }}
3536
{{ if .Site.Params.offlineSearch }}
3637
{{ $jsSearch = resources.Get "js/offline-search.js" }}
3738
{{/* Revisit this if / when either of https://github.com/google/docsy/issues/2194 and https://github.com/google/docsy/pull/1512 are closed */}}
3839
{{ else if .Site.Params.customSearch }}
3940
{{ $jsSearch = resources.Get "js/custom-search.js" }}
4041
{{ end }}
41-
{{ $js := (slice $jsBs $jsBase $jsAnchor $jsNav $jsSearch) | resources.Concat "js/main.js" -}}
42+
{{ $js := (slice $jsBs $jsBase $jsAnchor $jsNav $jsSidebarTree $jsSearch) | resources.Concat "js/main.js" -}}
4243
{{ if hugo.IsProduction -}}
4344
{{ $js := $js | minify | fingerprint -}}
4445
<script src="{{ $js.RelPermalink }}" integrity="{{ $js.Data.Integrity }}" crossorigin="anonymous"></script>
@@ -58,35 +59,4 @@
5859
crossorigin="anonymous"></script>
5960
{{ end -}}
6061

61-
<!--for the splitter-->
62-
<!--script src="https://unpkg.com/split.js/dist/split.min.js"></script-->
63-
<script src="/js/split-1.6.0.js" integrity="sha384-0blL3GqHy6+9fw0cyY2Aoiwg4onHAtslAs4OkqZY7UQBrR65/K4gI+hxLdWDrjpz"></script>
64-
<script>
65-
let splitInstance = null;
66-
67-
function enableSplitter(mediaQuery) {
68-
if (mediaQuery.matches) {
69-
if (!splitInstance) {
70-
splitInstance = Split(["#sidebarnav", "#maindoc"], {
71-
sizes: [20, 80],
72-
minSize: 100,
73-
});
74-
}
75-
} else {
76-
if (splitInstance) {
77-
splitInstance.destroy();
78-
splitInstance = null;
79-
}
80-
}
81-
}
82-
83-
const screenWidthMediaQuery = window.matchMedia("(min-width: 768px)");
84-
85-
const eleNav = document.getElementById("sidebarnav");
86-
if (eleNav !== null) {
87-
enableSplitter(screenWidthMediaQuery);
88-
screenWidthMediaQuery.addListener(enableSplitter);
89-
}
90-
</script>
91-
9262
{{ partial "hooks/body-end.html" . }}

0 commit comments

Comments
 (0)