this repo has no description
1{{ define "title" }} commit {{ .Diff.Commit.This }} &middot; {{ .RepoInfo.FullName }} {{ end }} 2 3{{ define "repoContent" }} 4 5{{ $repo := .RepoInfo.FullName }} 6{{ $commit := .Diff.Commit }} 7{{ $stat := .Diff.Stat }} 8{{ $diff := .Diff.Diff }} 9 10<section class="commit"> 11 <div id="commit-message"> 12 {{ $messageParts := splitN $commit.Message "\n\n" 2 }} 13 <div> 14 <p class="pb-2">{{ index $messageParts 0 }}</p> 15 {{ if gt (len $messageParts) 1 }} 16 <p class="mt-1 cursor-text pb-2 text-sm">{{ nl2br (unwrapText (index $messageParts 1)) }}</p> 17 {{ end }} 18 </div> 19 </div> 20 21 <div class="flex items-center"> 22 <p class="text-sm text-gray-500"> 23 <a href="mailto:{{ $commit.Author.Email }}" class="no-underline hover:underline text-gray-500">{{ $commit.Author.Name }}</a> 24 <span class="px-1 select-none before:content-['\00B7']"></span> 25 {{ timeFmt $commit.Author.When }} 26 <span class="px-1 select-none before:content-['\00B7']"></span> 27 <span class="font-mono">{{ $stat.FilesChanged }}</span> files <span class="font-mono">(+{{ $stat.Insertions }}, -{{ $stat.Deletions }})</span> 28 <span class="px-1 select-none before:content-['\00B7']"></span> 29 </p> 30 31 <p class="flex items-center text-sm text-gray-500"> 32 <a href="/{{ $repo }}/commit/{{ $commit.This }}" class="no-underline hover:underline text-gray-500">{{ slice $commit.This 0 8 }}</a> 33 {{ if $commit.Parent }} 34 <i class="w-3 h-3 mx-1" data-lucide="arrow-left"></i> 35 <a href="/{{ $repo }}/commit/{{ $commit.Parent }}" class="no-underline hover:underline text-gray-500">{{ slice $commit.Parent 0 8 }}</a> 36 {{ end }} 37 </p> 38 </div> 39 40 <div class="diff-stat"> 41 <br> 42 <strong class="text-sm uppercase mb-4">Affected files</strong> 43 {{ range $diff }} 44 <ul> 45 {{ if .IsDelete }} 46 <li><a href="#file-{{ .Name.Old }}">{{ .Name.Old }}</a></li> 47 {{ else }} 48 <li><a href="#file-{{ .Name.New }}">{{ .Name.New }}</a></li> 49 {{ end }} 50 </ul> 51 {{ end }} 52 </div> 53</section> 54 55{{end}} 56 57{{ define "repoAfter" }} 58 59{{ $repo := .RepoInfo.FullName }} 60{{ $commit := .Diff.Commit }} 61{{ $stat := .Diff.Stat }} 62{{ $diff := .Diff.Diff }} 63 64 {{ $this := $commit.This }} 65 {{ $parent := $commit.Parent }} 66 67 {{ $last := sub (len $diff) 1 }} 68 {{ range $idx, $hunk := $diff }} 69 {{ with $hunk }} 70 <section class="mt-6 border border-gray-200 w-full mx-auto rounded bg-white drop-shadow-sm"> 71 <div id="file-{{ .Name.New }}"> 72 <div id="diff-file"> 73 <details open> 74 <summary class="list-none cursor-pointer sticky top-0"> 75 <div id="diff-file-header" class="rounded cursor-pointer bg-white flex justify-between"> 76 <div id="left-side-items" class="p-2"> 77 {{ if .IsNew }} 78 <span class="diff-type p-1 mr-1 font-mono text-sm bg-green-100 rounded text-green-700 select-none">A</span> 79 {{ end }} 80 {{ if .IsDelete }} 81 <span class="diff-type p-1 mr-1 font-mono text-sm bg-red-100 rounded text-red-700 select-none">D</span> 82 {{ end }} 83 {{ if not (or .IsNew .IsDelete) }} 84 <span class="diff-type p-1 mr-1 font-mono bg-gray-100 text-sm rounded text-gray-700 select-none">M</span> 85 {{ end }} 86 87 {{ if .IsDelete }} 88 <a href="/{{ $repo }}/blob/{{ $this }}/{{ .Name.Old }}" class="no-underline hover:underline">{{ .Name.Old }}</a> 89 {{ else }} 90 <a href="/{{ $repo }}/blob/{{ $this }}/{{ .Name.New }}" class="no-underline hover:underline">{{ .Name.New }}</a> 91 {{ end }} 92 </div> 93 94 {{ $iconstyle := "p-1 mx-1 hover:bg-gray-100 rounded" }} 95 <div id="right-side-items" class="p-2 flex items-center"> 96 <a title="top of file" href="#file-{{ .Name.New }}" class="{{ $iconstyle }}"><i class="w-4 h-4" data-lucide="arrow-up-from-line"></i></a> 97 {{ if gt $idx 0 }} 98 {{ $prev := index $diff (sub $idx 1) }} 99 <a title="previous file" href="#file-{{ $prev.Name.New }}" class="{{ $iconstyle }}"><i class="w-4 h-4" data-lucide="arrow-up"></i></a> 100 {{ end }} 101 102 {{ if lt $idx $last }} 103 {{ $next := index $diff (add $idx 1) }} 104 <a title="next file" href="#file-{{ $next.Name.New }}" class="{{ $iconstyle }}"><i class="w-4 h-4" data-lucide="arrow-down"></i></a> 105 {{ end }} 106 </div> 107 108 </div> 109 </summary> 110 111 <div class="transition-all duration-700 ease-in-out"> 112 {{ if .IsDelete }} 113 <p class="text-center text-gray-400 p-4"> 114 This file has been deleted in this commit. 115 </p> 116 {{ else }} 117 {{ if .IsBinary }} 118 <p class="text-center text-gray-400 p-4"> 119 This is a binary file and will not be displayed. 120 </p> 121 {{ else }} 122 <pre class="overflow-auto"> 123 {{- range .TextFragments -}} 124 <div class="bg-gray-100 text-gray-500 select-none">{{ .Header }}</div> 125 {{- range .Lines -}} 126 {{- if eq .Op.String "+" -}} 127 <div class="bg-green-100 text-green-700 p-1"><span class="select-none mx-2">{{ .Op.String }}</span><span>{{ .Line }}</span></div> 128 {{- end -}} 129 130 {{- if eq .Op.String "-" -}} 131 <div class="bg-red-100 text-red-700 p-1"><span class="select-none mx-2">{{ .Op.String }}</span><span>{{ .Line }}</span></div> 132 {{- end -}} 133 134 {{- if eq .Op.String " " -}} 135 <div class="bg-white text-gray-500 px"><span class="select-none mx-2">{{ .Op.String }}</span><span>{{ .Line }}</span></div> 136 {{- end -}} 137 138 {{- end -}} 139 {{- end -}} 140 </pre> 141 {{- end -}} 142 {{ end }} 143 </div> 144 145 </details> 146 147 </div> 148 </div> 149 </section> 150 {{ end }} 151 {{ end }} 152 153{{end}}