Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/git/vole.git

Write over SSH with a registered key:

git clone ssh://git@0.0.0.0:2222/vole.git

A free and open-source forge that lives in your Git repo.

Code

392 commit(s) on main

Merge change request 01M70WES5ZZDJ6RP226WB11BBZ: Let people rename and remove their own passkeys keenan · 2h ago 4b8c9e1d
history blame raw 4.3 KiB
1{{define "index"}}
2{{template "header" .}}
3<section class="hero">
4 <div class="hero-main">
5 <h1>{{.InstanceName}}</h1>
6 </div>
7 <div class="hero-actions">
8 {{if and .InstanceAdmin .Cards}}<a class="button" href="/-/repos/new">{{icon "plus"}}New repository</a>{{end}}
9 {{if not .LoggedIn}}
10 <a class="button secondary" href="/-/login">{{icon "user"}}Sign in</a>
11 {{if .OpenRegistration}}<a class="button secondary" href="/-/register">{{icon "user"}}Create an account</a>{{end}}
12 {{end}}
13 </div>
14</section>
15
16{{if and (not .Cards) (not .Query)}}{{template "home_readme" .}}{{end}}
17
18{{if .Cards}}
19<div class="home-grid">
20 <section class="home-main">
21 {{if not .Query}}{{template "home_readme" .}}{{end}}
22 <div class="section-head">
23 <h2>{{if .Query}}Results{{else}}Repositories{{end}}</h2>
24 {{if .Query}}<a class="more" href="/">clear search</a>{{end}}
25 </div>
26 <div class="repo-grid">
27 {{range .Cards}}{{template "repo_card" .}}{{end}}
28 </div>
29 </section>
30
31 {{if not .Query}}
32 <aside class="home-rail">
33 <div class="section-head">
34 <h2>Latest</h2>
35 <a class="more" href="/-/activity">all activity</a>
36 </div>
37 {{if .Events}}
38 {{template "activity_events" .}}
39 {{else}}
40 <p class="muted">Nothing has happened yet. Push a commit, open an issue, or queue a run.</p>
41 {{end}}
42 </aside>
43 {{end}}
44</div>
45{{else if .Query}}
46<div class="empty-state">
47 <p>No repositories match “{{.Query}}”.</p>
48 <p class="muted">Search looks at repository names and descriptions. Private repositories you cannot read are not included.</p>
49 <a href="/">Clear the search</a>
50</div>
51{{else if .InstanceAdmin}}
52<div class="empty-state first-run">
53 <span class="empty-icon" aria-hidden="true">{{icon "folder"}}</span>
54 <h2>No repositories yet</h2>
55 <p class="muted">A repository is where code, issues, changes, and runs live. Create the first one to get started.</p>
56 <p class="empty-actions"><a class="button" href="/-/repos/new">{{icon "plus"}}New repository</a></p>
57 <p class="empty-hint">Or from the instance directory: <code>vole admin repo create demo --owner {{if .User}}{{.User}}{{else}}you{{end}}</code></p>
58</div>
59{{else if .LoggedIn}}
60<div class="empty-state">
61 <p>You do not have access to any repositories yet.</p>
62 <p class="muted">An instance admin can grant your account a role on a repository. Once you have one, it appears here.</p>
63</div>
64{{else}}
65<div class="empty-state">
66 <p>Nothing here is readable without an account.</p>
67 <p class="muted">Sign in with a passkey to see the repositories you have access to. Read-only clones of public repositories need no account.</p>
68</div>
69{{end}}
70{{template "footer" .}}
71{{end}}
72
73{{define "home_readme"}}
74{{if .Intro}}
75<section class="panel readme-card" id="readme">
76 <div class="md readme-body">{{.Intro}}</div>
77</section>
78{{else if and .InstanceAdmin (not .RepoReady)}}
79<p class="readme-empty">This instance has no repository for customization yet. Create it on the
80 <a href="/-/admin?tab=configuration">Admin Configuration</a> page to customize this introduction, the styles, and the assets.</p>
81{{end}}
82{{end}}
83
84{{define "repo_card"}}
85<article class="repo-card">
86 <div class="repo-card-top">
87 <span class="repo-vis" title="{{if .Private}}Private repository{{else}}Public repository{{end}}">{{if .Private}}{{icon "lock"}}{{else}}{{icon "globe"}}{{end}}</span>
88 <h3><a href="/{{.Name}}" title="{{if .Private}}Private repository{{else}}Public repository{{end}}">{{.Name}}</a></h3>
89 {{if .Language}}<span class="repo-lang"><span class="lang-dot {{.LangClass}}" aria-hidden="true"></span>{{.Language}}</span>{{end}}
90 {{if not .Updated.IsZero}}<span class="repo-updated" title="Last activity">{{since .Updated.Unix}}</span>{{end}}
91 </div>
92 {{if .Description}}<p class="repo-desc">{{.Description}}</p>{{end}}
93 {{if or .OpenIssues .OpenChanges .LastTag}}
94 <div class="repo-chips">
95 {{if .OpenIssues}}<a class="chip" href="/{{.Name}}/issues">{{icon "circle-dot"}}{{.OpenIssues}} issue{{if ne .OpenIssues 1}}s{{end}}</a>{{end}}
96 {{if .OpenChanges}}<a class="chip" href="/{{.Name}}/changes">{{icon "git-pull-request"}}{{.OpenChanges}} change{{if ne .OpenChanges 1}}s{{end}}</a>{{end}}
97 {{if .LastTag}}<a class="chip" href="/{{.Name}}/releases/{{.LastTag.Name}}">{{icon "tag"}}{{.LastTag.Name}}</a>{{end}}
98 </div>
99 {{end}}
100</article>
101{{end}}
102