1{% extends "!search.html" %} 2{% block extrahead %} 3 {{ super() }} 4 <script type="text/javascript"> 5 var GLOSSARY_PAGE = 'glossary.html'; 6 7 jQuery(function() { 8 $.getJSON("_static/glossary.json", function(glossary) { 9 var RESULT_TEMPLATE = '<div style="display: none" class="admonition seealso" id="glossary-result">' + 10 ' <p class="topic-title">' + 11 ' <a class="glossary-title" href="#"></a>' + 12 ' </p>' + 13 ' <div class="glossary-body"></div>' + 14 '</div>'; 15 $("#search-results").prepend(RESULT_TEMPLATE); 16 17 var params = $.getQueryParameters(); 18 if (params.q) { 19 var search_param = params.q[0].toLowerCase(); 20 var glossary_item = glossary[search_param]; 21 if (glossary_item) { 22 var resultDiv = $("#glossary-result"); 23 24 // set up the title text with a link to the glossary page 25 resultDiv.find(".glossary-title").text('Glossary: ' + glossary_item.title); 26 var link_target = search_param.replace(/ /g, '-'); 27 resultDiv.find(".glossary-title").attr( 28 'href', GLOSSARY_PAGE + '#term-' + link_target 29 ); 30 31 // rewrite any anchor links (to other glossary terms) 32 // to have a full reference to the glossary page 33 var body = $(glossary_item.body).children(); 34 body.find("a[href^='#']").each(function() { 35 var current_url = $(this).attr('href'); 36 $(this).attr('href', GLOSSARY_PAGE + current_url); 37 }); 38 resultDiv.find(".glossary-body").html(body); 39 40 resultDiv.show(); 41 } else { 42 $("#glossary-result").hide(''); 43 } 44 } 45 }); 46 }); 47 </script> 48{% endblock %}