rin
Публичный Open-source lightweight git hosting.
landing.html · 98 строк · 3.4 KB
Raw
1 {{define "content"}}
2 <div class="container">
3 <!-- Minimal Hero -->
4 <section class="mb-6">
5 <div class="mb-2">
6 <span class="badge">{{icon "git-branch" "size-3.5"}} {{t .Lang "landing.badge"}}</span>
7 </div>
8 <h1 class="text-2xl font-bold" style="max-width:38rem;line-height:1.2;margin:0 0 0.6rem 0;">
9 {{t .Lang "landing.hero.title"}}
10 </h1>
11 <p class="text-sm text-muted" style="max-width:36rem;margin:0 0 1.25rem 0;">
12 {{t .Lang "landing.hero.subtitle"}}
13 </p>
14
15 <div class="flex items-center flex-wrap gap-2">
16 {{if .CurrentUser}}
17 <a href="/new" class="btn btn-primary">
18 {{icon "plus" "size-4"}}
19 <span>{{t .Lang "repo.new.title"}}</span>
20 </a>
21 <a href="/repos" class="btn btn-outline">
22 {{icon "git-branch" "size-4"}}
23 <span>{{t .Lang "nav.repositories"}}</span>
24 </a>
25 {{else}}
26 {{if .RegistrationEnabled}}
27 <a href="/register" class="btn btn-primary">
28 <span>{{t .Lang "landing.hero.cta_start"}}</span>
29 {{icon "arrow-right" "size-4"}}
30 </a>
31 {{end}}
32 <a href="/login" class="btn btn-outline">
33 <span>{{t .Lang "nav.login"}}</span>
34 </a>
35 {{end}}
36 </div>
37 </section>
38
39 <!-- 4 Core Principles -->
40 <section class="mb-6">
41 <div class="grid-2">
42 <div class="card p-3">
43 <div class="flex items-center gap-2 font-semibold text-sm mb-1">
44 {{icon "server" "size-4"}}
45 <span>{{t .Lang "landing.feat1.title"}}</span>
46 </div>
47 <p class="text-xs text-muted" style="margin:0;">{{t .Lang "landing.feat1.desc"}}</p>
48 </div>
49
50 <div class="card p-3">
51 <div class="flex items-center gap-2 font-semibold text-sm mb-1">
52 {{icon "database" "size-4"}}
53 <span>{{t .Lang "landing.feat2.title"}}</span>
54 </div>
55 <p class="text-xs text-muted" style="margin:0;">{{t .Lang "landing.feat2.desc"}}</p>
56 </div>
57
58 <div class="card p-3">
59 <div class="flex items-center gap-2 font-semibold text-sm mb-1">
60 {{icon "zap" "size-4"}}
61 <span>{{t .Lang "landing.feat3.title"}}</span>
62 </div>
63 <p class="text-xs text-muted" style="margin:0;">{{t .Lang "landing.feat3.desc"}}</p>
64 </div>
65
66 <div class="card p-3">
67 <div class="flex items-center gap-2 font-semibold text-sm mb-1">
68 {{icon "lock" "size-4"}}
69 <span>{{t .Lang "landing.feat4.title"}}</span>
70 </div>
71 <p class="text-xs text-muted" style="margin:0;">{{t .Lang "landing.feat4.desc"}}</p>
72 </div>
73 </div>
74 </section>
75
76 {{if and .ExploreEnabled .Repos}}
77 <section>
78 <div class="flex items-center justify-between mb-2">
79 <h2 class="text-base font-semibold" style="margin:0;">{{t .Lang "nav.explore"}}</h2>
80 </div>
81 <div class="card">
82 {{range .Repos}}
83 <div class="dense-row">
84 <div class="flex items-center gap-2 min-w-0">
85 {{icon "git-branch" "size-4"}}
86 <a href="/{{.OwnerUsername}}/{{.Name}}" class="font-medium">{{.OwnerUsername}}/<strong>{{.Name}}</strong></a>
87 {{if .Description}}
88 <span class="text-xs text-muted truncate">— {{.Description}}</span>
89 {{end}}
90 </div>
91 <span class="text-xs text-muted">{{timeAgo .UpdatedAt $.Lang}}</span>
92 </div>
93 {{end}}
94 </div>
95 </section>
96 {{end}}
97 </div>
98 {{end}}