this repo has no description
1{{ define "title" }}{{ .RepoInfo.FullName }} at {{ .Ref }}{{ end }}
2
3{{ define "repoContent" }}
4 <main>
5 <div class="flex justify-between pb-5">
6 <select
7 onchange="window.location.href = '/{{ .RepoInfo.FullName }}/tree/' + this.value"
8 class="p-1 border border-gray-200 bg-white"
9 >
10 <optgroup label="branches" class="bold text-sm">
11 {{ range .Branches }}
12 <option
13 value="{{ .Reference.Name }}"
14 class="py-1"
15 {{ if eq .Reference.Name $.Ref }}
16 selected
17 {{ end }}
18 >
19 {{ .Reference.Name }}
20 </option>
21 {{ end }}
22 </optgroup>
23 <optgroup label="tags" class="bold text-sm">
24 {{ range .Tags }}
25 <option
26 value="{{ .Reference.Name }}"
27 class="py-1"
28 {{ if eq .Reference.Name $.Ref }}
29 selected
30 {{ end }}
31 >
32 {{ .Reference.Name }}
33 </option>
34 {{ else }}
35 <option class="py-1" disabled>no tags found</option>
36 {{ end }}
37 </optgroup>
38 </select>
39 <a
40 href="/{{ .RepoInfo.FullName }}/commits/{{ .Ref }}"
41 class="btn ml-2 no-underline flex items-center gap-2"
42 >
43 <i class="w-4 h-4" data-lucide="logs"></i>
44 {{ .TotalCommits }}
45 {{ if eq .TotalCommits 1 }}commit{{ else }}commits{{ end }}
46 </a>
47 </div>
48
49 <div class="flex gap-4">
50 <div id="file-tree" class="w-3/5 pr-2 border-r border-gray-200">
51 {{ $containerstyle := "py-1" }}
52 {{ $linkstyle := "no-underline hover:underline" }}
53
54 {{ range .Files }}
55 {{ if not .IsFile }}
56 <div class="{{ $containerstyle }}">
57 <div class="flex justify-between items-center">
58 <a
59 href="/{{ $.RepoInfo.FullName }}/tree/{{ $.Ref }}/{{ .Name }}"
60 class="{{ $linkstyle }}"
61 >
62 <div class="flex items-center gap-2">
63 <i
64 class="w-3 h-3 fill-current"
65 data-lucide="folder"
66 ></i
67 >{{ .Name }}
68 </div>
69 </a>
70
71 <time class="text-xs text-gray-500"
72 >{{ timeFmt .LastCommit.Author.When }}</time
73 >
74 </div>
75 </div>
76 {{ end }}
77 {{ end }}
78
79 {{ range .Files }}
80 {{ if .IsFile }}
81 <div class="{{ $containerstyle }}">
82 <div class="flex justify-between items-center">
83 <a
84 href="/{{ $.RepoInfo.FullName }}/blob/{{ $.Ref }}/{{ .Name }}"
85 class="{{ $linkstyle }}"
86 >
87 <div class="flex items-center gap-2">
88 <i
89 class="w-3 h-3"
90 data-lucide="file"
91 ></i
92 >{{ .Name }}
93 </div>
94 </a>
95
96 <time class="text-xs text-gray-500"
97 >{{ timeFmt .LastCommit.Author.When }}</time
98 >
99 </div>
100 </div>
101 {{ end }}
102 {{ end }}
103 </div>
104
105 <div id="commit-log" class="flex-1">
106 {{ range .Commits }}
107 <div class="flex flex-row items-center">
108 <i
109 class="w-5 h-5 text-gray-400 align-top"
110 data-lucide="git-commit-horizontal"
111 ></i>
112 <div class="relative px-4 py-4">
113 <div id="commit-message">
114 {{ $messageParts := splitN .Message "\n\n" 2 }}
115 <div class="text-base cursor-pointer">
116 <div>
117 <div>
118 <a
119 href="/{{ $.RepoInfo.FullName }}/commit/{{ .Hash.String }}"
120 class="inline no-underline hover:underline"
121 >{{ index $messageParts 0 }}</a
122 >
123 {{ if gt (len $messageParts) 1 }}
124
125 <button
126 class="py-1/2 px-1 bg-gray-200 hover:bg-gray-400 rounded"
127 hx-on:click="this.parentElement.nextElementSibling.classList.toggle('hidden')"
128 >
129 <i
130 class="w-3 h-3"
131 data-lucide="ellipsis"
132 ></i>
133 </button>
134 {{ end }}
135 </div>
136 {{ if gt (len $messageParts) 1 }}
137 <p
138 class="hidden mt-1 text-sm cursor-text pb-2"
139 >
140 {{ nl2br (unwrapText (index $messageParts 1)) }}
141 </p>
142 {{ end }}
143 </div>
144 </div>
145 </div>
146
147 <div class="text-xs text-gray-500">
148 <span class="font-mono">
149 <a
150 href="/{{ $.RepoInfo.FullName }}/commit/{{ .Hash.String }}"
151 class="text-gray-500 no-underline hover:underline"
152 >{{ slice .Hash.String 0 8 }}</a
153 >
154 </span>
155 <span
156 class="mx-2 before:content-['·'] before:select-none"
157 ></span>
158 <span>
159 <a
160 href="mailto:{{ .Author.Email }}"
161 class="text-gray-500 no-underline hover:underline"
162 >{{ .Author.Name }}</a
163 >
164 </span>
165 <div
166 class="inline-block px-1 select-none after:content-['·']"
167 ></div>
168 <span>{{ timeFmt .Author.When }}</span>
169 </div>
170 </div>
171 </div>
172 {{ end }}
173 </div>
174 </div>
175 </main>
176{{ end }}
177
178{{ define "repoAfter" }}
179 {{- if .Readme }}
180 <section class="mt-4 p-6 border border-gray-200 w-full mx-auto">
181 <article class="readme">
182 {{- .Readme -}}
183 </article>
184 </section>
185 {{- end -}}
186
187
188 <section class="mt-4 p-6 border border-gray-200 w-full mx-auto">
189 <strong>clone</strong>
190 <pre>
191 git clone https://tangled.sh/{{ .RepoInfo.OwnerWithAt }}/{{ .RepoInfo.Name }} </pre
192 >
193 </section>
194{{ end }}