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="ml-2 no-underline flex items-center gap-2 text-sm uppercase font-bold"
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-2">
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="relative px-2 pb-8">
108 <div id="commit-message">
109 {{ $messageParts := splitN .Message "\n\n" 2 }}
110 <div class="text-base cursor-pointer">
111 <div>
112 <div>
113 <a
114 href="/{{ $.RepoInfo.FullName }}/commit/{{ .Hash.String }}"
115 class="inline no-underline hover:underline"
116 >{{ index $messageParts 0 }}</a
117 >
118 {{ if gt (len $messageParts) 1 }}
119
120 <button
121 class="py-1/2 px-1 bg-gray-200 hover:bg-gray-400 rounded"
122 hx-on:click="this.parentElement.nextElementSibling.classList.toggle('hidden')"
123 >
124 <i
125 class="w-3 h-3"
126 data-lucide="ellipsis"
127 ></i>
128 </button>
129 {{ end }}
130 </div>
131 {{ if gt (len $messageParts) 1 }}
132 <p
133 class="hidden mt-1 text-sm cursor-text pb-2"
134 >
135 {{ nl2br (unwrapText (index $messageParts 1)) }}
136 </p>
137 {{ end }}
138 </div>
139 </div>
140 </div>
141
142 <div class="text-xs text-gray-500">
143 <span class="font-mono">
144 <a
145 href="/{{ $.RepoInfo.FullName }}/commit/{{ .Hash.String }}"
146 class="text-gray-500 no-underline hover:underline"
147 >{{ slice .Hash.String 0 8 }}</a
148 >
149 </span>
150 <span
151 class="mx-2 before:content-['·'] before:select-none"
152 ></span>
153 <span>
154 <a
155 href="mailto:{{ .Author.Email }}"
156 class="text-gray-500 no-underline hover:underline"
157 >{{ .Author.Name }}</a
158 >
159 </span>
160 <div
161 class="inline-block px-1 select-none after:content-['·']"
162 ></div>
163 <span>{{ timeFmt .Author.When }}</span>
164 </div>
165 </div>
166 {{ end }}
167 </div>
168 </div>
169 </main>
170{{ end }}
171
172{{ define "repoAfter" }}
173 {{- if .Readme }}
174 <section class="mt-4 p-6 rounded bg-white w-full mx-auto">
175 <article class="readme">
176 {{- .Readme -}}
177 </article>
178 </section>
179 {{- end -}}
180
181
182 <section class="mt-4 p-6 rounded bg-white w-full mx-auto">
183 <strong>clone</strong>
184 <pre>
185 git clone https://tangled.sh/{{ .RepoInfo.OwnerWithAt }}/{{ .RepoInfo.Name }} </pre
186 >
187 </section>
188{{ end }}