Skip to content

Commit 43c34b7

Browse files
committed
menu: migrate site menus to semantic navigation
Replace the hover-only menu structure across all eight menu variants with the shared semantic navigation markup. Use native details/summary disclosures for nested menus and a no-JavaScript checkbox toggle for narrow layouts. Mark current-page links with aria-current. Update symbol.t for the new header layout and retire the now-unused legacy curl-symbol styles. Use canonical destinations for the selected libcurl item and development status overview. Carry corrected pre-existing destinations into their final menu entries: the docs optionswhen page, the trurl and wcurl section landings, and the wcurl man page.
1 parent 461f9e7 commit 43c34b7

10 files changed

Lines changed: 342 additions & 330 deletions

File tree

_menu.html

Lines changed: 96 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -2,115 +2,116 @@
22
#define __MENU
33

44
#include "setup.t"
5+
#include "nav.t"
56

67
#ifndef NOBODY
78
<body>
89
#endif
910

1011
<div class="main">
1112

12-
<div class="menu">
13+
SITENAV_OPEN
1314

1415
#include "symbol.t"
1516

16-
<div class="dropdown">
17-
<a class="dropbtn" href="/download.html">Download</a>
18-
<div class="dropdown-content">
19-
<a href="https://github.com/curl/curl">Browse source</a>
20-
<a href="/ch/">Changelog</a>
21-
<a href="/rc/">Release candidates</a>
22-
<a href="/docs/releases.html">Release log</a>
23-
<a href="/tiny/">tiny-curl</a>
24-
</div>
25-
</div>
17+
SITENAV_CONTROLS
18+
SITENAV_LIST_OPEN
19+
SITENAV_GROUP_OPEN(Download)
20+
SITENAV_OVERVIEW(/download.html, Download overview)
21+
<li><a href="https://github.com/curl/curl">Browse source</a></li>
22+
<li><a href="/ch/">Changelog</a></li>
23+
<li><a href="/rc/">Release candidates</a></li>
24+
<li><a href="/docs/releases.html">Release log</a></li>
25+
<li><a href="/tiny/">tiny-curl</a></li>
26+
SITENAV_GROUP_CLOSE
2627

27-
<div class="dropdown">
28-
<a class="dropbtn" href="/docs/">Documentation</a>
29-
<div class="dropdown-content">
30-
<a href="/docs/projdocs.html">Project</a>
31-
<small>
32-
<a href="/docs/faq.html">FAQ</a>
33-
<a href="/docs/help-us.html">&nbsp; Help us</a>
34-
<a href="/docs/knownbugs.html">&nbsp; Known bugs</a>
35-
<a href="/docs/knownrisks.html">&nbsp; Known risks</a>
36-
<a href="/docs/todo.html">&nbsp; TODO</a>
37-
</small>
38-
<a href="/docs/protdocs.html">Protocols</a>
39-
<small>
40-
<a href="/docs/caextract.html">&nbsp; CA bundle</a>
41-
<a href="/docs/http-cookies.html">&nbsp; HTTP Cookies</a>
42-
<a href="/docs/sslcerts.html">&nbsp; SSL Certs</a>
43-
</small>
44-
<a href="/docs/reldocs.html">Releases</a>
45-
<small>
46-
<a href="/docs/security.html">&nbsp; Security</a>
47-
<a href="/docs/verify.html">&nbsp; Verify</a>
48-
<a href="/docs/versions.html">&nbsp; Version numbers</a>
49-
<a href="/docs/vulnerabilities.html">&nbsp; Vulnerabilities</a>
50-
</small>
51-
<a href="/docs/tooldocs.html">curl tool</a>
52-
<small>
53-
<a href="/docs/manpage.html">&nbsp; man page</a>
54-
<a href="/docs/tutorial.html">&nbsp; Tutorial</a>
55-
<a href="/docs/httpscripting.html">&nbsp; HTTP scripting</a>
56-
</small>
57-
<a href="/trurl/">trurl</a>
58-
<a href="/wcurl/">wcurl</a>
59-
<a href="/docs/videos/">Videos</a>
60-
<a href="/docs/whodocs.html">Who and Why</a>
61-
</div>
62-
</div>
28+
SITENAV_GROUP_OPEN(Documentation)
29+
SITENAV_OVERVIEW(/docs/, Documentation overview)
30+
<li class="sitenav-subgroup">
31+
<a href="/docs/projdocs.html">Project</a>
32+
<ul class="sitenav-submenu-nested">
33+
<li><a href="/docs/faq.html">FAQ</a></li>
34+
<li><a href="/docs/help-us.html">Help us</a></li>
35+
<li><a href="/docs/knownbugs.html">Known bugs</a></li>
36+
<li><a href="/docs/knownrisks.html">Known risks</a></li>
37+
<li><a href="/docs/todo.html">TODO</a></li>
38+
</ul>
39+
</li>
40+
<li class="sitenav-subgroup">
41+
<a href="/docs/protdocs.html">Protocols</a>
42+
<ul class="sitenav-submenu-nested">
43+
<li><a href="/docs/caextract.html">CA bundle</a></li>
44+
<li><a href="/docs/http-cookies.html">HTTP Cookies</a></li>
45+
<li><a href="/docs/sslcerts.html">SSL Certs</a></li>
46+
</ul>
47+
</li>
48+
<li class="sitenav-subgroup">
49+
<a href="/docs/reldocs.html">Releases</a>
50+
<ul class="sitenav-submenu-nested">
51+
<li><a href="/docs/security.html">Security</a></li>
52+
<li><a href="/docs/verify.html">Verify</a></li>
53+
<li><a href="/docs/versions.html">Version numbers</a></li>
54+
<li><a href="/docs/vulnerabilities.html">Vulnerabilities</a></li>
55+
</ul>
56+
</li>
57+
<li class="sitenav-subgroup">
58+
<a href="/docs/tooldocs.html">curl tool</a>
59+
<ul class="sitenav-submenu-nested">
60+
<li><a href="/docs/manpage.html">man page</a></li>
61+
<li><a href="/docs/tutorial.html">Tutorial</a></li>
62+
<li><a href="/docs/httpscripting.html">HTTP scripting</a></li>
63+
</ul>
64+
</li>
65+
<li><a href="/trurl/">trurl</a></li>
66+
<li><a href="/wcurl/">wcurl</a></li>
67+
<li><a href="/docs/videos/">Videos</a></li>
68+
<li><a href="/docs/whodocs.html">Who and Why</a></li>
69+
SITENAV_GROUP_CLOSE
6370

64-
<div class="dropdown">
65-
<a class="dropbtn" href="/libcurl/">libcurl</a>
66-
<div class="dropdown-content">
67-
<a href="/libcurl/c/">API</a>
68-
<a href="/libcurl/c/example.html">Examples</a>
69-
<a href="/libcurl/features.html">Features</a>
70-
<a href="/mail/list.cgi?list=curl-library">Mailing list</a>
71-
<a href="/libcurl/c/symbols-in-versions.html">Symbols</a>
72-
<a href="/libcurl/using/">Using libcurl</a>
73-
<a href="/libcurl/c/libcurl-tutorial.html">Tutorial</a>
74-
</div>
75-
</div>
71+
SITENAV_GROUP_OPEN(libcurl)
72+
SITENAV_OVERVIEW(/libcurl/, libcurl overview)
73+
<li><a href="/libcurl/c/">API</a></li>
74+
<li><a href="/libcurl/c/example.html">Examples</a></li>
75+
<li><a href="/libcurl/features.html">Features</a></li>
76+
<li><a href="/mail/list.cgi?list=curl-library">Mailing list</a></li>
77+
<li><a href="/libcurl/c/symbols-in-versions.html">Symbols</a></li>
78+
<li><a href="/libcurl/using/">Using libcurl</a></li>
79+
<li><a href="/libcurl/c/libcurl-tutorial.html">Tutorial</a></li>
80+
SITENAV_GROUP_CLOSE
7681

77-
<div class="dropdown">
78-
<a class="dropbtn" href="/gethelp.html">Get Help</a>
79-
<div class="dropdown-content">
80-
<a href="https://lists.haxx.se/listinfo/curl-library">curl-library</a>
81-
<a href="https://lists.haxx.se/listinfo/curl-users">curl-users</a>
82-
<a href="/docs/irc.html">IRC / chat</a>
83-
<a href="/mail/">Mailing lists</a>
84-
<a href="/book.html">Everything curl [book]</a>
85-
<a href="/docs/videos/">Video presentations</a>
86-
<a href="https://github.com/curl/curl/issues">Report a bug</a>
87-
<a href="/dev/vuln-disclosure.html">Report security issue</a>
88-
<a href="/support.html">Paid support</a>
89-
</div>
90-
</div>
82+
SITENAV_GROUP_OPEN(Get Help)
83+
SITENAV_OVERVIEW(/gethelp.html, Get Help overview)
84+
<li><a href="https://lists.haxx.se/listinfo/curl-library">curl-library</a></li>
85+
<li><a href="https://lists.haxx.se/listinfo/curl-users">curl-users</a></li>
86+
<li><a href="/docs/irc.html">IRC / chat</a></li>
87+
<li><a href="/mail/">Mailing lists</a></li>
88+
<li><a href="/book.html">Everything curl [book]</a></li>
89+
<li><a href="/docs/videos/">Video presentations</a></li>
90+
<li><a href="https://github.com/curl/curl/issues">Report a bug</a></li>
91+
<li><a href="/dev/vuln-disclosure.html">Report security issue</a></li>
92+
<li><a href="/support.html">Paid support</a></li>
93+
SITENAV_GROUP_CLOSE
9194

92-
<div class="dropdown">
93-
<a class="dropbtn" href="/dev/">Development</a>
94-
<div class="dropdown-content">
95-
<a href="/dev/builds.html">Autobuilds</a>
96-
<a href="/dev/code-review.html">Code review</a>
97-
<a href="/dev/code-style.html">Code style</a>
98-
<a href="/dev/contribute.html">Contribute</a>
99-
<a href="/dashboard.html">Dashboard</a>
100-
<a href="/dev/dependencies.html">Dependencies</a>
101-
<a href="/dev/deprecate.html">Deprecate</a>
102-
<a href="/dev/release-notes.html">Release Notes</a>
103-
<a href="/dev/release-procedure.html">Release Procedure</a>
104-
<a href="/dev/roadmap.html">Roadmap</a>
105-
<a href="/dev/runtests.html">Run Tests</a>
106-
<a href="/rfc/">Specifications</a>
107-
<a href="/dev/testcurl.html">Test curl</a>
108-
<a href="/dev/tests-overview.html">Tests Overview</a>
109-
<a href="/dev/vuln-disclosure.html">Vulnerability Disclosure Policy</a>
110-
</div>
111-
</div>
112-
113-
</div>
95+
SITENAV_GROUP_OPEN(Development)
96+
SITENAV_OVERVIEW(/dev/, Development overview)
97+
<li><a href="/dev/builds.html">Autobuilds</a></li>
98+
<li><a href="/dev/code-review.html">Code review</a></li>
99+
<li><a href="/dev/code-style.html">Code style</a></li>
100+
<li><a href="/dev/contribute.html">Contribute</a></li>
101+
<li><a href="/dashboard.html">Dashboard</a></li>
102+
<li><a href="/dev/dependencies.html">Dependencies</a></li>
103+
<li><a href="/dev/deprecate.html">Deprecate</a></li>
104+
<li><a href="/dev/release-notes.html">Release Notes</a></li>
105+
<li><a href="/dev/release-procedure.html">Release Procedure</a></li>
106+
<li><a href="/dev/roadmap.html">Roadmap</a></li>
107+
<li><a href="/dev/runtests.html">Run Tests</a></li>
108+
<li><a href="/rfc/">Specifications</a></li>
109+
<li><a href="/dev/testcurl.html">Test curl</a></li>
110+
<li><a href="/dev/tests-overview.html">Tests Overview</a></li>
111+
<li><a href="/dev/vuln-disclosure.html">Vulnerability Disclosure Policy</a></li>
112+
SITENAV_GROUP_CLOSE
113+
SITENAV_LIST_CLOSE
114+
SITENAV_CLOSE
114115

115116
#ifdef SHOW_ALERT
116117
#include "alert.t"

curl.css

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -271,25 +271,19 @@ tr.hide {
271271
font-size: 26px;
272272
}
273273

274-
/* the top menu symbol box */
275-
div.curlsymbol {
276-
float: left;
277-
position: absolute;
278-
}
279-
280-
div.curlsymbol a {
274+
.curlsymbol {
281275
cursor: pointer;
282276
}
283277

284-
div.curlsymbol a img {
278+
.curlsymbol img {
279+
display: block;
285280
width: 41px;
286281
}
287282

288283
/* unset the default img:hover, and add hover-effect */
289-
div.curlsymbol a img:hover {
284+
.curlsymbol img:hover {
290285
background-color: unset !important;
291286
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
292-
width: 42px;
293287
}
294288

295289
/* ------------------------------------------------------------------------ */
@@ -655,10 +649,6 @@ div.yellowbox {
655649

656650
/* Final site-navigation breakpoint: the widest section menu needs this room. */
657651
@media screen and (max-width: 1000px) {
658-
div.curlsymbol {
659-
display: none;
660-
}
661-
662652
.sitenav {
663653
display: grid;
664654
grid-template-columns: minmax(44px, 1fr) auto;

dev/_menu.html

Lines changed: 40 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#define __MENU
33

44
#include "setup.t"
5+
#include "nav.t"
56

67
#ifndef NOBODY
78

@@ -14,47 +15,48 @@
1415
#define REF(link,text) <a href=link>text</a>
1516

1617
<div class="main">
17-
<div class="menu">
18+
SITENAV_OPEN
1819

1920
#include "symbol.t"
2021

21-
<div class="dropdown">
22-
<a class="dropbtn" href="/dev/">Dev-related docs</a>
23-
<div class="dropdown-content">
24-
<a href="/dev/code-review.html">Code Review</a>
25-
<a href="/dev/code-style.html">Code Style</a>
26-
<a href="/dev/contribute.html">Contribute</a>
27-
<a href="/dev/deprecate.html">Deprecate</a>
28-
<a href="/dev/dependencies.html">Dependency versions</a>
29-
<a href="/dev/experimental.html">Experimental</a>
30-
<a href="/dev/new-protocol.html">New protocol</a>
31-
<a href="/dev/release-procedure.html">Release procedure</a>
32-
<a href="/dev/roadmap.html">Roadmap</a>
33-
<a href="/dev/runtests.html">Run tests</a>
34-
<a href="/dev/source.html">Source code</a>
35-
<a href="/rfc/">Specifications</a>
36-
<a href="https://testclutch.curl.se/">Test Clutch</a>
37-
<a href="/dev/testcurl.html">Test curl</a>
38-
<a href="/dev/test-fileformat.html">Test case file format</a>
39-
<a href="/dev/tests-overview.html">Tests Overview</a>
40-
<a href="/dev/vuln-disclosure.html">Vulnerability Disclosure Policy</a>
41-
</div>
42-
</div>
43-
<div class="dropdown">
44-
<a class="dropbtn" href="/dev/./">Current status</a>
45-
<div class="dropdown-content">
46-
<a href="/dev/builds.html">Autobuilds</a>
47-
<a href="/snapshots/">Daily snapshots</a>
48-
<a href="/dashboard.html">Dashboard</a>
49-
<a href="/dev/feature-window.html">Feature window</a>
50-
<a href="/gitstats/">git stats</a>
51-
<a href="https://github.com/curl/curl/issues" target="_blank">Issues (github)</a>
52-
<a href="https://github.com/curl/curl/pulls" target="_blank">Pull requests (github)</a>
53-
<a href="/dev/release-notes.html">Release Notes</a>
54-
</div>
55-
</div>
56-
57-
</div>
22+
SITENAV_CONTROLS
23+
SITENAV_LIST_OPEN
24+
25+
SITENAV_GROUP_OPEN(Dev-related docs)
26+
SITENAV_OVERVIEW(/dev/, Dev-related docs overview)
27+
<li><a href="/dev/code-review.html">Code Review</a></li>
28+
<li><a href="/dev/code-style.html">Code Style</a></li>
29+
<li><a href="/dev/contribute.html">Contribute</a></li>
30+
<li><a href="/dev/deprecate.html">Deprecate</a></li>
31+
<li><a href="/dev/dependencies.html">Dependency versions</a></li>
32+
<li><a href="/dev/experimental.html">Experimental</a></li>
33+
<li><a href="/dev/new-protocol.html">New protocol</a></li>
34+
<li><a href="/dev/release-procedure.html">Release procedure</a></li>
35+
<li><a href="/dev/roadmap.html">Roadmap</a></li>
36+
<li><a href="/dev/runtests.html">Run tests</a></li>
37+
<li><a href="/dev/source.html">Source code</a></li>
38+
<li><a href="/rfc/">Specifications</a></li>
39+
<li><a href="https://testclutch.curl.se/">Test Clutch</a></li>
40+
<li><a href="/dev/testcurl.html">Test curl</a></li>
41+
<li><a href="/dev/test-fileformat.html">Test case file format</a></li>
42+
<li><a href="/dev/tests-overview.html">Tests Overview</a></li>
43+
<li><a href="/dev/vuln-disclosure.html">Vulnerability Disclosure Policy</a></li>
44+
SITENAV_GROUP_CLOSE
45+
46+
SITENAV_GROUP_OPEN(Current status)
47+
SITENAV_OVERVIEW(/dev/, Current status overview)
48+
<li><a href="/dev/builds.html">Autobuilds</a></li>
49+
<li><a href="/snapshots/">Daily snapshots</a></li>
50+
<li><a href="/dashboard.html">Dashboard</a></li>
51+
<li><a href="/dev/feature-window.html">Feature window</a></li>
52+
<li><a href="/gitstats/">git stats</a></li>
53+
<li><a href="https://github.com/curl/curl/issues" target="_blank">Issues (github)</a></li>
54+
<li><a href="https://github.com/curl/curl/pulls" target="_blank">Pull requests (github)</a></li>
55+
<li><a href="/dev/release-notes.html">Release Notes</a></li>
56+
SITENAV_GROUP_CLOSE
57+
58+
SITENAV_LIST_CLOSE
59+
SITENAV_CLOSE
5860

5961
START_OF_MAIN
6062
#endif

0 commit comments

Comments
 (0)