| {% extends "!search.html" %} | |
| {% block extrahead %} | |
| {{ super() }} | |
| <script type="text/javascript"> | |
| var GLOSSARY_PAGE = 'glossary.html'; | |
| jQuery(function() { | |
| $.getJSON("_static/glossary.json", function(glossary) { | |
| var RESULT_TEMPLATE = '<div style="display: none" class="admonition seealso" id="glossary-result">' + | |
| ' <p class="topic-title">' + | |
| ' <a class="glossary-title" href="#"></a>' + | |
| ' </p>' + | |
| ' <div class="glossary-body"></div>' + | |
| '</div>'; | |
| $("#search-results").prepend(RESULT_TEMPLATE); | |
| var params = $.getQueryParameters(); | |
| if (params.q) { | |
| var search_param = params.q[0].toLowerCase(); | |
| var glossary_item = glossary[search_param]; | |
| if (glossary_item) { | |
| var resultDiv = $("#glossary-result"); | |
| // set up the title text with a link to the glossary page | |
| resultDiv.find(".glossary-title").text('Glossary: ' + glossary_item.title); | |
| var link_target = search_param.replace(/ /g, '-'); | |
| resultDiv.find(".glossary-title").attr( | |
| 'href', GLOSSARY_PAGE + '#term-' + link_target | |
| ); | |
| // rewrite any anchor links (to other glossary terms) | |
| // to have a full reference to the glossary page | |
| var body = $(glossary_item.body).children(); | |
| body.find("a[href^='#']").each(function() { | |
| var current_url = $(this).attr('href'); | |
| $(this).attr('href', GLOSSARY_PAGE + current_url); | |
| }); | |
| resultDiv.find(".glossary-body").html(body); | |
| resultDiv.show(); | |
| } else { | |
| $("#glossary-result").hide(''); | |
| } | |
| } | |
| }); | |
| }); | |
| </script> | |
| {% endblock %} |