Skip to content

Commit 90fd387

Browse files
committed
enhance sidebar navigation; add some doc
1 parent 416bded commit 90fd387

17 files changed

+802
-61
lines changed

docs/_data/sidebars/rules_ocaml_dg_sbdata.yml

Lines changed: 77 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,17 @@ entries:
1919
levels: two
2020
subfolders:
2121

22-
- title: OCaml build protocols
22+
- title: "OCaml: tools & protocols"
2323
open: true
24+
url: ocaml_overview
2425
output: web
2526
subfolderitems:
2627

28+
- title: Build protocols
29+
url: ocaml_build_protocols
30+
output: web
31+
2732
- title: Compilation
28-
parent: workflow
2933
url: ocaml_compilation
3034
output: web
3135

@@ -36,6 +40,25 @@ entries:
3640
- title: Linkage
3741
url: ocaml_linkage
3842
output: web
43+
subsubfolderitems:
44+
- title: ToC
45+
url: "#toc"
46+
output: web
47+
- title: Common options
48+
url: "#_common-options"
49+
output: web
50+
- title: Native binaries
51+
url: "#_native-binaries"
52+
output: web
53+
- title: Bytecode binaries
54+
url: "#_bytecode-binaries"
55+
output: web
56+
- title: Foreign library linkage
57+
url: "#_foreign-library-linkage"
58+
output: web
59+
- title: Diagnostics
60+
url: "#_diagnostics"
61+
output: web
3962

4063
- title: Runtimes
4164
url: ocaml_runtimes
@@ -49,6 +72,10 @@ entries:
4972
url: ocaml_ccdeps
5073
output: web
5174

75+
- title: Namespacing
76+
url: ocaml_namespacing
77+
output: web
78+
5279
- title: Understanding Bazel
5380
open: true
5481
output: web
@@ -94,26 +121,59 @@ entries:
94121
url: transitions
95122
output: web
96123

97-
- title: Rules for OCaml
98-
url: rules_ocaml
99-
output: web
124+
- title: rules_ocaml
125+
url: rules_ocaml
126+
output: web
127+
levels: three
128+
subfolderitems:
100129

101-
- title: Linkage
102-
url: obazl_linkage
103-
output: web
130+
- title: Compilation
131+
open: true
132+
output: web
133+
subsubfolderitems:
104134

105-
- title: Namespacing
106-
url: namespacing
107-
output: web
135+
- title: Signatures
136+
url: obazl_signatures
137+
output: web
108138

109-
- title: Ppx support
110-
url: ppx
111-
output: web
139+
- title: Structures
140+
url: obazl_structures
141+
output: web
142+
143+
- title: Linkage
144+
url: obazl_linkage
145+
output: web
146+
147+
- title: Namespacing support
148+
url: obazl_namespacing
149+
output: web
150+
subsubfolderitems:
151+
152+
- title: Terminology
153+
url: "#_terminology"
154+
output: web
155+
156+
- title: Defining
157+
url: "#_defining-a-namespace-library-ocaml_ns"
158+
output: web
159+
160+
- title: NS aliasing
161+
url: "#_ns-aliasing"
162+
output: web
163+
164+
- title: Private namespaces
165+
url: "#_private-namespaces"
166+
output: web
167+
168+
- title: Ppx support
169+
url: ppx
170+
output: web
171+
172+
- title: C/C++ dependencies
173+
url: cc_deps
174+
output: web
112175

113176
- title: Extending rules_ocaml
114177
url: extending
115178
output: web
116179

117-
- title: C/C++ dependencies
118-
url: cc_deps
119-
output: web

docs/_includes/sidebar_rules_ocaml.html

Lines changed: 55 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,19 +44,68 @@
4444
{% for subfolderitem in subfolders.subfolderitems %}
4545
{% if subfolderitem.output contains "web" %}
4646
{% if subfolderitem.external_url %}
47-
{% assign suburl = "foo" %}
48-
<li><a title="{{subfolderitem.title}}" href="{{subfolderitem.external_url}}" target="_blank" rel="noopener">{{subfolderitem.title}}</a></li>
47+
<li><a title="{{subfolderitem.title}}" href="{{subfolderitem.external_url}}" target="_blank" rel="noopener">D{{subfolderitem.title}}</a></li>
4948
{% elsif page.url == subfolderitem.url %}
50-
<li class="active"><a title="{{subfolderitem.title}}" href="{{subfolderitem.url | remove: "/"}}">{{subfolderitem.url}}</a></li>
49+
<li class="active"><a title="{{subfolderitem.title}}" href="{{subfolderitem.url | remove: "/"}}">C{{subfolderitem.url}}</a></li>
50+
5151
{% elsif page.name contains subfolderitem.url ".adoc" %}
52-
<li class="sb-navitem active"><a title="{{subfolderitem.title}}" href="{{subfolderitem.url | remove: "/"}}">{{ subfolderitem.title }}</a></li>
52+
<!-- <li class="sb-navitem active"><a title="{{subfolderitem.title}}" href="{{subfolderitem.url | remove: "/"}}">B{{ subfolderitem.title }}</a></li> -->
53+
<li class="subsubfolders active sb-navitem">
54+
<a class="subsubfolder {% if subfolderitem.subsubfolderitems %} twisty {% endif %}"
55+
title="{{subfolderitem.title}}" href="{{subfolderitem.url | remove: "/"}}">{{ subfolderitem.title }}</a>
56+
57+
<ul>
58+
<!-- <li class="active sb-navitem">Z<a title="{{subfolderitem.title}}" href="{{subfolderitem.url | remove: "/"}}">{{ subfolderitem.title }}</a></li> -->
59+
{% for subsubfolderitem in subfolderitem.subsubfolderitems %}
60+
{% if subsubfolderitem.output contains "web" %}
61+
{% if subsubfolderitem.external_url %}
62+
<li><a title="{{subsubfolderitem.title}}" href="{{subsubfolderitem.external_url}}" target="_blank" rel="noopener">{{subsubfolderitem.title}}</a></li>
63+
{% elsif page.url == subsubfolderitem.url %}
64+
<li class="active"><a title="{{subsubfolderitem.title}}" href="{{subsubfolderitem.url | remove: "/"}}">SD{{subsubfolderitem.url}}</a></li>
65+
{% elsif page.name contains subsubfolderitem.url ".adoc" %}
66+
<li class="sb-navitem active"><a title="{{subsubfolderitem.title}}" href="{{subsubfolderitem.url | remove: "/"}}">SC{{ subsubfolderitem.title }}</a></li>
67+
{% elsif subsubfoleritem.url == ":target" %}
68+
<li class="sb-navitem"><a title="{{subsubfolderitem.title}}" href="{{subsubfolderitem.url | remove: "/"}}">SB{{ subsubfolderitem.title }}</a></li>
69+
{% else %}
70+
<li class="sb-navitem {{subsubfolderitem.url | remove: "#"}}"><a title="{{subsubfolderitem.title}}" href="{{subsubfolderitem.url | remove: "/"}}">{{ subsubfolderitem.title }}</a></li>
71+
{% endif %}
72+
{% endif %}
73+
{% endfor %}
74+
75+
</ul>
76+
77+
78+
{% elsif subfolderitem.subsubfolderitems %}
79+
<li class="subsubfolders">
80+
<a class="subsubfolder {% if subfolderitem.subsubfolderitems %} twisty {% endif %}"
81+
title="{{subfolderitem.title}}" href="{{subfolderitem.url}}">{{ subfolderitem.title }}</a>
82+
<ul>
83+
<!-- <li class="active sb-navitem">Z<a title="{{subfolderitem.title}}" href="{{subfolderitem.url | remove: "/"}}">{{ subfolderitem.title }}</a></li> -->
84+
{% for subsubfolderitem in subfolderitem.subsubfolderitems %}
85+
{% if subsubfolderitem.output contains "web" %}
86+
{% if subsubfolderitem.external_url %}
87+
<li><a title="{{subsubfolderitem.title}}" href="{{subsubfolderitem.external_url}}" target="_blank" rel="noopener">{{subsubfolderitem.title}}</a></li>
88+
{% elsif page.url == subsubfolderitem.url %}
89+
<li class="active"><a title="{{subsubfolderitem.title}}" href="{{subsubfolderitem.url | remove: "/"}}">SA{{subsubfolderitem.url}}</a></li>
90+
{% elsif page.name contains subsubfolderitem.url ".adoc" %}
91+
<li class="sb-navitem active"><a title="{{subsubfolderitem.title}}" href="{{subsubfolderitem.url | remove: "/"}}">{{ subsubfolderitem.title }}</a></li>
92+
{% elsif subsubfolderitem.subsubfolders %}
93+
<li class="sb-navitem"><a title="{{subsubfolderitem.title}}" href="{{subsubfolderitem.url | remove: "/"}}">SY{{ subsubfolderitem.title }}</a></li>
94+
{% else %}
95+
<li class="sb-navitem"><a title="{{subsubfolderitem.title}}" href="{{subsubfolderitem.url | remove: "/"}}">{{ subsubfolderitem.title }}</a></li>
96+
{% endif %}
97+
{% endif %}
98+
{% endfor %}
99+
100+
</ul>
101+
</li>
53102
{% else %}
54103
<li class="sb-navitem"><a title="{{subfolderitem.title}}" href="{{subfolderitem.url | remove: "/"}}">{{ subfolderitem.title }}</a></li>
55104
{% endif %}
56105
{% endif %}
57106
{% endfor %}
58-
</ul>
59-
</li>
107+
</ul> <!-- subfolder nav-list-->
108+
</li> <!-- class="subfolders" -->
60109
{% endif %}
61110
{% endfor %}
62111
{% endif %}

docs/css/customstyles.css

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,10 @@ blockquote {
401401
content: '\25B8';
402402
margin-right: 4px;
403403
}
404+
.nav li > a.subsubfolder.twisty:before {
405+
content: '\25B8';
406+
margin-right: 4px;
407+
}
404408
/* .nav li > a > span:after { */
405409
/* content: '\25B8'; */
406410
/* } */
@@ -415,7 +419,12 @@ blockquote {
415419
/* } */
416420
/* content: '\25b4'; */
417421

418-
.nav a:hover, .nav li.active > a {
422+
.nav a:hover {
423+
background-color: red; /* #8D8D8D; */
424+
color: #f5f5f5;
425+
}
426+
427+
.nav li.active > a {
419428
background-color: #8D8D8D;
420429
color: #f5f5f5;
421430
}
@@ -478,6 +487,9 @@ li.selected{
478487
.nav ul li ul li a {
479488
padding-left:40px;
480489
}
490+
.nav ul li ul li ul li a {
491+
padding-left:60px;
492+
}
481493

482494
.nav li.thirdlevel > a {
483495
color: #248EC2;
@@ -496,7 +508,12 @@ li.selected{
496508
}
497509

498510
.nav li a:hover {
511+
background-color: #CCC; /* #8D8D8D; */
512+
color: black;
513+
}
514+
.nav li.active > a:hover {
499515
background-color: #8D8D8D;
516+
color: black;
500517
}
501518

502519
.nav ul li a {

docs/js/customscripts.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,18 @@ $('#mysidebar').height($(".nav").height());
1313
// contentDiv.innerHTML = await fetchHtmlAsText("home.html");
1414
// }
1515

16+
window.addEventListener('hashchange', function(e){
17+
tgt = $(":target").attr('id')
18+
var oldHash = e.oldURL.split('#')[1] || "";
19+
// console.log("oldhash: " + oldHash)
20+
if (oldHash) {
21+
oldli = "li." + oldHash
22+
// console.log("li: " + oldli)
23+
$(oldli).removeClass("active")
24+
}
25+
$("li." + tgt).addClass("active")
26+
})
27+
1628
// window.addEventListener("scroll", function () {
1729

1830
// console.log("hello");
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
= Namespacing
2-
:page-permalink: /:path/namespacing
1+
= Aspects
2+
:page-permalink: /:path/aspects
33
:page-layout: page_rules_ocaml
44
:page-pkg: rules_ocaml
55
:page-doc: dg
6-
:page-parent: ['../dev-guide']
76
:page-sidebar: rules_ocaml_dg_sbdata
7+
:page-parent: ['../dev-guide']
88
:page-tags: [formatting]
99
:page-keywords: notes, tips, cautions, warnings, admonitions
1010
:page-last_updated: Feb 11, 2025
1111
:toc: true
1212

13-
todo...
13+

0 commit comments

Comments
 (0)