Unverified Commit f208fbd8 authored by Maxime Lefrançois's avatar Maxime Lefrançois
Browse files

stub for search functionality

parent b1739bfc
Loading
Loading
Loading
Loading
+85 −27
Original line number Original line Diff line number Diff line
@@ -2,42 +2,83 @@
<html lang="en-GB" dir="ltr">
<html lang="en-GB" dir="ltr">
<head>
<head>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" >
  <meta charset="utf-8" />
  <meta charset="utf-8" >
  <meta name="generator" content="saref-pypeline" />
  <meta name="generator" content="saref-pypeline" >
  <title>{{ title }}</title>
  <title>{{ title }}</title>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
  <link href="{{ pathToStatic }}/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" />
  <link href="{{ pathToRoot }}static/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" >
  <link href="{{ pathToStatic }}/media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" />
  <link href="{{ pathToRoot }}static/media/gantry5/assets/css/font-awesome.min.css" rel="stylesheet" >
  <link href="{{ pathToStatic }}/media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" />
  <link href="{{ pathToRoot }}static/media/gantry5/engines/nucleus/css-compiled/nucleus.css" rel="stylesheet" >
  <link href="{{ pathToStatic }}/templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" />
  <link href="{{ pathToRoot }}static/templates/g5_helium/custom/css-compiled/helium_19.css" rel="stylesheet" >
  <link href="{{ pathToStatic }}/media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" />
  <link href="{{ pathToRoot }}static/media/gantry5/assets/css/bootstrap-gantry.css" rel="stylesheet" >
  <link href="{{ pathToStatic }}/media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" />
  <link href="{{ pathToRoot }}static/media/gantry5/engines/nucleus/css-compiled/joomla.css" rel="stylesheet" >
  <link href="{{ pathToStatic }}/media/jui/css/icomoon.css" rel="stylesheet" />
  <link href="{{ pathToRoot }}static/media/jui/css/icomoon.css" rel="stylesheet" >
  <link href="{{ pathToStatic }}/templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" />
  <link href="{{ pathToRoot }}static/templates/g5_helium/custom/css-compiled/helium-joomla_19.css" rel="stylesheet" >
  <link href="{{ pathToStatic }}/templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" />
  <link href="{{ pathToRoot }}static/templates/g5_helium/custom/css-compiled/custom_19.css" rel="stylesheet" >
  {% if isOntologyDocumentation %}
  {% if isOntologyDocumentation %}
  <link href="{{ pathToStatic }}/lode/home.css" rel="stylesheet" />
  <link href="{{ pathToRoot }}static/lode/home.css" rel="stylesheet" >
  <link href="{{ pathToStatic }}/headerlink.css" rel="stylesheet" />
  <link href="{{ pathToRoot }}static/headerlink.css" rel="stylesheet" >
  <link href="{{ pathToStatic }}/pygments.css" rel="stylesheet" />
  <link href="{{ pathToRoot }}static/pygments.css" rel="stylesheet" >
  {% endif %}
  {% endif %}
  <link href="{{ pathToStatic }}/jqtree/jqtree.css" rel="stylesheet">
  <link href="{{ pathToRoot }}static/jqtree/jqtree.css" rel="stylesheet">
  <script src="{{ pathToStatic }}/templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script>
  <script src="{{ pathToRoot }}static/templates/g5_helium/js/jui/jquery.min.js?06eedc97766b70aa1fa0e80231495faa"></script>
  <script src="{{ pathToStatic }}/media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script>
  <script src="{{ pathToRoot }}static/media/jui/js/jquery-noconflict.js?06eedc97766b70aa1fa0e80231495faa"></script>
  <script src="{{ pathToStatic }}/media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script>
  <script src="{{ pathToRoot }}static/media/jui/js/jquery-migrate.min.js?06eedc97766b70aa1fa0e80231495faa"></script>
  <script src="{{ pathToStatic }}/media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script>
  <script src="{{ pathToRoot }}static/media/system/js/caption.js?06eedc97766b70aa1fa0e80231495faa"></script>
  <script src="{{ pathToStatic }}/media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script>
  <script src="{{ pathToRoot }}static/media/jui/js/bootstrap.min.js?06eedc97766b70aa1fa0e80231495faa"></script>
  <script src="{{ pathToStatic }}/templates/g5_helium/js/juitabs.js"></script>
  <script src="{{ pathToRoot }}static/templates/g5_helium/js/juitabs.js"></script>
  <script src="{{ pathToRoot }}static/lunr.js"></script>
    <script>
let idx, docs = {};

fetch("{{ pathToRoot }}search_index.json")
  .then(r => r.json())
  .then(data => {
    idx = lunr.Index.load(data.index);
    data.docs.forEach(d => docs[d.url] = d);
  });

document.addEventListener("DOMContentLoaded", () => {
  const input = document.getElementById("search-box");
  const resultsList = document.getElementById("search-results");

  input.addEventListener("keypress", e => {
    if (e.key === "Enter") {
      e.preventDefault();
      const query = input.value.trim();
      if (!query) return;


      const results = idx.search(query);
      resultsList.innerHTML = "";

      if (results.length === 0) {
        resultsList.innerHTML = "<li class='list-group-item'>No results found</li>";
      } else {
        results.forEach(r => {
          const doc = docs[r.ref];
          resultsList.innerHTML += `
            <li class="list-group-item">
              <a href="${doc.url}"><strong>${doc.title}</strong></a>
            </li>`;
        });
      }

      // Open Bootstrap modal
      jQuery('#searchModal').modal('show');
    }
  });
});
    </script>
  <script>
  <script>
    jQuery(window).on('load', function() \{
    jQuery(window).on('load', function() {
      new JCaption('img.caption');
      new JCaption('img.caption');
    });
    });
  </script>
  </script>
  <!--[if (gte IE 8)&(lte IE 9)]>
  <!--[if (gte IE 8)&(lte IE 9)]>
        <script type="text/javascript" src="{{ pathToStatic }}/media/gantry5/assets/js/html5shiv-printshiv.min.js"></script>
        <script type="text/javascript" src="{{ pathToRoot }}static/media/gantry5/assets/js/html5shiv-printshiv.min.js"></script>
        <link rel="stylesheet" href="{{ pathToStatic }}/media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css"/>
        <link rel="stylesheet" href="{{ pathToRoot }}static/media/gantry5/engines/nucleus/css/nucleus-ie9.css" type="text/css">
        <script type="text/javascript" src="{{ pathToStatic }}/media/gantry5/assets/js/matchmedia.polyfill.js"></script>
        <script type="text/javascript" src="{{ pathToRoot }}static/media/gantry5/assets/js/matchmedia.polyfill.js"></script>
        <![endif]-->
        <![endif]-->


</head>
</head>
@@ -101,8 +142,25 @@


    {% include "footer.j2" %}
    {% include "footer.j2" %}
  </div>
  </div>

  <div class="modal fade" id="searchModal" tabindex="-1" role="dialog" aria-labelledby="searchModalLabel" aria-hidden="true">
      <div class="modal-dialog modal-lg" role="document">
          <div class="modal-content">
              <div class="modal-header">
                  <h5 class="modal-title" id="searchModalLabel">Search Results</h5>
                  <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                  <span aria-hidden="true">&times;</span>
                  </button>
              </div>
              <div class="modal-body">
                  <ul id="search-results" class="list-group"></ul>
              </div>
          </div>
      </div>
  </div>

{% if isOntologyDocumentation %}
{% if isOntologyDocumentation %}
<script src="{{ pathToStatic }}/lode/scripts.js"></script>
<script src="{{ pathToRoot }}static/lode/scripts.js"></script>
{% endif %}
{% endif %}
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>