rin
Публичный Open-source lightweight git hosting.
landing.html · 100 строк · 3.5 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 {{if .ExploreEnabled}}
22 <a href="/explore" class="btn btn-outline">
23 {{icon "globe" "size-4"}}
24 <span>{{t .Lang "nav.explore"}}</span>
25 </a>
26 {{end}}
27 {{else}}
28 {{if .RegistrationEnabled}}
29 <a href="/register" class="btn btn-primary">
30 <span>{{t .Lang "landing.hero.cta_start"}}</span>
31 {{icon "arrow-right" "size-4"}}
32 </a>
33 {{end}}
34 <a href="/login" class="btn btn-outline">
35 <span>{{t .Lang "nav.login"}}</span>
36 </a>
37 {{end}}
38 </div>
39 </section>
40
41 <!-- 4 Core Principles -->
42 <section class="mb-6">
43 <div class="grid-2">
44 <div class="card p-3">
45 <div class="flex items-center gap-2 font-semibold text-sm mb-1">
46 {{icon "server" "size-4"}}
47 <span>{{t .Lang "landing.feat1.title"}}</span>
48 </div>
49 <p class="text-xs text-muted" style="margin:0;">{{t .Lang "landing.feat1.desc"}}</p>
50 </div>
51
52 <div class="card p-3">
53 <div class="flex items-center gap-2 font-semibold text-sm mb-1">
54 {{icon "database" "size-4"}}
55 <span>{{t .Lang "landing.feat2.title"}}</span>
56 </div>
57 <p class="text-xs text-muted" style="margin:0;">{{t .Lang "landing.feat2.desc"}}</p>
58 </div>
59
60 <div class="card p-3">
61 <div class="flex items-center gap-2 font-semibold text-sm mb-1">
62 {{icon "zap" "size-4"}}
63 <span>{{t .Lang "landing.feat3.title"}}</span>
64 </div>
65 <p class="text-xs text-muted" style="margin:0;">{{t .Lang "landing.feat3.desc"}}</p>
66 </div>
67
68 <div class="card p-3">
69 <div class="flex items-center gap-2 font-semibold text-sm mb-1">
70 {{icon "lock" "size-4"}}
71 <span>{{t .Lang "landing.feat4.title"}}</span>
72 </div>
73 <p class="text-xs text-muted" style="margin:0;">{{t .Lang "landing.feat4.desc"}}</p>
74 </div>
75 </div>
76 </section>
77
78 {{if and .ExploreEnabled .Repos}}
79 <section>
80 <div class="flex items-center justify-between mb-2">
81 <h2 class="text-base font-semibold" style="margin:0;">{{t .Lang "nav.explore"}}</h2>
82 </div>
83 <div class="card">
84 {{range .Repos}}
85 <div class="dense-row">
86 <div class="flex items-center gap-2 min-w-0">
87 {{icon "git-branch" "size-4"}}
88 <a href="/{{.OwnerUsername}}/{{.Name}}" class="font-medium">{{.OwnerUsername}}/<strong>{{.Name}}</strong></a>
89 {{if .Description}}
90 <span class="text-xs text-muted truncate">— {{.Description}}</span>
91 {{end}}
92 </div>
93 <span class="text-xs text-muted">{{timeAgo .UpdatedAt $.Lang}}</span>
94 </div>
95 {{end}}
96 </div>
97 </section>
98 {{end}}
99 </div>
100 {{end}}