AkurAI Build
Menu

Public repository / 8d41f1e10aceed387d425b43038f2070e399a349

AkurAI-Build / app/pages/search.html

Latest change e8aa34a9be50d7d7ea72f66991ff82dfca7d23e1 - OLI-276: Git over SSH, forks and mirrors, code search through akurai-index, repository insights by Ólafur Búi Ólafsson

{% extends "layouts/base.html" %}
{% block title %}Search code — AkurAI Build{% endblock %}
{% block page %}search{% endblock %}
{% block body %}
<div class="pt-app-shell">
  <aside class="pt-app-sidebar">
    <a class="pt-app-brand" href="/app" aria-label="AkurAI Build overview"><span class="pt-mark" aria-hidden="true">A</span><span><strong>AkurAI Build</strong><small>Git-native delivery</small></span></a>
    <nav class="pt-app-nav" aria-label="Workspace"><a href="/app">Overview</a><a href="/app/repositories">Repositories</a><a href="/app/runs">Runs</a><a href="/app/workers">Workers</a><a href="/app/search" aria-current="page">Search</a><a href="/app/notifications">Notifications</a><a href="/app/settings/ssh-keys">SSH keys</a></nav>
    <div class="pt-health"><span class="pt-dot" aria-hidden="true"></span><span id="health">connecting</span><span class="pt-version">v{{ version }}</span></div>
  </aside>
  <main class="pt-app-content">
  <div class="pt-admin-header"><h1 class="pt-admin-title">Search code</h1><span class="pt-muted">Every hosted repository you can read, through akurai-index.</span></div>
  <section class="pt-panel">
    <form method="get" action="/app/search" class="pt-form-grid pt-search-form" role="search">
      <label class="pt-search-q">Query<input type="search" name="q" value="{{ q }}" placeholder="a function, an error string, a concept" maxlength="300" required autofocus></label>
      <label>Repository<select name="repo"><option value="">all</option>{% for r in repositories %}<option value="{{ r }}" {% if r == repo %}selected{% endif %}>{{ r }}</option>{% endfor %}</select></label>
      <button class="pt-button pt-primary" type="submit">Search</button>
    </form>
    {% if not enabled %}<p class="pt-notice">Code search is not configured on this forge (AKURAI_BUILD_INDEX_URL).</p>{% endif %}
    {% if error %}<p class="pt-notice" role="alert">{{ error }}</p>{% endif %}
  </section>
  {% if result %}
  <section class="pt-panel">
    <div class="pt-panel-head"><h2>{{ result.hits | length }} hits for “{{ result.query }}”</h2></div>
    <ol class="pt-search-hits">
      {% for h in result.hits %}
      <li>
        <a class="pt-table-link" href="{{ h.href }}">{{ h.repo }} / {{ h.path }}</a> <small class="pt-muted">lines {{ h.start_line }}–{{ h.end_line }}{% if h.symbol %} · {{ h.symbol }}{% endif %} · {{ h.branch }}</small>
        <pre>{{ h.snippet }}</pre>
      </li>
      {% else %}<li>No hits.</li>{% endfor %}
    </ol>
  </section>
  {% endif %}
  </main>
</div>
{% endblock %}