A minimal self-hosted git browser on Rust axum: bare repos rendered as a website with commits, diffs, syntax-highlighted blobs, atom feeds, and clone over HTTPS.
axumdockergitgit-browsergitoxidegixrustself-hosted
1{% extends "base.html" %}
2{% block title %}repositories{% endblock %}
3
4{% block main %}
5<section class="hero">
6 <h1>repositories</h1>
7 <p class="lede">code from <a href="https://isaacbythewood.com">isaac bythewood</a>, served straight from the bare repos.</p>
8</section>
9
10{% if repos %}
11<ul class="repo-list">
12 {% for repo in repos %}
13 <li class="repo-row">
14 <div class="repo-row__head">
15 <a class="repo-row__name" href="/{{ repo.name }}">{{ repo.name }}</a>
16 {% if repo.head_time %}
17 <span class="repo-row__age" title="{{ repo.head_id|shortsha }}">{{ repo.head_time|naturaltime }}</span>
18 {% endif %}
19 </div>
20 {% if repo.description %}
21 <p class="repo-row__desc">{{ repo.description }}</p>
22 {% endif %}
23 {% if repo.head_summary %}
24 <p class="repo-row__last"><span class="repo-row__last-sha">{{ repo.head_id|shortsha }}</span> {{ repo.head_summary }}</p>
25 {% endif %}
26 </li>
27 {% endfor %}
28</ul>
29{% else %}
30<p class="empty">No repositories yet.</p>
31{% endif %}
32{% endblock %}