Skip to content

Commit b0fb7eb

Browse files
authored
Fix issue left hand panel issue (#5855)
1 parent 19d1166 commit b0fb7eb

File tree

4 files changed

+176
-27
lines changed

4 files changed

+176
-27
lines changed

doxygen/dox/GettingStarted.dox

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Step by step instructions for learning HDF5 that include programming examples
3636
</tr>
3737
</table>
3838

39-
\subsection subsec_learn_tutor The HDF Group Tutorials and Examples
39+
\subsection subsec_learn_tutor The HDF Group Tutorials &amp; Examples
4040
These tutorials and examples are available for learning about the HDF5 High Level APIs, tools,
4141
Parallel HDF5, and the VDS and SWMR features:
4242
<table>

doxygen/dox/ReferenceManual.dox

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -14,103 +14,106 @@ The functions provided by the HDF5 API are grouped into the following
1414
<caption>Core Reference Manual Modules</caption>
1515
<tr><th>Module</th><th colspan="4">Language</th><th>Description</th></tr>
1616
<tr>
17-
<th>Attributes (H5A)</th><td>@ref H5A "C"</td><td>@ref H5::Attribute "C++"</td><td>@ref FH5A "Fortran"</td><td>@ref JH5A "Java"</td><td>HDF5 attribute is a small metadata object describing the nature and/or intended usage of a primary data object.
17+
<th>Attributes (H5A)</th><td>@ref H5A "C"</td><td style="white-space: nowrap;">@ref H5::Attribute "C++"</td><td>@ref FH5A "Fortran"</td><td>@ref JH5A "Java"</td><td>HDF5 attribute is a small metadata object describing the nature and/or intended usage of a primary data object.
1818
</td>
1919
</tr>
2020
<tr>
21-
<th>Datasets (H5D)</th><td>@ref H5D "C"</td><td>@ref H5::DataSet "C++"</td><td>@ref FH5D "Fortran"</td><td>@ref JH5D "Java"</td><td>Manage HDF5 datasets, including the transfer of data between memory and disk and the description of dataset properties.
21+
<th>Datasets (H5D)</th><td>@ref H5D "C"</td><td style="white-space: nowrap;">@ref H5::DataSet "C++"</td><td>@ref FH5D "Fortran"</td><td>@ref JH5D "Java"</td><td>Manage HDF5 datasets, including the transfer of data between memory and disk and the description of dataset properties.
2222
</td>
2323
</tr>
2424
<tr>
25-
<th>Dataspaces (H5S)</th><td>@ref H5S "C"</td><td>@ref H5::DataSpace "C++"</td><td>@ref FH5S "Fortran"</td><td>@ref JH5S "Java"</td><td>HDF5 dataspaces describe the shape of datasets in memory or in HDF5 files.
25+
<th>Dataspaces (H5S)</th><td>@ref H5S "C"</td><td style="white-space: nowrap;">@ref H5::DataSpace "C++"</td><td>@ref FH5S "Fortran"</td><td>@ref JH5S "Java"</td><td>HDF5 dataspaces describe the shape of datasets in memory or in HDF5 files.
2626
</td>
2727
</tr>
2828
<tr>
29-
<th>Datatypes (H5T)</th><td>@ref H5T "C"</td><td>@ref H5::DataType "C++"</td><td>@ref FH5T "Fortran"</td><td>@ref JH5T "Java"</td><td>HDF5 datatypes describe the element type of HDF5 datasets and attributes.
29+
<th>Datatypes (H5T)</th><td>@ref H5T "C"</td><td style="white-space: nowrap;">@ref H5::DataType "C++"</td><td>@ref FH5T "Fortran"</td><td>@ref JH5T "Java"</td><td>HDF5 datatypes describe the element type of HDF5 datasets and attributes.
3030
</td>
3131
</tr>
3232
<tr>
33-
<th>Error Handling (H5E)</th><td>@ref H5E "C"</td><td>@ref H5::Exception "C++"</td><td>@ref FH5E "Fortran"</td><td>@ref JH5E "Java"</td><td>HDF5 library error reporting.
33+
<th>Error Handling (H5E)</th><td>@ref H5E "C"</td><td style="white-space: nowrap;">@ref H5::Exception "C++"</td><td>@ref FH5E "Fortran"</td><td>@ref JH5E "Java"</td><td>HDF5 library error reporting.
3434
</td>
3535
</tr>
3636
<tr>
37-
<th>Event Set (H5ES)</th><td>@ref H5ES "C"</td><td>"C++"</td><td>@ref FH5ES "Fortran"</td><td>"Java"</td><td>HDF5 event set life cycle used with HDF5 VOL connectors that enable the asynchronous feature in HDF5.
37+
<th>Event Set (H5ES)</th><td>@ref H5ES "C"</td><td style="white-space: nowrap;">C++</td><td>@ref FH5ES "Fortran"</td><td>Java</td><td>HDF5 event set life cycle used with HDF5 VOL connectors that enable the asynchronous feature in HDF5.
3838
</td>
3939
</tr>
4040
<tr>
41-
<th>Files (H5F)</th><td>@ref H5F "C"</td><td>@ref H5::H5File "C++"</td><td>@ref FH5F "Fortran"</td><td>@ref JH5F "Java"</td><td>Manage HDF5 files.
41+
<th>Files (H5F)</th><td>@ref H5F "C"</td><td style="white-space: nowrap;">@ref H5::H5File "C++"</td><td>@ref FH5F "Fortran"</td><td>@ref JH5F "Java"</td><td>Manage HDF5 files.
4242
</td>
4343
</tr>
4444
<tr>
45-
<th>Filters (H5Z)</th><td>@ref H5Z "C"</td><td>"C++"</td><td>@ref FH5Z "Fortran"</td><td>@ref JH5Z "Java"</td><td>Manage HDF5 user-defined filters.
45+
<th>Filters (H5Z)</th><td>@ref H5Z "C"</td><td style="white-space: nowrap;">C++</td><td>@ref FH5Z "Fortran"</td><td>@ref JH5Z "Java"</td><td>Manage HDF5 user-defined filters.
4646
</td>
4747
</tr>
4848
<tr>
49-
<th>Groups (H5G)</th><td>@ref H5G "C"</td><td>@ref H5::Group "C++"</td><td>@ref FH5G "Fortran"</td><td>@ref JH5G "Java"</td><td>Manage HDF5 groups.
49+
<th>Groups (H5G)</th><td>@ref H5G "C"</td><td style="white-space: nowrap;">@ref H5::Group "C++"</td><td>@ref FH5G "Fortran"</td><td>@ref JH5G "Java"</td><td>Manage HDF5 groups.
5050
</td>
5151
</tr>
5252
<tr>
53-
<th>Identifiers (H5I)</th><td>@ref H5I "C"</td><td>@ref H5::IdComponent "C++"</td><td>@ref FH5I "Fortran"</td><td>@ref JH5I "Java"</td><td>Manage identifiers defined by the HDF5 library.
53+
<th>Identifiers (H5I)</th><td>@ref H5I "C"</td><td style="white-space: nowrap;">@ref H5::IdComponent "C++"</td><td>@ref FH5I "Fortran"</td><td>@ref JH5I "Java"</td><td>Manage identifiers defined by the HDF5 library.
5454
</td>
5555
</tr>
5656
<tr>
57-
<th>Library General (%H5)</th><td>@ref H5 "C"</td><td>@ref H5::H5Library "C++"</td><td>@ref FH5 "Fortran"</td><td>@ref JH5 "Java"</td><td>Manage the life cycle of HDF5 library instances.
57+
<th>Library General (%H5)</th><td>@ref H5 "C"</td><td style="white-space: nowrap;">@ref H5::H5Library "C++"</td><td>@ref FH5 "Fortran"</td><td>@ref JH5 "Java"</td><td>Manage the life cycle of HDF5 library instances.
5858
</td>
5959
</tr>
6060
<tr>
61-
<th>Links (H5L)</th><td>@ref H5L "C"</td><td>"C++"</td><td>@ref FH5L "Fortran"</td><td>@ref JH5L "Java"</td><td>Manage HDF5 links and link types.
61+
<th>Links (H5L)</th><td>@ref H5L "C"</td><td style="white-space: nowrap;">C++</td><td>@ref FH5L "Fortran"</td><td>@ref JH5L "Java"</td><td>Manage HDF5 links and link types.
6262
</td>
6363
</tr>
6464
<tr>
65-
<th>Objects (H5O)</th><td>@ref H5O "C"</td><td>"C++"</td><td>@ref FH5O "Fortran"</td><td>@ref JH5O "Java"</td><td>Manage HDF5 objects (groups, datasets, datatype objects).
65+
<th>Objects (H5O)</th><td>@ref H5O "C"</td><td style="white-space: nowrap;">C++</td><td>@ref FH5O "Fortran"</td><td>@ref JH5O "Java"</td><td>Manage HDF5 objects (groups, datasets, datatype objects).
6666
</td>
6767
</tr>
6868
<tr>
69-
<th>Property Lists (H5P)</th><td>@ref H5P "C"</td><td>@ref H5::PropList "C++"</td><td>@ref FH5P "Fortran"</td><td>@ref JH5P "Java"</td><td>HDF5 property lists are the main vehicle to configure the behavior of HDF5 API functions.
69+
<th>Property Lists (H5P)</th><td>@ref H5P "C"</td><td style="white-space: nowrap;">@ref H5::PropList "C++"</td><td>@ref FH5P "Fortran"</td><td>@ref JH5P "Java"</td><td>HDF5 property lists are the main vehicle to configure the behavior of HDF5 API functions.
7070
</td>
7171
</tr>
7272
<tr>
73-
<th>Dynamically-loaded Plugins (H5PL)</th><td>@ref H5PL "C"</td><td>"C++"</td><td>"Fortran"</td><td>@ref JH5PL "Java"</td><td>Manage the loading behavior of HDF5 plugins.
73+
<th>Dynamically-loaded Plugins (H5PL)</th><td>@ref H5PL "C"</td><td style="white-space: nowrap;">C++</td><td>Fortran</td><td>@ref JH5PL "Java"</td><td>Manage the loading behavior of HDF5 plugins.
7474
</td>
7575
</tr>
7676
<tr>
77-
<th>References (H5R)</th><td>@ref H5R "C"</td><td>"C++"</td><td>@ref FH5R "Fortran"</td><td>@ref JH5R "Java"</td><td>Manage HDF5 references (HDF5 objects, attributes, and selections on datasets a.k.a. dataset regions).
77+
<th>References (H5R)</th><td>@ref H5R "C"</td><td style="white-space: nowrap;">C++</td><td>@ref FH5R "Fortran"</td><td>@ref JH5R "Java"</td><td>Manage HDF5 references (HDF5 objects, attributes, and selections on datasets a.k.a. dataset regions).
7878
</td>
7979
</tr>
8080
<tr>
81-
<th>VOL Connector (H5VL)</th><td>@ref H5VL "C"</td><td>"C++"</td><td>@ref FH5VL "Fortran"</td><td>@ref JH5VL "Java"</td><td>Manage HDF5 VOL connector plugins.
81+
<th>Virtual File Driver (H5VFD)</th><td>@ref H5VFD "C"</td><td style="white-space: nowrap;">C++</td><td>Fortran</td><td>Java</td><td>Manage HDF5 Virtual File Driver.
82+
</td>
83+
<tr>
84+
<th>VOL Connector (H5VL)</th><td>@ref H5VL "C"</td><td style="white-space: nowrap;">C++</td><td>@ref FH5VL "Fortran"</td><td>@ref JH5VL "Java"</td><td>Manage HDF5 VOL connector plugins.
8285
</td>
8386
</tr>
8487
</table>
8588
<table>
8689
<caption>High-level Reference Manual Modules</caption>
87-
<tr><th>Module</th><th colspan="4"></th>Language<th>Description</th></tr>
90+
<tr><th>Module</th><th colspan="4">Language</th><th>Description</th></tr>
8891
<tr>
89-
<th>HDF5 Lite APIs (H5LT,H5LD)</th><td>@ref H5LT "C"</td><td>"C++"</td><td>@ref FH5LT "Fortran"</td><td>"Java"</td><td>Functions to simplify creating and manipulating datasets, attributes and other features.
92+
<th>HDF5 Lite APIs (H5LT,H5LD)</th><td>@ref H5LT "C"</td><td style="white-space: nowrap;">C++</td><td>@ref FH5LT "Fortran"</td><td>Java</td><td>Functions to simplify creating and manipulating datasets, attributes and other features.
9093
</td>
9194
</tr>
9295
<tr>
93-
<th>HDF5 Images API (H5IM)</th><td>@ref H5IM "C"</td><td>"C++"</td><td>@ref FH5IM "Fortran"</td><td>"Java"</td><td>Creating and manipulating HDF5 datasets intended to be interpreted as images.
96+
<th>HDF5 Images API (H5IM)</th><td>@ref H5IM "C"</td><td style="white-space: nowrap;">C++</td><td>@ref FH5IM "Fortran"</td><td>Java</td><td>Creating and manipulating HDF5 datasets intended to be interpreted as images.
9497
</td>
9598
</tr>
9699
<tr>
97-
<th>HDF5 Table APIs (H5TB)</th><td>@ref H5TB "C"</td><td>"C++"</td><td>@ref FH5TB "Fortran"</td><td>"Java"</td><td>Creating and manipulating HDF5 datasets intended to be interpreted as tables.
100+
<th>HDF5 Table APIs (H5TB)</th><td>@ref H5TB "C"</td><td style="white-space: nowrap;">C++</td><td>@ref FH5TB "Fortran"</td><td>Java</td><td>Creating and manipulating HDF5 datasets intended to be interpreted as tables.
98101
</td>
99102
</tr>
100103
<tr>
101-
<th>HDF5 Packet Table APIs (H5PT)</th><td>@ref H5PT "C"</td><td>"C++"</td><td>"Fortran"</td><td>"Java"</td><td>Creating and manipulating HDF5 datasets to support append- and read-only operations on table data.
104+
<th>HDF5 Packet Table APIs (H5PT)</th><td>@ref H5PT "C"</td><td style="white-space: nowrap;">C++</td><td>Fortran</td><td>Java</td><td>Creating and manipulating HDF5 datasets to support append- and read-only operations on table data.
102105
</td>
103106
</tr>
104107
<tr>
105-
<th>HDF5 Dimension Scales APIs (H5DS)</th><td>@ref H5DS "C"</td><td>"C++"</td><td>@ref FH5DS "Fortran"</td><td>"Java"</td><td>Creating and manipulating HDF5 datasets that are associated with the dimension of another HDF5 dataset.
108+
<th>HDF5 Dimension Scales APIs (H5DS)</th><td>@ref H5DS "C"</td><td style="white-space: nowrap;">C++</td><td>@ref FH5DS "Fortran"</td><td>Java</td><td>Creating and manipulating HDF5 datasets that are associated with the dimension of another HDF5 dataset.
106109
</td>
107110
</tr>
108111
<tr>
109-
<th>HDF5 Optimizations APIs (H5DO)</th><td>@ref H5DO "C"</td><td>"C++"</td><td>@ref FH5DO "Fortran"</td><td>"Java"</td><td>Bypassing default HDF5 behavior in order to optimize for specific use cases.
112+
<th>HDF5 Optimizations APIs (H5DO)</th><td>@ref H5DO "C"</td><td style="white-space: nowrap;">C++</td><td>@ref FH5DO "Fortran"</td><td>Java</td><td>Bypassing default HDF5 behavior in order to optimize for specific use cases.
110113
</td>
111114
</tr>
112115
<tr>
113-
<th>Extensions (H5LR, H5LT)</th><td>@ref H5LR "C"</td><td>"C++"</td><td>"Fortran"</td><td>"Java"</td><td>
116+
<th>Extensions (H5LR, H5LT)</th><td>@ref H5LR "C"</td><td style="white-space: nowrap;">C++</td><td>Fortran</td><td>Java</td><td>
114117
</td>
115118
</tr>
116119
</table>

doxygen/hdf5_header.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<link href="$relpath$hdf5doxy.css" rel="stylesheet" type="text/css">
2424
<script type="text/javascript" src="$relpath$hdf5_navtree_hacks.js"></script>
2525

26-
<div style="background:#FFDDDD;font-size:120%;text-align:center;margin:0;padding:5px">Please, help us to better serve our user community by answering the following short survey: <a href="https://www.hdfgroup.org/website-survey/">https://www.hdfgroup.org/website-survey/</a></div>
26+
<div style="background:#FFDDDD;font-size:120%;text-align:center;margin:0;padding:5px">Help us improve by taking our short survey: <a href="https://www.hdfgroup.org/website-survey/">https://www.hdfgroup.org/website-survey/</a></div>
2727
<!-- ... other metadata & script includes ... -->
2828
<script type="text/javascript" src="$relpath^doxygen-awesome-tabs.js"></script>
2929
<script type="text/javascript">

doxygen/hdf5doxy.css

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,132 @@
2020
min-width: 200px; /* Prevent it from getting too small */
2121
}
2222

23+
/* Ensure main content and header never go behind the side panel */
24+
#doc-content,
25+
#top {
26+
margin-left: 255px !important; /* 245px sidebar + 10px gap */
27+
}
28+
29+
/* Only reset margin on smaller screens */
30+
@media screen and (max-width: 767px) {
31+
#doc-content,
32+
#top {
33+
margin-left: 0 !important;
34+
}
35+
}
36+
37+
/* Force layout fix for very wide screens */
38+
@media screen and (min-width: 1200px) {
39+
#doc-content,
40+
#top {
41+
margin-left: 260px !important; /* Slightly wider gap for large screens */
42+
}
43+
}
44+
45+
/* Backup approach: ensure body layout works properly */
46+
body {
47+
overflow-x: hidden; /* Prevent horizontal scrolling issues */
48+
}
49+
50+
/* Additional specificity - target the content container directly */
51+
#doc-content > div {
52+
margin-left: 0; /* Reset any inherited margins */
53+
padding-left: 0; /* Reset any inherited padding */
54+
}
55+
56+
/* Switch positions of "The HDF5 Field Guide" and "Last Updated" lines */
57+
#projectalign {
58+
display: flex !important;
59+
flex-direction: column-reverse !important;
60+
}
61+
62+
/* Style the header text lines */
63+
#projectname {
64+
font-weight: normal !important; /* Remove bold from the date line */
65+
}
66+
67+
#projectbrief {
68+
font-weight: bold !important; /* Make "The HDF5 Field Guide" bold */
69+
font-size: 1.1em; /* Slightly larger for better prominence */
70+
}
71+
72+
/* Hide the "HDF5" text and keep only the date */
73+
#projectname::before {
74+
content: "" !important; /* Remove any auto-generated content */
75+
}
76+
77+
/* Replace the entire project name content with just the date */
78+
#projectname {
79+
font-size: 0; /* Hide the original text */
80+
}
81+
82+
#projectname #projectnumber {
83+
font-size: 1rem; /* Restore normal font size for the date */
84+
font-weight: normal !important;
85+
}
86+
87+
/* Fix search box overlap issue and ensure proper sidebar positioning */
88+
@media screen and (min-width: 768px) {
89+
/* Create a dedicated row for the search box */
90+
#navrow1 {
91+
display: flex;
92+
flex-direction: column;
93+
}
94+
95+
#navrow1 .tablist {
96+
display: flex;
97+
flex-wrap: wrap;
98+
align-items: center;
99+
order: 1;
100+
}
101+
102+
/* Create second row container for search elements */
103+
#navrow1 .tablist > li:last-child,
104+
#navrow1 .tablist > li:nth-last-child(2) {
105+
order: 2;
106+
margin-top: 0.2em; /* Reduced from 0.5em to 0.2em */
107+
}
108+
109+
/* Style the search box container */
110+
#navrow1 .tablist > li:last-child {
111+
width: auto; /* Let it size based on content */
112+
display: flex;
113+
justify-content: flex-start;
114+
align-items: center;
115+
padding-left: 1em;
116+
}
117+
118+
/* Style the Full-Text Search tab on second line */
119+
#navrow1 .tablist > li:nth-last-child(2) {
120+
padding-left: 1em; /* Align with search box */
121+
margin-right: 1em; /* Space between tab and search box */
122+
}
123+
124+
/* Reset absolute positioning for search box */
125+
.tabs #MSearchBox {
126+
position: relative !important;
127+
right: auto !important;
128+
margin: 0 !important;
129+
width: 200px !important; /* Make search box smaller (default is wider) */
130+
height: 28px !important; /* Slightly reduce height */
131+
}
132+
133+
/* Make the search field inside the box smaller too */
134+
#MSearchField {
135+
font-size: 0.9em !important; /* Smaller font size */
136+
height: 24px !important; /* Match the container height */
137+
}
138+
139+
/* Make sure the side nav stays fixed position */
140+
#side-nav {
141+
position: fixed !important;
142+
left: 0 !important;
143+
top: 0 !important;
144+
height: 100vh !important;
145+
z-index: 100 !important;
146+
}
147+
}
148+
23149
/* Style the TOC to fill the entire side panel with proper scrolling */
24150
div.toc {
25151
margin: 0;
@@ -130,3 +256,23 @@ a[href^="https://"]::after
130256
background-size: contain;
131257
display: inline-block;
132258
}
259+
260+
/* Improve the survey banner background color */
261+
div[style*="background:#FFDDDD"] {
262+
background: #E3F2FD !important; /* Professional light blue */
263+
border-bottom: 1px solid #BBDEFB; /* Subtle border for definition */
264+
color: #1565C0 !important; /* Darker blue text for better contrast */
265+
transition: background-color 0.3s ease; /* Smooth transition effect */
266+
}
267+
268+
/* Style the survey banner link */
269+
div[style*="background:#FFDDDD"] a {
270+
color: #0D47A1 !important; /* Even darker blue for the link */
271+
text-decoration: underline;
272+
font-weight: 500; /* Slightly bolder for emphasis */
273+
}
274+
275+
div[style*="background:#FFDDDD"] a:hover {
276+
color: #1976D2 !important; /* Lighter blue on hover */
277+
text-decoration: none;
278+
}

0 commit comments

Comments
 (0)