@@ -37,6 +37,7 @@ <h3>{{ _('Navigation') }}</h3>
3737 {{ reldelim2 }}
3838 </ li >
3939 {%- endif %}
40+ < li class ="right "> {{ themeselector() }}{{ reldelim2 }}</ li >
4041 {% endblock %}
4142 </ ul >
4243 </ div >
@@ -47,25 +48,35 @@ <h3>{{ _('Navigation') }}</h3>
4748 {%- if builder != "htmlhelp" %}
4849 < div class ="inline-search " role ="search ">
4950 < form class ="inline-search " action ="{{ pathto('search') }} " method ="get ">
50- < input placeholder ="{{ _('Quick search') }} " aria-label ="{{ _('Quick search') }} " type ="text " name ="q " />
51+ < input placeholder ="{{ _('Quick search') }} " aria-label ="{{ _('Quick search') }} " type ="search " name ="q " />
5152 < input type ="submit " value ="{{ _('Go') }} " />
52- < input type ="hidden " name ="check_keywords " value ="yes " />
53- < input type ="hidden " name ="area " value ="default " />
5453 </ form >
5554 </ div >
5655 {%- endif %}
5756{%- endmacro %}
5857
58+ {%- macro themeselector() %}
59+ < label class ="theme-selector-label ">
60+ {{ _('Theme') }}
61+ < select class ="theme-selector " oninput ="activateTheme(this.value) ">
62+ < option value ="auto " selected > {{ _('Auto') }}</ option >
63+ < option value ="light "> {{ _('Light') }}</ option >
64+ < option value ="dark "> {{ _('Dark') }}</ option >
65+ </ select >
66+ </ label >
67+ {%- endmacro %}
68+
5969{% block relbar1 %} {% if builder != 'qthelp' %} {{ relbar() }} {% endif %} {% endblock %}
6070{% block relbar2 %} {% if builder != 'qthelp' %} {{ relbar() }} {% endif %} {% endblock %}
6171
62-
6372{%- block extrahead -%}
73+ < link rel ="stylesheet " href ="{{ pathto('_static/pydoctheme_dark.css', 1) }} " media ="(prefers-color-scheme: dark) " id ="pydoctheme_dark_css ">
6474 < link rel ="shortcut icon " type ="image/png " href ="{{ pathto('_static/' + theme_root_icon, 1) }} " />
6575 {%- if builder != "htmlhelp" %}
6676 {%- if not embedded %}
6777 < script type ="text/javascript " src ="{{ pathto('_static/copybutton.js', 1) }} "> </ script >
6878 < script type ="text/javascript " src ="{{ pathto('_static/menu.js', 1) }} "> </ script >
79+ < script type ="text/javascript " src ="{{ pathto('_static/themetoggle.js', 1) }} "> </ script >
6980 {%- endif -%}
7081 {%- endif -%}
7182 {{ super() }}
@@ -82,28 +93,30 @@ <h3>{{ _('Navigation') }}</h3>
8293< div class ="mobile-nav ">
8394 < input type ="checkbox " id ="menuToggler " class ="toggler__input " aria-controls ="navigation "
8495 aria-pressed ="false " aria-expanded ="false " role ="button " aria-label ="{{ _('Menu')}} " />
85- < label for ="menuToggler " class ="toggler__label ">
86- < span > </ span >
87- </ label >
8896 < nav class ="nav-content " role ="navigation ">
89- < a href ="{{ theme_root_url }} " class ="nav-logo ">
90- < img src ="{{ pathto('_static/py.svg', 1) }} " alt ="Logo "/>
91- </ a >
92- < div class ="version_switcher_placeholder "> </ div >
93- {%- if pagename != "search" and builder != "singlehtml" %}
94- < form role ="search " class ="search " action ="{{ pathto('search') }} " method ="get ">
95- < svg xmlns ="http://www.w3.org/2000/svg " width ="20 " height ="20 " viewBox ="0 0 24 24 " class ="search-icon ">
96- < path fill-rule ="nonzero "
97- d ="M15.5 14h-.79l-.28-.27a6.5 6.5 0 001.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 00-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 005.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z " fill ="#444 "> </ path >
98- </ svg >
99- < input type ="text " name ="q " aria-label ="{{ _('Quick search') }} "/>
100- < input type ="submit " value ="{{ _('Go') }} "/>
101- </ form >
102- {%- endif %}
97+ < label for ="menuToggler " class ="toggler__label ">
98+ < span > </ span >
99+ </ label >
100+ < span class ="nav-items-wrapper ">
101+ < a href ="{{ theme_root_url }} " class ="nav-logo ">
102+ < img src ="{{ pathto('_static/py.svg', 1) }} " alt ="Logo "/>
103+ </ a >
104+ < span class ="version_switcher_placeholder "> </ span >
105+ {%- if pagename != "search" and builder != "singlehtml" %}
106+ < form id ="searchbox " role ="search " class ="search " action ="{{ pathto('search') }} " method ="get ">
107+ < svg xmlns ="http://www.w3.org/2000/svg " width ="20 " height ="20 " viewBox ="0 0 24 24 " class ="search-icon ">
108+ < path fill-rule ="nonzero " fill ="currentColor " d ="M15.5 14h-.79l-.28-.27a6.5 6.5 0 001.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 00-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 005.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z "> </ path >
109+ </ svg >
110+ < input placeholder ="{{ _('Quick search') }} " aria-label ="{{ _('Quick search') }} " type ="search " name ="q " />
111+ < input type ="submit " value ="{{ _('Go') }} "/>
112+ </ form >
113+ {%- endif %}
114+ </ span >
103115 </ nav >
104116 < div class ="menu-wrapper ">
105117 < nav class ="menu " role ="navigation " aria-label ="main navigation ">
106118 < div class ="language_switcher_placeholder "> </ div >
119+ {{ themeselector() }}
107120 {%- if logo %}
108121 < p class ="logo ">
109122 < a href ="{{ pathto('index') }} ">
0 commit comments