Skip to content

Commit b1bcbc9

Browse files
committed
doc: implement new theme for new sdk doc server
Changes across doc framework files to implement the new way of serving NCS docs. Signed-off-by: Bartosz Gentkowski <bartosz.gentkowski@nordicsemi.no>
1 parent aa1bb85 commit b1bcbc9

7 files changed

Lines changed: 145 additions & 51 deletions

File tree

doc/_doxygen/doxygen-awesome.css

Lines changed: 111 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,21 @@ SOFTWARE.
2929

3030
html {
3131
/* primary theme color. This will affect the entire websites color scheme: links, arrows, labels, ... */
32-
--primary-color: #1779c4;
33-
--primary-dark-color: #335c80;
34-
--primary-light-color: #70b1e9;
32+
33+
--primary-color: #00a9ce;
34+
--primary-dark-color: #0056b3;
35+
--primary-light-color: #5cc8e0;
3536

3637
/* page base colors */
3738
--page-background-color: #ffffff;
38-
--page-foreground-color: #2f4153;
39-
--page-secondary-foreground-color: #6f7e8e;
39+
--page-foreground-color: #323e48;
40+
--page-secondary-foreground-color: #6b7280;
4041

4142
/* color for all separators on the website: hr, borders, ... */
42-
--separator-color: #dedede;
43+
--separator-color: #e2e8f0;
44+
--font-family: "Noto Sans", Carlito, sans-serif;
45+
--font-family-monospace: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;
46+
4347

4448
/* border radius for all rounded components. Will affect many components, like dropdowns, memitems, codeblocks, ... */
4549
--border-radius-large: 8px;
@@ -64,14 +68,13 @@ html {
6468
--font-family-monospace: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;
6569

6670
/* font sizes */
67-
--page-font-size: 15.6px;
71+
--page-font-size: 16px;
6872
--navigation-font-size: 14.4px;
6973
--toc-font-size: 13.4px;
70-
--code-font-size: 14px; /* affects code, fragment */
7174
--title-font-size: 22px;
7275

7376
/* content text properties. These only affect the page content, not the navigation or any other ui elements */
74-
--content-line-height: 27px;
77+
--content-line-height: 23px;
7578
/* The content is centered and constraint in it's width. To make the content fill the whole page, set the variable to auto.*/
7679
--content-maxwidth: 1050px;
7780
--table-line-height: 24px;
@@ -84,7 +87,7 @@ html {
8487
--warning-color-dark: #f3a600;
8588
--warning-color-darker: #5f4204;
8689
--note-color: #e4f3ff;
87-
--note-color-dark: #1879C4;
90+
--note-color-dark: #00a9ce;
8891
--note-color-darker: #274a5c;
8992
--todo-color: #e4dafd;
9093
--todo-color-dark: #5b2bdd;
@@ -104,34 +107,56 @@ html {
104107
--blockquote-foreground: #636568;
105108

106109
/* table colors */
107-
--tablehead-background: #f1f1f1;
108-
--tablehead-foreground: var(--page-foreground-color);
110+
111+
--tablehead-background: #eaeded;
112+
--tablehead-foreground: #333f48;
109113

110114
/* menu-display: block | none
111115
* Visibility of the top navigation on screens >= 768px. On smaller screen the menu is always visible.
112116
* `GENERATE_TREEVIEW` MUST be enabled!
113117
*/
114118
--menu-display: block;
115119

116-
--menu-focus-foreground: var(--page-background-color);
117-
--menu-focus-background: var(--primary-color);
120+
--menu-focus-foreground: #0033a0;
121+
--menu-focus-background: #e0f4f9;
118122
--menu-selected-background: rgba(0,0,0,.05);
119123

120124

121125
--header-background: var(--page-background-color);
122126
--header-foreground: var(--page-foreground-color);
123127

124128
/* searchbar colors */
125-
--searchbar-background: var(--side-nav-background);
126-
--searchbar-foreground: var(--page-foreground-color);
129+
--searchbar-background: #ffffff;
130+
--searchbar-foreground: #666f7b;
127131

128132
/* searchbar size
129133
* (`searchbar-width` is only applied on screens >= 768px.
130134
* on smaller screens the searchbar will always fill the entire screen width) */
131-
--searchbar-height: 33px;
132-
--searchbar-width: 210px;
133-
--searchbar-border-radius: var(--searchbar-height);
135+
--searchbar-height: 36px;
136+
--searchbar-width: 100%;
137+
max-width: none;
138+
--searchbar-border-radius: 4px;
139+
/* Nordic-like search (see sphinx nordic .ncs-search-input) */
140+
#MSearchBox {
141+
background: #ffffff !important;
142+
border: 1px solid rgba(0, 0, 0, 0.08) !important;
143+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06) !important;
144+
border-radius: 4px !important;
145+
}
146+
147+
#MSearchBox.MSearchBoxActive {
148+
border-color: #00a9ce !important;
149+
box-shadow: 0 0 0 1px #00a9ce !important;
150+
}
151+
152+
#MSearchField {
153+
color: #666f7b !important;
154+
}
134155

156+
#MSearchField::placeholder {
157+
color: #666f7b !important;
158+
opacity: 1;
159+
}
135160
/* code block colors */
136161
--code-background: #f5f5f5;
137162
--code-foreground: var(--page-foreground-color);
@@ -144,15 +169,16 @@ html {
144169
--fragment-keywordflow: #d67c3b;
145170
--fragment-token: #438a59;
146171
--fragment-comment: #969696;
147-
--fragment-link: #5383d6;
172+
--fragment-link: #00a9ce;
148173
--fragment-preprocessor: #46aaa5;
149174
--fragment-linenumber-color: #797979;
150175
--fragment-linenumber-background: #f4f4f5;
151176
--fragment-linenumber-border: #e3e5e7;
152177
--fragment-lineheight: 20px;
153178

154179
/* sidebar navigation (treeview) colors */
155-
--side-nav-background: #fbfbfb;
180+
181+
--side-nav-background: #ffffff;
156182
--side-nav-foreground: var(--page-foreground-color);
157183
--side-nav-arrow-opacity: 0;
158184
--side-nav-arrow-hover-opacity: 0.9;
@@ -347,7 +373,7 @@ a.anchor {
347373
*/
348374

349375
#top {
350-
background: var(--header-background);
376+
background:#333f48;;
351377
border-bottom: 1px solid var(--separator-color);
352378
}
353379

@@ -363,14 +389,16 @@ a.anchor {
363389
#main-nav {
364390
flex-grow: 5;
365391
padding: var(--spacing-small) var(--spacing-medium);
392+
margin-bottom: 18px;
366393
}
367394

368395
#titlearea {
369396
width: auto;
370-
padding: var(--spacing-medium) var(--spacing-large);
397+
/* padding: var(--spacing-medium) var(--spacing-large); */
371398
background: none;
372399
color: var(--header-foreground);
373400
border-bottom: none;
401+
padding: 0px 15px 23px 16px;
374402
}
375403

376404
@media screen and (max-width: 767px) {
@@ -386,6 +414,7 @@ a.anchor {
386414
#projectname {
387415
font-size: var(--title-font-size);
388416
font-weight: 600;
417+
color: white;
389418
}
390419

391420
#projectnumber {
@@ -405,6 +434,9 @@ a.anchor {
405434
#projectlogo img {
406435
max-height: calc(var(--title-font-size) * 2);
407436
margin-right: var(--spacing-small);
437+
max-height: 93px;
438+
width: auto;
439+
max-width: 200px;
408440
}
409441

410442
.sm-dox, .tabs, .tabs2, .tabs3 {
@@ -416,7 +448,24 @@ a.anchor {
416448
border-bottom: 1px solid var(--separator-color);
417449
margin-bottom: -1px;
418450
}
419-
451+
li#searchBoxPos2 {
452+
right: 1.5rem;
453+
}
454+
doxygen-awesome-dark-mode-toggle svg {
455+
color: #ffffff;
456+
}
457+
458+
doxygen-awesome-dark-mode-toggle svg path,
459+
doxygen-awesome-dark-mode-toggle svg circle,
460+
doxygen-awesome-dark-mode-toggle svg line,
461+
doxygen-awesome-dark-mode-toggle svg g {
462+
fill: #ffffff !important;
463+
stroke: #ffffff !important;
464+
}
465+
doxygen-awesome-dark-mode-toggle svg {
466+
transform: scale(0.75); /* try 0.65–0.9 */
467+
transform-origin: center;
468+
}
420469
.main-menu-btn-icon, .main-menu-btn-icon:before, .main-menu-btn-icon:after {
421470
background: var(--page-secondary-foreground-color);
422471
}
@@ -432,9 +481,11 @@ a.anchor {
432481
}
433482

434483
#main-menu a.has-submenu:hover span.sub-arrow {
435-
color: var(--page-foreground-color);
484+
border-color: #0033a0 transparent transparent transparent;
485+
color: #0033a0;
486+
}
436487
}
437-
}
488+
438489

439490
@media screen and (min-width: 768px) {
440491
.sm-dox li, .tablist li {
@@ -446,18 +497,41 @@ a.anchor {
446497
}
447498

448499
.sm-dox a:hover span.sub-arrow {
449-
border-color: var(--menu-focus-foreground) transparent transparent transparent;
500+
border-color: #0033a0 transparent transparent transparent;
501+
color: #0033a0;
450502
}
451503

452504
.sm-dox ul a span.sub-arrow {
453505
border-color: transparent transparent transparent var(--page-foreground-color);
454506
}
455507

456508
.sm-dox ul a:hover span.sub-arrow {
457-
border-color: transparent transparent transparent var(--menu-focus-foreground);
509+
border-color: #0033a0 transparent transparent transparent;
510+
color: #0033a0;
458511
}
459-
}
512+
}
513+
@media screen and (min-width: 768px) {
514+
/* top row: down-arrow */
515+
.sm-dox a.highlighted span.sub-arrow,
516+
.sm-dox a[aria-expanded="true"] span.sub-arrow {
517+
border-color: var(--menu-focus-foreground) transparent transparent transparent;
518+
/* or: #0033a0 */
519+
}
460520

521+
/* submenus: right-arrow */
522+
.sm-dox ul a.highlighted span.sub-arrow,
523+
.sm-dox ul a[aria-expanded="true"] span.sub-arrow {
524+
border-color: transparent transparent transparent var(--menu-focus-foreground);
525+
}
526+
}
527+
528+
#MSearchField {
529+
background-image: url(search.svg);
530+
background-repeat: no-repeat;
531+
background-position: 10px center;
532+
background-size: 1rem;
533+
padding-left: 2.25rem !important;
534+
}
461535
.sm-dox ul {
462536
background: var(--page-background-color);
463537
box-shadow: var(--box-shadow);
@@ -495,17 +569,18 @@ a.anchor {
495569

496570
.sm-dox ul a:hover, .sm-dox ul a:active, .sm-dox ul a:focus {
497571
font-size: var(--navigation-font-size) !important;
498-
color: var(--menu-focus-foreground) !important;
572+
/* color: var(--menu-focus-foreground) !important; */
499573
text-shadow: none;
500-
background-color: var(--menu-focus-background);
574+
background-color: #e0f4f9 !important;
575+
color: #0033a0 !important;
501576
border-radius: var(--border-radius-small) !important;
502577
}
503578

504579
.sm-dox a, .sm-dox a:focus, .tablist li, .tablist li a, .tablist li.current a {
505580
text-shadow: none;
506581
background: transparent;
507582
background-image: none !important;
508-
color: var(--header-foreground) !important;
583+
color: #ffffff !important;
509584
font-weight: normal;
510585
font-size: var(--navigation-font-size);
511586
border-radius: var(--border-radius-small) !important;
@@ -518,10 +593,12 @@ a.anchor {
518593
.sm-dox a:hover, .sm-dox a:active, .tablist li a:hover {
519594
text-shadow: none;
520595
font-weight: normal;
521-
background: var(--menu-focus-background);
522-
color: var(--menu-focus-foreground) !important;
596+
/* background: var(--menu-focus-background); */
597+
/* color: var(--menu-focus-foreground) !important; */
523598
border-radius: var(--border-radius-small) !important;
524599
font-size: var(--navigation-font-size);
600+
background-color: rgb(224, 244, 249) !important;
601+
color: #0033a0 !important;
525602
}
526603

527604
.tablist li.current {

doc/_doxygen/logo.png

16.2 KB
Loading

doc/_doxygen/search.html

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{% extends "sphinx_rtd_theme/search.html" %}
2+
{% block body %}
3+
<div id="fallback" class="admonition tip">
4+
<p class="admonition-title">Tip</p>
5+
<p>
6+
Search results include entries for all documentation sets. Each search
7+
result entry is prefixed with the name of the documentation set in
8+
which the result is found. For example, the search result
9+
"nRF Connect SDK » Getting started" refers to the Getting Started
10+
page from the "nRF Connect SDK" documentation set.
11+
</p>
12+
</div>
13+
{{ super() }}
14+
{% endblock %}

doc/nrf-bm/conf.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,15 @@
5050
html_show_sourcelink = True
5151
html_show_sphinx = False
5252

53-
html_theme_options = {"docset": "nrf-bm", "docsets": utils.ALL_DOCSETS}
53+
html_theme_options = {
54+
"docset": "nrf-bm",
55+
"docsets": utils.ALL_DOCSETS,
56+
"addons_url": "",
57+
"bare_metal_url": "",
58+
"ncs_url": "https://nrfconnectdocs.nordicsemi.com/ncs/latest/nrf/",
59+
"ncs_label": "nRF Connect SDK Docs",
60+
"logo_url": "https://docs.nordicsemi.com",
61+
}
5462

5563
# Options for intersphinx ------------------------------------------------------
5664

doc/nrf-bm/links.txt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,15 @@
3939

4040
.. ### Source: SoftDevice doc links
4141

42-
.. _`S115 SoftDevice for nRF54L15/nRF54L10/nRF54L05 API`: https://docs.nordicsemi.com/bundle/s115_nrf54l15_10.0.0_api/page/topics.html
43-
.. _`S115 SoftDevice for nRF54LM20 API`: https://docs.nordicsemi.com/bundle/s115_nrf54lm20_10.0.0_api/page/topics.html
44-
.. _`S115 SoftDevice for nRF54LV10 API`: https://docs.nordicsemi.com/bundle/s115_nrf54lv10_10.0.0_api/page/topics.html
45-
.. _`S115 SoftDevice for nRF54LS05 API`: https://docs.nordicsemi.com/bundle/s115_nrf54ls05_10.0.0_api/page/topics.html
46-
47-
.. _`S145 SoftDevice for nRF54L15/nRF54L10/nRF54L05 API`: https://docs.nordicsemi.com/bundle/s145_nrf54l15_10.0.0_api/page/topics.html
48-
.. _`S145 SoftDevice for nRF54LM20 API`: https://docs.nordicsemi.com/bundle/s145_nrf54lm20_10.0.0_api/page/topics.html
49-
.. _`S145 SoftDevice for nRF54LV10 API`: https://docs.nordicsemi.com/bundle/s145_nrf54lv10_10.0.0_api/page/topics.html
50-
.. _`S145 SoftDevice for nRF54LS05 API`: https://docs.nordicsemi.com/bundle/s145_nrf54ls05_10.0.0_api/page/topics.html
42+
.. _`S115 SoftDevice for nRF54L15/nRF54L10/nRF54L05 API`: ../../s115_nrf54l15/html/topics.html
43+
.. _`S115 SoftDevice for nRF54LM20 API`: ../../s115_nrf54lm20/html/topics.html
44+
.. _`S115 SoftDevice for nRF54LV10 API`: ../../s115_nrf54lv10/html/topics.html
45+
.. _`S115 SoftDevice for nRF54LS05 API`: ../../s115_nrf54ls05/html/topics.html
46+
47+
.. _`S145 SoftDevice for nRF54L15/nRF54L10/nRF54L05 API`: ../../s145_nrf54l15/html/topics.html
48+
.. _`S145 SoftDevice for nRF54LM20 API`: ../../s145_nrf54lm20/html/topics.html
49+
.. _`S145 SoftDevice for nRF54LV10 API`: ../../s145_nrf54lv10/html/topics.html
50+
.. _`S145 SoftDevice for nRF54LS05 API`: ../../s145_nrf54ls05/html/topics.html
5151

5252
.. _`S115 SoftDevice Specification`: https://docs.nordicsemi.com/bundle/sds_s115/page/SDS/s1xx/s115.html
5353
.. _`S145 SoftDevice Specification`: https://docs.nordicsemi.com/bundle/sds_s145/page/SDS/s1xx/s145.html

doc/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ Sphinx>=8.1,<8.2
55
sphinx-copybutton
66
sphinx-tabs
77
sphinx-togglebutton
8-
sphinx-ncs-theme<1.1
8+
sphinx-ncs-theme<2.1
99
west

doc/versions.json

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,7 @@
11
[
2+
"2.0.99",
23
"2.0.0",
3-
"2.0.0-preview1",
44
"1.0.0",
5-
"1.0.0-rc2",
6-
"1.0.0-rc1",
75
"0.9.0",
8-
"0.9.0-rc2",
9-
"0.9.0-rc1",
106
"0.8.0",
11-
"0.8.0-rc2"
127
]

0 commit comments

Comments
 (0)