17db96d56Sopenharmony_ci{% extends "!search.html" %}
27db96d56Sopenharmony_ci{% block extrahead %}
37db96d56Sopenharmony_ci    {{ super() }}
47db96d56Sopenharmony_ci    <script type="text/javascript">
57db96d56Sopenharmony_ci        var GLOSSARY_PAGE = 'glossary.html';
67db96d56Sopenharmony_ci
77db96d56Sopenharmony_ci        jQuery(function() {
87db96d56Sopenharmony_ci            $.getJSON("_static/glossary.json", function(glossary) {
97db96d56Sopenharmony_ci                var RESULT_TEMPLATE = '<div style="display: none" class="admonition seealso" id="glossary-result">' +
107db96d56Sopenharmony_ci                                      '  <p class="topic-title">' +
117db96d56Sopenharmony_ci                                      '    <a class="glossary-title" href="#"></a>' +
127db96d56Sopenharmony_ci                                      '  </p>' +
137db96d56Sopenharmony_ci                                      '  <div class="glossary-body"></div>' +
147db96d56Sopenharmony_ci                                      '</div>';
157db96d56Sopenharmony_ci                $("#search-results").prepend(RESULT_TEMPLATE);
167db96d56Sopenharmony_ci
177db96d56Sopenharmony_ci                var params = $.getQueryParameters();
187db96d56Sopenharmony_ci                if (params.q) {
197db96d56Sopenharmony_ci                    var search_param = params.q[0].toLowerCase();
207db96d56Sopenharmony_ci                    var glossary_item = glossary[search_param];
217db96d56Sopenharmony_ci                    if (glossary_item) {
227db96d56Sopenharmony_ci                        var resultDiv = $("#glossary-result");
237db96d56Sopenharmony_ci
247db96d56Sopenharmony_ci                        // set up the title text with a link to the glossary page
257db96d56Sopenharmony_ci                        resultDiv.find(".glossary-title").text('Glossary: ' + glossary_item.title);
267db96d56Sopenharmony_ci                        var link_target = search_param.replace(/ /g, '-');
277db96d56Sopenharmony_ci                        resultDiv.find(".glossary-title").attr(
287db96d56Sopenharmony_ci                            'href', GLOSSARY_PAGE + '#term-' + link_target
297db96d56Sopenharmony_ci                        );
307db96d56Sopenharmony_ci
317db96d56Sopenharmony_ci                        // rewrite any anchor links (to other glossary terms)
327db96d56Sopenharmony_ci                        // to have a full reference to the glossary page
337db96d56Sopenharmony_ci                        var body = $(glossary_item.body).children();
347db96d56Sopenharmony_ci                        body.find("a[href^='#']").each(function() {
357db96d56Sopenharmony_ci                            var current_url = $(this).attr('href');
367db96d56Sopenharmony_ci                            $(this).attr('href', GLOSSARY_PAGE + current_url);
377db96d56Sopenharmony_ci                        });
387db96d56Sopenharmony_ci                        resultDiv.find(".glossary-body").html(body);
397db96d56Sopenharmony_ci
407db96d56Sopenharmony_ci                        resultDiv.show();
417db96d56Sopenharmony_ci                    } else {
427db96d56Sopenharmony_ci                        $("#glossary-result").hide('');
437db96d56Sopenharmony_ci                    }
447db96d56Sopenharmony_ci                }
457db96d56Sopenharmony_ci            });
467db96d56Sopenharmony_ci        });
477db96d56Sopenharmony_ci    </script>
487db96d56Sopenharmony_ci{% endblock %}