From 96b2b931fea8aceec7dd8ae91db2b30e87834c97 Mon Sep 17 00:00:00 2001 From: Gerard Marull-Paretas Date: Fri, 5 Nov 2021 16:19:29 +0100 Subject: [PATCH] doc: doxygen: adjust Doxygen theme to match Sphinx better Adjust the Doxygen theme (based on doxygen-awesome) to match the Sphinx theme. While not perfect, the experience should now be more consistent. Signed-off-by: Gerard Marull-Paretas --- doc/_doxygen/doxygen-awesome-zephyr.css | 46 ++++- doc/_doxygen/doxygen-awesome-zephyr.js | 12 ++ doc/_doxygen/header.html | 1 + doc/_doxygen/logo.png | Bin 4785 -> 0 bytes doc/_doxygen/logo.svg | 218 ++++++++++++++++++++++++ doc/zephyr.doxyfile.in | 7 +- 6 files changed, 275 insertions(+), 9 deletions(-) create mode 100644 doc/_doxygen/doxygen-awesome-zephyr.js delete mode 100644 doc/_doxygen/logo.png create mode 100644 doc/_doxygen/logo.svg diff --git a/doc/_doxygen/doxygen-awesome-zephyr.css b/doc/_doxygen/doxygen-awesome-zephyr.css index 484fad896ae..b597aaa5013 100644 --- a/doc/_doxygen/doxygen-awesome-zephyr.css +++ b/doc/_doxygen/doxygen-awesome-zephyr.css @@ -20,6 +20,9 @@ html { --link-color: #2980b9; --param-color: #b71c1c; + + --side-nav-fixed-width: 300px; + --top-height: 220px; } @media (prefers-color-scheme: dark) { @@ -54,12 +57,6 @@ html.dark-mode { --param-color: #ef9a9a; } -@media screen and (min-width: 767px) { - #projectname, #projectbrief, #projectnumber { - color: var(--side-nav-foreground); - } -} - a:link, a:visited, a:hover, a:focus, a:active { color: var(--link-color) !important; } @@ -71,3 +68,40 @@ a:link, a:visited, a:hover, a:focus, a:active { dl.section dd, dl.bug dd, dl.deprecated dd { margin-inline-start: revert; } + +/* adjust top and title to ~match Sphinx docs */ +#top { + background: var(--side-nav-background); +} + +#titlearea { + padding-bottom: 0; +} + +#titlearea table { + width: 100%; +} + +#projectlogo img { + width: 200px; + height: 95px; + max-height: none !important; + padding-top: 12px; +} + +#projectalign { + display: none; +} + +@media screen and (min-width: 767px) { + #doc-content { + padding-top: calc(var(--top-height) - 180px); + } +} + +/* style for re-injected version */ +#projectversion { + color: var(--side-nav-foreground); + padding-top: 25px; + text-align: center; +} diff --git a/doc/_doxygen/doxygen-awesome-zephyr.js b/doc/_doxygen/doxygen-awesome-zephyr.js new file mode 100644 index 00000000000..a4e77f45690 --- /dev/null +++ b/doc/_doxygen/doxygen-awesome-zephyr.js @@ -0,0 +1,12 @@ +/* + * Copyright (c) 2021 Nordic Semiconductor ASA + * SPDX-License-Identifier: Apache-2.0 + */ + +window.addEventListener('DOMContentLoaded', (event) => { + /* re-inject project version at a custom location */ + let version = document.getElementById('projectnumber').innerText + let titleTable = document.querySelector('#titlearea table'); + let cell = titleTable.insertRow(1).insertCell(0); + cell.innerHTML = '
' + version + '
'; +}); diff --git a/doc/_doxygen/header.html b/doc/_doxygen/header.html index 73d1a6186bd..4422349d766 100644 --- a/doc/_doxygen/header.html +++ b/doc/_doxygen/header.html @@ -12,6 +12,7 @@ + $treeview $search $mathjax diff --git a/doc/_doxygen/logo.png b/doc/_doxygen/logo.png deleted file mode 100644 index 5acdaa79ff467299bb5d3f075c8fded389735df2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4785 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 diff --git a/doc/_doxygen/logo.svg b/doc/_doxygen/logo.svg new file mode 100644 index 00000000000..1f7c8addc27 --- /dev/null +++ b/doc/_doxygen/logo.svg @@ -0,0 +1,218 @@ + + + + + + image/svg+xml + + Untitled-1 + + + + + + + + + + + + + + + + + + + + + + Untitled-1 + + + + + + + + + + + + + + + + + diff --git a/doc/zephyr.doxyfile.in b/doc/zephyr.doxyfile.in index 64f071b7345..d8015bc1565 100644 --- a/doc/zephyr.doxyfile.in +++ b/doc/zephyr.doxyfile.in @@ -51,7 +51,7 @@ PROJECT_BRIEF = "A Scalable Open Source RTOS" # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy # the logo to the output directory. -PROJECT_LOGO = @ZEPHYR_BASE@/doc/_doxygen/logo.png +PROJECT_LOGO = @ZEPHYR_BASE@/doc/_doxygen/logo.svg # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path # into which the generated documentation will be written. If a relative path is @@ -1278,7 +1278,8 @@ HTML_EXTRA_STYLESHEET = @ZEPHYR_BASE@/doc/_doxygen/doxygen-awesome.css \ # files will be copied as-is; there are no commands or markers available. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_EXTRA_FILES = @ZEPHYR_BASE@/doc/_doxygen/doxygen-awesome-darkmode-toggle.js +HTML_EXTRA_FILES = @ZEPHYR_BASE@/doc/_doxygen/doxygen-awesome-darkmode-toggle.js \ + @ZEPHYR_BASE@/doc/_doxygen/doxygen-awesome-zephyr.js # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the style sheet and background images according to @@ -1600,7 +1601,7 @@ ENUM_VALUES_PER_LINE = 4 # Minimum value: 0, maximum value: 1500, default value: 250. # This tag requires that the tag GENERATE_HTML is set to YES. -TREEVIEW_WIDTH = 250 +TREEVIEW_WIDTH = 300 # If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to # external symbols imported via tag files in a separate window.