Skip to content

Commit

Permalink
DOC: use sphinx search for the website search bar (#15299)
Browse files Browse the repository at this point in the history
and stop using Google Custom Search.
  • Loading branch information
thomasjpfan authored and lesteve committed Nov 1, 2019
1 parent 16ee5ac commit 2a6b3b8
Show file tree
Hide file tree
Showing 11 changed files with 655 additions and 75 deletions.
19 changes: 19 additions & 0 deletions doc/conf.py
Expand Up @@ -198,6 +198,8 @@
# Output file base name for HTML help builder.
htmlhelp_basename = 'scikit-learndoc'

# If true, the reST sources are included in the HTML build as _sources/name.
html_copy_source = True

# -- Options for LaTeX output ------------------------------------------------
latex_elements = {
Expand Down Expand Up @@ -333,6 +335,22 @@ def make_carousel_thumbs(app, exception):
sphinx_gallery.gen_rst.scale_image(image, c_thumb, max_width, 190)


def filter_search_index(app, exception):
if exception is not None:
return
print('Removing methods from search index')

searchindex_path = os.path.join(app.builder.outdir, 'searchindex.js')
with open(searchindex_path, 'r') as f:
searchindex_text = f.read()

searchindex_text = re.sub(r'{__init__.+?}', '{}', searchindex_text)
searchindex_text = re.sub(r'{__call__.+?}', '{}', searchindex_text)

with open(searchindex_path, 'w') as f:
f.write(searchindex_text)


# Config for sphinx_issues

# we use the issues path for PRs since the issues URL will forward
Expand All @@ -342,6 +360,7 @@ def make_carousel_thumbs(app, exception):
def setup(app):
# to hide/show the prompt in code examples:
app.connect('build-finished', make_carousel_thumbs)
app.connect('build-finished', filter_search_index)


# The following is used by sphinx.ext.linkcode to provide links to github
Expand Down
11 changes: 0 additions & 11 deletions doc/themes/scikit-learn-modern/javascript.html
@@ -1,6 +1,3 @@
<script src="{{ pathto('_static/js/vendor/jquery.min.js', 1) }}"></script>
<script src="{{ pathto('_static/js/vendor/bootstrap.min.js', 1) }}"></script>

{% if theme_google_analytics|tobool %}
<script>
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
Expand Down Expand Up @@ -144,14 +141,6 @@
{%- endif %}
});

</script>
<script>
(function() {
var cx = '016639176250731907682:tjtqbvtvij0';
var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true;
gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s);
})();
</script>
{%- if pagename != 'index' and pagename != 'documentation' %}
{% if theme_mathjax_path %}
Expand Down
4 changes: 3 additions & 1 deletion doc/themes/scikit-learn-modern/layout.html
Expand Up @@ -35,7 +35,8 @@
{%- endif %}
{%- endfor %}
<link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" />

<script id="documentation_options" data-url_root="{{ pathto('', 1) }}" src="{{ pathto('_static/documentation_options.js', 1) }}"></script>
<script src="{{ pathto('_static/jquery.js', 1) }}"></script>
{%- block extrahead %} {% endblock %}
</head>
<body>
Expand Down Expand Up @@ -123,6 +124,7 @@
</div>
</div>
{%- endblock %}
<script src="{{ pathto('_static/js/vendor/bootstrap.min.js', 1) }}"></script>
{% include "javascript.html" %}
</body>
</html>
11 changes: 9 additions & 2 deletions doc/themes/scikit-learn-modern/nav.html
Expand Up @@ -70,9 +70,16 @@
</div>
</li>
</ul>
<div class="sk-search-form">
<div class="gcse-search" id="cse" data-linktarget="_parent"></div>
{%- if pagename != "search"%}
<div id="searchbox" role="search">
<div class="searchformwrapper">
<form class="search" action="{{ pathto('search') }}" method="get">
<input class="sk-search-text-input" type="text" name="q" aria-labelledby="searchlabel" />
<input class="sk-search-text-btn" type="submit" value="{{ _('Go') }}" />
</form>
</div>
</div>
{%- endif %}
</div>
</div>
</nav>
4 changes: 0 additions & 4 deletions doc/themes/scikit-learn-modern/page.html

This file was deleted.

9 changes: 7 additions & 2 deletions doc/themes/scikit-learn-modern/search.html
@@ -1,3 +1,8 @@
{%- extends "layout.html" %}
{% block body %}
{%- extends "basic/search.html" %}
{% block extrahead %}
<script type="text/javascript" src="{{ pathto('searchindex.js', 1) }}" defer></script>
<script src="{{ pathto('_static/underscore.js', 1) }}"></script>
<script src="{{ pathto('_static/doctools.js', 1) }}"></script>
<script src="{{ pathto('_static/language_data.js', 1) }}"></script>
<script src="{{ pathto('_static/js/searchtools.js', 1) }}"></script>
{% endblock %}
66 changes: 24 additions & 42 deletions doc/themes/scikit-learn-modern/static/css/theme.css
Expand Up @@ -77,6 +77,10 @@ img {
max-width: 100%;
}

span.highlighted {
background-color: #fbe54e;
}

div.highlight {
padding: 0.2rem 0.5rem;
border: 1px solid #ddd;
Expand Down Expand Up @@ -168,61 +172,38 @@ div.clearer {

/* Search */

.sk-search-form {
width: 90%;
}

div.gsc-input-box {
padding-top: 0;
padding-bottom: 0;
}

div.gsc-control-cse {
background-color: #f8f9fa;
border-color: #f8f9fa;
padding: 0;
}

button.gsc-search-button {
border-radius: 0.25rem;
padding: 8px;
#search-results {
margin-top: 1rem;
}

button.gsc-search-button:hover,
button.gsc-search-button:active {
background-color: #388bb5;
#searchbox {
padding-top: 0.1rem;
}

table.gsc-search-box {
padding-top: 4px;
.sk-search-text-input {
width: 12rem;
}

div.gsc-results-wrapper-visible {
background-color: #f8f9fa;
padding: 1rem;
position: absolute;
right: 1rem;
box-shadow: -4px 9px 20px -4px rgba(0,0,0,0.56);
width: 600px;
max-width: 95%;
.sk-search-text-btn {
padding-left: 0.2rem;
padding-right: 0.2rem;
}

div.gsc-results {
overflow-y: scroll;
overflow-x: hidden;
height: 680px;
ul.search li div.context {
color: #888;
margin: 0.1rem 0 0 0;
text-align: left;
}

@media screen and (min-width: 768px) {
.sk-search-form {
width: 14rem;
}

div.gsc-results-wrapper-visible {
width: 100%;
ul.search li div.context {
margin-left: 1rem;
}
}

ul.search li a {
font-weight: bold;
}
/* navbar */

img.sk-brand-img {
Expand Down Expand Up @@ -446,10 +427,11 @@ nav.sk-docs-navbar {
position: fixed;
max-height: 100vh;
overflow-y: auto;
align-items: initial;
}

div.sk-navbar-collapse {
padding-bottom: 9rem;
padding-bottom: 4rem;
}

@media screen and (min-width: 768px) {
Expand Down
10 changes: 0 additions & 10 deletions doc/themes/scikit-learn-modern/static/documentation_options.js_t

This file was deleted.

0 comments on commit 2a6b3b8

Please sign in to comment.