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