1{{ define "title"}}{{ range .BreadCrumbs }}{{ index . 0}}/{{ end }} at {{ .Ref }} · {{ .RepoInfo.FullName }}{{ end }}
2
3
4{{ define "extrameta" }}
5 <meta name="vcs:clone" content="https://tangled.sh/{{ .RepoInfo.FullName }}"/>
6 <meta name="forge:summary" content="https://tangled.sh/{{ .RepoInfo.FullName }}">
7 <meta name="forge:dir" content="https://tangled.sh/{{ .RepoInfo.FullName }}/tree/{ref}/{path}">
8 <meta name="forge:file" content="https://tangled.sh/{{ .RepoInfo.FullName }}/blob/{ref}/{path}">
9 <meta name="forge:line" content="https://tangled.sh/{{ .RepoInfo.FullName }}/blob/{ref}/{path}#L{line}">
10 <meta name="go-import" content="tangled.sh/{{ .RepoInfo.FullNameWithoutAt }} git https://tangled.sh/{{ .RepoInfo.FullName }}">
11{{ end }}
12
13
14{{define "repoContent"}}
15<main>
16 <div class="tree">
17 {{ $containerstyle := "py-1" }}
18 {{ $linkstyle := "no-underline hover:underline" }}
19
20 <div class="pb-2 mb-3 text-base border-b border-gray-200 dark:border-gray-500">
21 <div class="flex flex-col md:flex-row md:justify-between gap-2">
22 <div id="breadcrumbs" class="overflow-x-auto whitespace-nowrap">
23 {{ range .BreadCrumbs }}
24 <a href="{{ index . 1}}" class="text-bold text-gray-500 dark:text-gray-400 {{ $linkstyle }}">{{ index . 0 }}</a> /
25 {{ end }}
26 </div>
27 <div id="dir-info" class="text-gray-500 dark:text-gray-400 text-xs md:text-sm flex flex-wrap items-center gap-1 md:gap-0">
28 {{ $stats := .TreeStats }}
29
30 <span>at <a href="/{{ $.RepoInfo.FullName }}/tree/{{ $.Ref }}">{{ $.Ref }}</a></span>
31 <span class="select-none px-1 md:px-2 [&:before]:content-['·']"></span>
32 {{ if eq $stats.NumFolders 1 }}
33 <span>{{ $stats.NumFolders }} folder</span>
34 <span class="select-none px-1 md:px-2 [&:before]:content-['·']"></span>
35 {{ else if gt $stats.NumFolders 1 }}
36 <span>{{ $stats.NumFolders }} folders</span>
37 <span class="select-none px-1 md:px-2 [&:before]:content-['·']"></span>
38 {{ end }}
39
40 {{ if eq $stats.NumFiles 1 }}
41 <span>{{ $stats.NumFiles }} file</span>
42 {{ else if gt $stats.NumFiles 1 }}
43 <span>{{ $stats.NumFiles }} files</span>
44 {{ end }}
45
46 </div>
47 </div>
48 </div>
49
50 {{ range .Files }}
51 {{ if not .IsFile }}
52 <div class="{{ $containerstyle }}">
53 <div class="flex justify-between items-center">
54 <a href="/{{ $.BaseTreeLink }}/{{ .Name }}" class="{{ $linkstyle }}">
55 <div class="flex items-center gap-2">
56 {{ i "folder" "w-3 h-3 fill-current" }}{{ .Name }}
57 </div>
58 </a>
59 <time class="text-xs text-gray-500 dark:text-gray-400">{{ timeFmt .LastCommit.When }}</time>
60 </div>
61 </div>
62 {{ end }}
63 {{ end }}
64
65 {{ range .Files }}
66 {{ if .IsFile }}
67 <div class="{{ $containerstyle }}">
68 <div class="flex justify-between items-center">
69 <a href="/{{ $.BaseBlobLink }}/{{ .Name }}" class="{{ $linkstyle }}">
70 <div class="flex items-center gap-2">
71 {{ i "file" "w-3 h-3" }}{{ .Name }}
72 </div>
73 </a>
74 <time class="text-xs text-gray-500 dark:text-gray-400">{{ timeFmt .LastCommit.When }}</time>
75 </div>
76 </div>
77 {{ end }}
78 {{ end }}
79 </div>
80</main>
81{{end}}