diff options
| author | Yury Selivanov <yury@magic.io> | 2018-09-19 17:51:17 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-09-19 17:51:17 -0400 |
| commit | 581890cda36f60cd46185c6e184abe35a95813a2 (patch) | |
| tree | f0d263eca877772ed5cba79fc5434d502e652352 | |
| parent | 71bc694f380fded55ac15aafaff41a12f329a90e (diff) | |
| download | cpython-git-581890cda36f60cd46185c6e184abe35a95813a2.tar.gz | |
bpo-34733: Return of the docs search bar (GH-9431)
Partially revert changes to Doc/tools/templates/layout.html
accidentally committed in 512d7101098b971837cbb406942215244f636547.
| -rw-r--r-- | Doc/tools/templates/layout.html | 124 |
1 files changed, 108 insertions, 16 deletions
diff --git a/Doc/tools/templates/layout.html b/Doc/tools/templates/layout.html index c399224561..8cf903dec6 100644 --- a/Doc/tools/templates/layout.html +++ b/Doc/tools/templates/layout.html @@ -1,27 +1,106 @@ {% extends "!layout.html" %} - {% block rootrellink %} -{{ super() }} - <li> - {%- if switchers is defined %} - <span class="language_switcher_placeholder">{{ language or 'en' }}</span> - <span class="version_switcher_placeholder">{{ release }}</span> - <a href="{{ pathto('index') }}">{% trans %}Documentation {% endtrans %}</a>{{ reldelim1 }} - {%- else %} - <a href="{{ pathto('index') }}">{{ shorttitle }}</a>{{ reldelim1 }} - {%- endif %} + <li><img src="{{ pathto('_static/py.png', 1) }}" alt="" + style="vertical-align: middle; margin-top: -1px"/></li> + <li><a href="https://www.python.org/">Python</a>{{ reldelim1 }}</li> + <li> + {%- if switchers is defined %} + <span class="language_switcher_placeholder">{{ language or 'en' }}</span> + <span class="version_switcher_placeholder">{{ release }}</span> + <a href="{{ pathto('index') }}">{% trans %}Documentation {% endtrans %}</a>{{ reldelim1 }} + {%- else %} + <a href="{{ pathto('index') }}">{{ shorttitle }}</a>{{ reldelim1 }} + {%- endif %} + </li> +{% endblock %} +{%- macro searchbox() %} +{# modified from sphinx/themes/basic/searchbox.html #} + {%- if builder != "htmlhelp" %} + <div class="inline-search" style="display: none" role="search"> + <form class="inline-search" action="{{ pathto('search') }}" method="get"> + <input placeholder="{{ _('Quick search') }}" type="text" name="q" /> + <input type="submit" value="{{ _('Go') }}" /> + <input type="hidden" name="check_keywords" value="yes" /> + <input type="hidden" name="area" value="default" /> + </form> + </div> + <script type="text/javascript">$('.inline-search').show(0);</script> + {%- endif %} +{%- endmacro %} +{% block relbar1 %} {% if builder != 'qthelp' %} {{ relbar() }} {% endif %} {% endblock %} +{% block relbar2 %} {% if builder != 'qthelp' %} {{ relbar() }} {% endif %} {% endblock %} +{% block relbaritems %} + {%- if pagename != "search" and builder != "singlehtml" and builder != "htmlhelp" %} + <li class="right"> + {{ searchbox() }} + {{ reldelim2 }} </li> + {%- endif %} {% endblock %} - {% block extrahead %} + <link rel="shortcut icon" type="image/png" href="{{ pathto('_static/py.png', 1) }}" /> <link rel="canonical" href="https://docs.python.org/3/{{pagename}}.html" /> {% if builder != "htmlhelp" %} - {% if switchers is defined and not embedded %} - <script type="text/javascript" src="{{ pathto('_static/switchers.js', 1) }}"></script>{% endif %} - {% if pagename == 'whatsnew/changelog' and not embedded %} - <script type="text/javascript" src="{{ pathto('_static/changelog_search.js', 1) }}"></script>{% endif %} - {% endif %} + {% if not embedded %}<script type="text/javascript" src="{{ pathto('_static/copybutton.js', 1) }}"></script>{% endif %} + {% if switchers is defined and not embedded %}<script type="text/javascript" src="{{ pathto('_static/switchers.js', 1) }}"></script>{% endif %} + {% if pagename == 'whatsnew/changelog' and not embedded %} + <script type="text/javascript"> + $(document).ready(function() { + // add the search form and bind the events + $('h1').after([ + '<p>Filter entries by content:', + '<input type="text" value="" id="searchbox" style="width: 50%">', + '<input type="submit" id="searchbox-submit" value="Filter"></p>' + ].join('\n')); + function dofilter() { + try { + var query = new RegExp($('#searchbox').val(), 'i'); + } + catch (e) { + return; // not a valid regex (yet) + } + // find headers for the versions (What's new in Python X.Y.Z?) + $('#changelog h2').each(function(index1, h2) { + var h2_parent = $(h2).parent(); + var sections_found = 0; + // find headers for the sections (Core, Library, etc.) + h2_parent.find('h3').each(function(index2, h3) { + var h3_parent = $(h3).parent(); + var entries_found = 0; + // find all the entries + h3_parent.find('li').each(function(index3, li) { + var li = $(li); + // check if the query matches the entry + if (query.test(li.text())) { + li.show(); + entries_found++; + } + else { + li.hide(); + } + }); + // if there are entries, show the section, otherwise hide it + if (entries_found > 0) { + h3_parent.show(); + sections_found++; + } + else { + h3_parent.hide(); + } + }); + if (sections_found > 0) + h2_parent.show(); + else + h2_parent.hide(); + }); + } + $('#searchbox').keyup(dofilter); + $('#searchbox-submit').click(dofilter); + }); + </script> + {% endif %} + {% endif %} {# custom CSS; used in asyncio docs! #} <style> @media only screen {{ "{" }} @@ -32,3 +111,16 @@ </style> {{ super() }} {% endblock %} +{% block footer %} + <div class="footer"> + © <a href="{{ pathto('copyright') }}">{% trans %}Copyright{% endtrans %}</a> {{ copyright|e }}. + <br /> + {% trans %}The Python Software Foundation is a non-profit corporation.{% endtrans %} + <a href="https://www.python.org/psf/donations/">{% trans %}Please donate.{% endtrans %}</a> + <br /> + {% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %} + {% trans pathto_bugs=pathto('bugs') %}<a href="{{ pathto_bugs }}">Found a bug</a>?{% endtrans %} + <br /> + {% trans sphinx_version=sphinx_version|e %}Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> {{ sphinx_version }}.{% endtrans %} + </div> +{% endblock %} |
