forked from
tangled.org/core
Monorepo for Tangled — https://tangled.org
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-700">
21 <div class="flex flex-col md:flex-row md:justify-between gap-2">
22 <div id="breadcrumbs" class="overflow-x-auto whitespace-nowrap text-gray-400 dark:text-gray-500">
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 {{ if eq $stats.NumFolders 1 }}
32 <span class="select-none px-1 md:px-2 [&:before]:content-['·']"></span>
33 <span>{{ $stats.NumFolders }} folder</span>
34 {{ else if gt $stats.NumFolders 1 }}
35 <span class="select-none px-1 md:px-2 [&:before]:content-['·']"></span>
36 <span>{{ $stats.NumFolders }} folders</span>
37 {{ end }}
38
39 {{ if eq $stats.NumFiles 1 }}
40 <span class="select-none px-1 md:px-2 [&:before]:content-['·']"></span>
41 <span>{{ $stats.NumFiles }} file</span>
42 {{ else if gt $stats.NumFiles 1 }}
43 <span class="select-none px-1 md:px-2 [&:before]:content-['·']"></span>
44 <span>{{ $stats.NumFiles }} files</span>
45 {{ end }}
46
47 </div>
48 </div>
49 </div>
50
51 {{ range .Files }}
52 {{ if not .IsFile }}
53 <div class="{{ $containerstyle }}">
54 <div class="flex justify-between items-center">
55 <a href="/{{ $.BaseTreeLink }}/{{ .Name }}" class="{{ $linkstyle }}">
56 <div class="flex items-center gap-2">
57 {{ i "folder" "size-4 fill-current" }}{{ .Name }}
58 </div>
59 </a>
60 <time class="text-xs text-gray-500 dark:text-gray-400">{{ timeFmt .LastCommit.When }}</time>
61 </div>
62 </div>
63 {{ end }}
64 {{ end }}
65
66 {{ range .Files }}
67 {{ if .IsFile }}
68 <div class="{{ $containerstyle }}">
69 <div class="flex justify-between items-center">
70 <a href="/{{ $.BaseBlobLink }}/{{ .Name }}" class="{{ $linkstyle }}">
71 <div class="flex items-center gap-2">
72 {{ i "file" "size-4" }}{{ .Name }}
73 </div>
74 </a>
75 <time class="text-xs text-gray-500 dark:text-gray-400">{{ timeFmt .LastCommit.When }}</time>
76 </div>
77 </div>
78 {{ end }}
79 {{ end }}
80 </div>
81</main>
82{{end}}