d23464c0 Andy McCall 1 month ago ↶
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 1 month ago ↶
7
< link rel = " stylesheet" href = " /style.css?v={{ shell.assets() }}" >
d23464c0 Andy McCall 1 month ago ↶
8
< link rel = " icon" href = " /favicon.svg" type = " image/svg+xml" >
8e820b4a Andy McCall 1 month ago ↶
9
< link rel = " stylesheet" href = " /static/github.css?v={{ shell.assets() }}" >
f6346d87 Andy McCall 1 month ago ↶
10
< script > ( function ( ) { var q = new URLSearchParams ( location . search ) . get ( " look" ) ; if ( q === " classic" ) document . cookie = " look=classic; path=/; max-age=31536000; SameSite=Lax" ; else if ( q === " github" || q === " default" ) document . cookie = " look=; path=/; max-age=0; SameSite=Lax" ; if ( ! / ( ?: ^ | ; ) look=classic/ . test ( document . cookie ) ) document . documentElement . dataset . look = " github" ; } ) ( ) ; </ script >
d98a93c1 Andy McCall 1 month ago ↶
11
< script > ( function ( ) { var d = document . documentElement , m = document . cookie . match ( / ( ?: ^ | ; ) theme=( light| dark| auto) / ) , p = m ? m [ 1 ] : " light" , q = window . matchMedia && matchMedia ( " (prefers-color-scheme: light)" ) ; function a ( ) { d . dataset . theme = p === " auto" ? ( q && q . matches ? " light" : " dark" ) : p ; } d . dataset . themePref = p ; a ( ) ; if ( q && q . addEventListener ) q . addEventListener ( " change" , function ( ) { if ( d . dataset . themePref === " auto" ) d . dataset . theme = q . matches ? " light" : " dark" ; } ) ; } ) ( ) ; </ script >
d23464c0 Andy McCall 1 month ago ↶
12
</ head >
13
< body {% block bodyattrs %}{% endblock %}>
756fe44a Andy McCall 1 month ago ↶
14
< a class = " skip " href = " #main" > Skip to content</ a >
d23464c0 Andy McCall 1 month ago ↶
15
< header >
5c6eb1fe Andy McCall 1 month ago ↶
16
< 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 " x1 = " 0%" y1 = " 0%" x2 = " 100%" y2 = " 100%" > < stop offset = " 0%" stop-color = " #00F0FF" /> < stop offset = " 100%" stop-color = " #0072FF" /> </ linearGradient > </ defs > < path d = " M -11 -6 L 11 -6" stroke = " url(#oxyGradH)" stroke-width = " 3" stroke-linecap = " round" /> < path 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 1 month ago ↶
17
< 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 1 month ago ↶
18
< nav aria-label = " Account" >
c40c2d3e Andy McCall 1 month ago ↶
19
< button type = " button" class = " theme-toggle " data-theme-toggle aria-label = " Theme" title = " Theme" > < span aria-hidden = " true" > ◐</ span > </ button >
19bb31ff Andy McCall 1 month ago ↶
20
{% if let Some(u) = shell.user %}
ffb67a81 Andy McCall 21 days ago
21
< a class = " go primary " href = " /new" title = " New repository" > + NEW</ a >
8a48dd83 Andy McCall 18 days ago ↶
22
< 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 1 month ago ↶
23
< a class = " me " href = " /{{ u }}" > < img class = " avatar xs " src = " /avatar/{{ u }}" alt = " " > {{ u }}</ a >
19bb31ff Andy McCall 1 month ago ↶
24
< form class = " inline " method = " post" action = " /logout" > < input type = " hidden" name = " _csrf" value = " {{ shell.csrf }}" > < button > SIGN OUT</ button > </ form >
25
{% else %}
26
< a class = " go " href = " /login" > SIGN IN</ a >
27
< a class = " go " href = " /register" > REGISTER</ a >
28
{% endif %}
d23464c0 Andy McCall 1 month ago ↶
29
</ nav >
30
</ header >
756fe44a Andy McCall 1 month ago ↶
31
< nav class = " band " aria-label = " Site" >
c9aacc0e Andy McCall 22 days ago ↶
32
< a href = " /" > {{ crate::web::icons::svg("home")|safe }}{% if shell.user.is_some() %}Dashboard{% else %}Repositories{% endif %}</ a >
33
< a href = " /explore" > {{ crate::web::icons::svg("explore")|safe }}Explore</ a >
34
< a href = " /help" > {{ crate::web::icons::svg("help")|safe }}Help</ a >
35
{% if let Some(u) = shell.user %}< a href = " /projects/{{ u }}" > {{ crate::web::icons::svg("projects")|safe }}Projects</ 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 1 month ago ↶
36
< span class = " grow " > </ span >
c9aacc0e Andy McCall 22 days ago ↶
37
{% if shell.is_admin %}< a class = " admin " href = " /admin" > {{ crate::web::icons::svg("admin")|safe }}Admin</ a > {% endif %}
e9bfea8e Andy McCall 1 month ago ↶
38
< a class = " dim " href = " /about" title = " OxygenHub {{ shell.version }} ({{ shell.build }})" > v{{ shell.version }}</ a >
756fe44a Andy McCall 1 month ago ↶
39
</ nav >
d23464c0 Andy McCall 1 month ago ↶
40
{% block tabs %}{% endblock %}
756fe44a Andy McCall 1 month ago ↶
41
< main id = " main " tabindex = " -1" {% block mainclass %}{% endblock %}>
d23464c0 Andy McCall 1 month ago ↶
42
{% block content %}{% endblock %}
43
</ main >
44
< footer >
45
< div class = " foot " >
46
< div >
5c6eb1fe Andy McCall 1 month ago ↶
47
< 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 " x1 = " 0%" y1 = " 0%" x2 = " 100%" y2 = " 100%" > < stop offset = " 0%" stop-color = " #00F0FF" /> < stop offset = " 100%" stop-color = " #0072FF" /> </ linearGradient > </ defs > < path d = " M -11 -6 L 11 -6" stroke = " url(#oxyGradF)" stroke-width = " 3" stroke-linecap = " round" /> < path 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 1 month ago ↶
48
< p class = " small " > {{ shell.site }} · a forge for Oxygen repositories. Nothing here is inferred: what a page says, the object store says.</ p >
49
</ div >
50
< div class = " cols " >
61ecbd29 Andy McCall 22 days ago ↶
51
< 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 1 month ago ↶
52
< 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 >
53
</ div >
54
</ div >
55
</ footer >
56
< div id = " keys " class = " sheet " hidden >
57
< h2 > Keyboard</ h2 >
6ae41081 Andy McCall 1 month ago ↶
58
< 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 1 month ago ↶
59
< p class = " small " > < a href = " /help#keys" > All keys</ a > · < a href = " /help" > Help</ a > </ p >
d23464c0 Andy McCall 1 month ago ↶
60
</ div >
8e820b4a Andy McCall 1 month ago ↶
61
< script src = " /static/hub.js?v={{ shell.assets() }}" defer > </ script >
d23464c0 Andy McCall 1 month ago ↶
62
</ body >
63
</ html >