clone

a personal forge on plain git: static pages, stacked-diff reviews, signed local ci, repo sites and releases

main
forge / site / _includes / private.njk
private.njk 1.9K
1{#- /private/, which lib/private-server.ts renders on request: the private2 repos the signed-in user can read, like the index lists public ones.3 Data: forge, p (title), user, csrf, signal (JSON or ''), repos (owner,4 name, description, lastCommit, href, built). -#}5{% extends "base.njk" %}6{% import "ui.njk" as ui %}7{% block scripts %}8<script src="{{ assets.webauthn }}" defer></script>9<script src="{{ assets.login }}" defer></script>10{% endblock %}11{% block head %}<meta name="robots" content="noindex">12{% endblock %}13{% block heading %}<b>private repos</b>14{% endblock %}15{% block content %}16{% css %}17.signed-in { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-3); align-items: center; margin: 0 0 var(--space-3); color: var(--muted); font-size: var(--text-sm); }18.signed-in form { display: inline; }19{% endcss %}20<div class="signed-in" id="login"{% if signal %} data-signal="{{ signal }}"{% endif %}>21<span>Signed in as <b>{{ user }}</b>. These are the private repos you can read; only their readers see them.</span>22<form method="post" action="/login/logout"><input type="hidden" name="csrf" value="{{ csrf }}">{{ ui.button('sign out', false, 'id="signout"', 'submit') }}</form>23</div>24<div class="panel">25<table class="list stack nav">26<thead><tr><th>repository</th><th>description</th><th class="date">updated</th></tr></thead>27<tbody>28{% for s in repos %}29<tr><td class="nowrap">{% if s.built %}<a href="{{ s.href }}">{% endif %}<span class="desc">{{ s.owner }} /</span> <b>{{ s.name }}</b>{% if s.built %}</a>{% endif %}</td><td class="main">{{ s.description }}{% if not s.built %} <span class="desc">(no pages yet)</span>{% endif %}</td><td class="date">{{ s.lastCommit | date }}</td></tr>30{% else %}31<tr><td class="main" colspan="3">None yet. A private repo's owner adds readers with <code>ssh {{ forge.config.ssh }} readers &lt;owner&gt;/&lt;repo&gt; add {{ user }}</code>.</td></tr>32{% endfor %}33</tbody>34</table>35</div>36{% endblock %}