forked from tangled.org/core
Monorepo for Tangled — https://tangled.org
1{{ define "title"}}{{ range .BreadCrumbs }}{{ pathUnescape (index . 0)}}/{{ end }} at {{ .Ref }} &middot; {{ .RepoInfo.FullName }}{{ end }} 2 3 4{{ define "extrameta" }} 5 6 {{ $path := "" }} 7 {{ range .BreadCrumbs }} 8 {{ $path = printf "%s/%s" $path (index . 0) }} 9 {{ end }} 10 11 {{ template "repo/fragments/meta" . }} 12 {{ $title := printf "%s at %s &middot; %s" $path .Ref .RepoInfo.FullName }} 13 {{ $url := printf "https://tangled.sh/%s/tree/%s%s" .RepoInfo.FullName .Ref $path }} 14 15 {{ template "repo/fragments/og" (dict "RepoInfo" .RepoInfo "Title" $title "Url" $url) }} 16{{ end }} 17 18 19{{define "repoContent"}} 20<main> 21 <div class="tree"> 22 {{ $containerstyle := "py-1" }} 23 {{ $linkstyle := "no-underline hover:underline" }} 24 25 <div class="pb-2 mb-3 text-base border-b border-gray-200 dark:border-gray-700"> 26 <div class="flex flex-col md:flex-row md:justify-between gap-2"> 27 <div id="breadcrumbs" class="overflow-x-auto whitespace-nowrap text-gray-400 dark:text-gray-500"> 28 {{ range .BreadCrumbs }} 29 <a href="{{ index . 1}}" class="text-bold text-gray-500 dark:text-gray-400 {{ $linkstyle }}">{{ pathUnescape (index . 0) }}</a> / 30 {{ end }} 31 </div> 32 <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"> 33 {{ $stats := .TreeStats }} 34 35 <span>at <a href="/{{ $.RepoInfo.FullName }}/tree/{{ $.Ref }}">{{ $.Ref }}</a></span> 36 {{ if eq $stats.NumFolders 1 }} 37 <span class="select-none px-1 md:px-2 [&:before]:content-['·']"></span> 38 <span>{{ $stats.NumFolders }} folder</span> 39 {{ else if gt $stats.NumFolders 1 }} 40 <span class="select-none px-1 md:px-2 [&:before]:content-['·']"></span> 41 <span>{{ $stats.NumFolders }} folders</span> 42 {{ end }} 43 44 {{ if eq $stats.NumFiles 1 }} 45 <span class="select-none px-1 md:px-2 [&:before]:content-['·']"></span> 46 <span>{{ $stats.NumFiles }} file</span> 47 {{ else if gt $stats.NumFiles 1 }} 48 <span class="select-none px-1 md:px-2 [&:before]:content-['·']"></span> 49 <span>{{ $stats.NumFiles }} files</span> 50 {{ end }} 51 52 </div> 53 </div> 54 </div> 55 56 {{ range .Files }} 57 {{ if not .IsFile }} 58 <div class="{{ $containerstyle }}"> 59 <div class="flex justify-between items-center"> 60 <a href="/{{ $.BaseTreeLink }}/{{ .Name }}" class="{{ $linkstyle }}"> 61 <div class="flex items-center gap-2"> 62 {{ i "folder" "size-4 fill-current" }}{{ .Name }} 63 </div> 64 </a> 65 {{ if .LastCommit}} 66 <time class="text-xs text-gray-500 dark:text-gray-400">{{ timeFmt .LastCommit.When }}</time> 67 {{ end }} 68 </div> 69 </div> 70 {{ end }} 71 {{ end }} 72 73 {{ range .Files }} 74 {{ if .IsFile }} 75 <div class="{{ $containerstyle }}"> 76 <div class="flex justify-between items-center"> 77 <a href="/{{ $.BaseBlobLink }}/{{ .Name }}" class="{{ $linkstyle }}"> 78 <div class="flex items-center gap-2"> 79 {{ i "file" "size-4" }}{{ .Name }} 80 </div> 81 </a> 82 {{ if .LastCommit}} 83 <time class="text-xs text-gray-500 dark:text-gray-400">{{ timeFmt .LastCommit.When }}</time> 84 {{ end }} 85 </div> 86 </div> 87 {{ end }} 88 {{ end }} 89 </div> 90</main> 91{{end}}