OXYGENHUB
# 306aec1839aa oxygenhub / templates / base.html
5.6 KiB · HTML · last changed The logo's arms are drawn and slide while a page loads; the Serves column lines up; the job re-run button has room (closes #306, closes #309, closes #310) 11 days ago source blame history raw
d23464c0 Andy McCall ↶ 1
<!doctype html>
2
<html lang="en">
3
<head>
4
<meta charset="utf-8">
5
<meta name="viewport" content="width=device-width, initial-scale=1">
6
<title>{% block title %}{{ shell.site }}{% endblock %} · {{ shell.site }}</title>
8e820b4a Andy McCall ↶ 7
<link rel="stylesheet" href="/style.css?v={{ shell.assets() }}">
d23464c0 Andy McCall ↶ 8
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
8e820b4a Andy McCall ↶ 9
<link rel="stylesheet" href="/static/github.css?v={{ shell.assets() }}">
a7aa76ac Andy McCall 10
<script src="/static/early.js?v={{ shell.assets() }}"></script>
d23464c0 Andy McCall ↶ 11
</head>
12
<body{% block bodyattrs %}{% endblock %}>
756fe44a Andy McCall ↶ 13
<a class="skip" href="#main">Skip to content</a>
d23464c0 Andy McCall ↶ 14
<header>
03bfb945 Andy McCall ↶ 15
  <a class="brand" href="/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="-24 -12 48 24" width="48" height="24" aria-hidden="true"><defs><linearGradient id="oxyGradH" gradientUnits="userSpaceOnUse" x1="-22" y1="-11" x2="22" y2="11"><stop offset="0%" stop-color="#00F0FF"/><stop offset="100%" stop-color="#0072FF"/></linearGradient></defs><path class="arm" d="M -11 -6 L 11 -6" stroke="url(#oxyGradH)" stroke-width="3" stroke-linecap="round"/><path class="arm" d="M -11 6 L 11 6" stroke="url(#oxyGradH)" stroke-width="3" stroke-linecap="round"/><circle cx="-11" cy="0" r="10" fill="none" stroke="url(#oxyGradH)" stroke-width="3"/><circle cx="-11" cy="0" r="3.5" fill="#00F0FF"/><circle cx="11" cy="0" r="10" fill="none" stroke="url(#oxyGradH)" stroke-width="3"/><circle cx="11" cy="0" r="3.5" fill="#FFFFFF"/></svg><span class="px">OXYGEN<em>HUB</em></span></a>
d23464c0 Andy McCall ↶ 16
  <form class="find" action="/search" method="get" role="search"><input type="search" name="q" placeholder="Search…" aria-label="Search" autocomplete="off"></form>
756fe44a Andy McCall ↶ 17
  <nav aria-label="Account">
c40c2d3e Andy McCall ↶ 18
    <button type="button" class="theme-toggle" data-theme-toggle aria-label="Theme" title="Theme"><span aria-hidden="true">◐</span></button>
19bb31ff Andy McCall ↶ 19
    {% if let Some(u) = shell.user %}
ffb67a81 Andy McCall 20
    <a class="go primary" href="/new" title="New repository">+ NEW</a>
8a48dd83 Andy McCall ↶ 21
    <a class="bell" href="/notifications" title="Notifications"{% if !shell.live_user.is_empty() %} data-live="{{ shell.live_user }}" data-fragment="bell"{% endif %}>✉{% if shell.unread > 0 %}<span class="count">{{ shell.unread }}</span>{% endif %}</a>
10174045 Andy McCall ↶ 22
    <a class="me" href="/{{ u }}"><img class="avatar xs" src="/avatar/{{ u }}" alt=""> {{ u }}</a>
19bb31ff Andy McCall ↶ 23
    <form class="inline" method="post" action="/logout"><input type="hidden" name="_csrf" value="{{ shell.csrf }}"><button>SIGN OUT</button></form>
24
    {% else %}
25
    <a class="go" href="/login">SIGN IN</a>
26
    <a class="go" href="/register">REGISTER</a>
27
    {% endif %}
d23464c0 Andy McCall ↶ 28
  </nav>
29
</header>
756fe44a Andy McCall ↶ 30
<nav class="band" aria-label="Site">
c9aacc0e Andy McCall ↶ 31
  <a href="/">{{ crate::web::icons::svg("home")|safe }}{% if shell.user.is_some() %}Dashboard{% else %}Repositories{% endif %}</a>
32
  <a href="/explore">{{ crate::web::icons::svg("explore")|safe }}Explore</a>
33
  <a href="/help">{{ crate::web::icons::svg("help")|safe }}Help</a>
166f6e9b Andy McCall 34
  {% if let Some(u) = shell.user %}<a href="/projects/{{ u }}">{{ crate::web::icons::svg("projects")|safe }}Projects</a><a href="/{{ u }}/drops">{{ crate::web::icons::svg("drop")|safe }}Drops</a><a href="/notifications">{{ crate::web::icons::svg("bell")|safe }}Notifications</a><a href="/settings">{{ crate::web::icons::svg("settings")|safe }}Settings</a>{% endif %}
d23464c0 Andy McCall ↶ 35
  <span class="grow"></span>
c9aacc0e Andy McCall ↶ 36
  {% if shell.is_admin %}<a class="admin" href="/admin">{{ crate::web::icons::svg("admin")|safe }}Admin</a>{% endif %}
e9bfea8e Andy McCall ↶ 37
  <a class="dim" href="/about" title="OxygenHub {{ shell.version }} ({{ shell.build }})">v{{ shell.version }}</a>
756fe44a Andy McCall ↶ 38
</nav>
d23464c0 Andy McCall ↶ 39
{% block tabs %}{% endblock %}
756fe44a Andy McCall ↶ 40
<main id="main" tabindex="-1"{% block mainclass %}{% endblock %}>
d23464c0 Andy McCall ↶ 41
{% block content %}{% endblock %}
42
</main>
43
<footer>
44
  <div class="foot">
45
    <div>
03bfb945 Andy McCall ↶ 46
      <a class="brand" href="/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="-24 -12 48 24" width="48" height="24" aria-hidden="true"><defs><linearGradient id="oxyGradF" gradientUnits="userSpaceOnUse" x1="-22" y1="-11" x2="22" y2="11"><stop offset="0%" stop-color="#00F0FF"/><stop offset="100%" stop-color="#0072FF"/></linearGradient></defs><path class="arm" d="M -11 -6 L 11 -6" stroke="url(#oxyGradF)" stroke-width="3" stroke-linecap="round"/><path class="arm" d="M -11 6 L 11 6" stroke="url(#oxyGradF)" stroke-width="3" stroke-linecap="round"/><circle cx="-11" cy="0" r="10" fill="none" stroke="url(#oxyGradF)" stroke-width="3"/><circle cx="-11" cy="0" r="3.5" fill="#00F0FF"/><circle cx="11" cy="0" r="10" fill="none" stroke="url(#oxyGradF)" stroke-width="3"/><circle cx="11" cy="0" r="3.5" fill="#FFFFFF"/></svg><span class="px">OXYGEN<em>HUB</em></span></a>
d23464c0 Andy McCall ↶ 47
      <p class="small">{{ shell.site }} · a forge for Oxygen repositories. Nothing here is inferred: what a page says, the object store says.</p>
48
    </div>
49
    <div class="cols">
61ecbd29 Andy McCall ↶ 50
      <div><h3>Use</h3><a href="/help">Help</a><a href="/explore">Explore</a><a href="/api/v1/repos">API</a><a href="/.well-known/oxyhub-key">Hub key</a></div>
d23464c0 Andy McCall ↶ 51
      <div><h3>Keys</h3><span class="small"><kbd>/</kbd> search · <kbd>g</kbd><kbd>c</kbd> code · <kbd>g</kbd><kbd>h</kbd> history · <kbd>?</kbd> help</span></div>
52
    </div>
53
  </div>
54
</footer>
55
<div id="keys" class="sheet" hidden>
56
  <h2>Keyboard</h2>
6ae41081 Andy McCall ↶ 57
  <table><tr><td><kbd>/</kbd></td><td>Search</td></tr><tr><td><kbd>g</kbd> <kbd>c</kbd></td><td>Code</td></tr><tr><td><kbd>g</kbd> <kbd>h</kbd></td><td>History</td></tr><tr><td><kbd>g</kbd> <kbd>b</kbd></td><td>Bookmarks</td></tr><tr><td><kbd>g</kbd> <kbd>t</kbd></td><td>Trust</td></tr><tr><td><kbd>y</kbd></td><td>Permalink to this state (files and trees)</td></tr><tr><td><kbd>?</kbd></td><td>This sheet</td></tr></table>
43e8ca33 Andy McCall ↶ 58
  <p class="small"><a href="/help#keys">All keys</a> · <a href="/help">Help</a></p>
d23464c0 Andy McCall ↶ 59
</div>
8e820b4a Andy McCall ↶ 60
<script src="/static/hub.js?v={{ shell.assets() }}" defer></script>
d23464c0 Andy McCall ↶ 61
</body>
62
</html>