2023-03-14 15:22:52 +00:00
{{ define "gist_header" }}
< div class = "py-10" >
< header >
2023-03-15 11:59:18 +00:00
< div class = "flex flex-col lg:flex-row" >
< div >
< h1 class = "text-2xl font-bold leading-tight break-all" >
< a href = "/{{ .gist.User.Username }}" > {{ .gist.User.Username }}< / a > < span class = "text-slate-300" > /< / span > < a href = "/{{ .gist.User.Username }}/{{ .gist.Uuid }}" > {{ .gist.Title }}< / a >
< / h1 >
< / div >
< div class = "lg:flex-row flex py-2 lg:py-0 lg:ml-auto" >
{{ if .userLogged }}
< form id = "like" class = "flex items-center" method = "post" action = "/{{ .gist.User.Username }}/{{ .gist.Uuid }}/like?redirecturl={{ .currentUrl }}" >
{{ .csrfHtml }}
< button type = "submit" class = "focus-within:z-10 text-slate-300 relative inline-flex items-center space-x-2 rounded-l-md border border-gray-600 bg-gray-800 px-2 py-1.5 text-xs font-medium text-slate-300 hover:bg-gray-700 hover:border-gray-500 hover:text-slate-300 focus:border-primary-500 focus:outline-none focus:ring-1 focus:ring-primary-500 leading-3" >
{{ if not .hasLiked }}
< svg xmlns = "http://www.w3.org/2000/svg" fill = "none" viewBox = "0 0 24 24" stroke-width = "1.5" stroke = "currentColor" class = "w-4 h-4 mr-2" >
< path stroke-linecap = "round" stroke-linejoin = "round" d = "M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12z" / >
< / svg >
Like
{{ else }}
< svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 24 24" fill = "currentColor" class = "w-4 h-4 mr-2" >
< path d = "M11.645 20.91l-.007-.003-.022-.012a15.247 15.247 0 01-.383-.218 25.18 25.18 0 01-4.244-3.17C4.688 15.36 2.25 12.174 2.25 8.25 2.25 5.322 4.714 3 7.688 3A5.5 5.5 0 0112 5.052 5.5 5.5 0 0116.313 3c2.973 0 5.437 2.322 5.437 5.25 0 3.925-2.438 7.111-4.739 9.256a25.175 25.175 0 01-4.244 3.17 15.247 15.247 0 01-.383.219l-.022.012-.007.004-.003.001a.752.752 0 01-.704 0l-.003-.001z" / >
< / svg >
Unlike
{{ end }}
< / button >
< a href = "/{{ .gist.User.Username }}/{{ .gist.Uuid }}/likes" class = "text-slate-300 relative inline-flex align-middle items-center space-x-2 rounded-r-md border border-gray-700 bg-gray-900 px-2 py-1.5 -ml-px text-xs font-medium text-slate-300 hover:bg-gray-700 hover:border-gray-500 hover:text-slate-300 focus:border-primary-500 focus:outline-none focus:ring-1 focus:ring-primary-500" >
{{ .gist.NbLikes }}
< / a >
< / form >
{{ if ne .userLogged.ID .gist.User.ID }}
< form id = "fork" class = "ml-2 hidden md:flex items-center " method = "post" action = "/{{ .gist.User.Username }}/{{ .gist.Uuid }}/fork" >
{{ .csrfHtml }}
< button type = "submit" class = "ml-auto focus-within:z-10 text-slate-300 relative inline-flex items-center space-x-2 rounded-l-md border border-gray-600 bg-gray-800 px-2 py-1.5 text-xs font-medium text-slate-300 hover:bg-gray-700 hover:border-gray-500 hover:text-slate-300 focus:border-primary-500 focus:outline-none focus:ring-1 focus:ring-primary-500 leading-3" >
< svg xmlns = "http://www.w3.org/2000/svg" fill = "none" viewBox = "0 0 24 24" stroke-width = "1.5" stroke = "currentColor" class = "w-4 h-4 mr-2" >
< path stroke-linecap = "round" stroke-linejoin = "round" d = "M7.217 10.907a2.25 2.25 0 100 2.186m0-2.186c.18.324.283.696.283 1.093s-.103.77-.283 1.093m0-2.186l9.566-5.314m-9.566 7.5l9.566 5.314m0 0a2.25 2.25 0 103.935 2.186 2.25 2.25 0 00-3.935-2.186zm0-12.814a2.25 2.25 0 103.933-2.185 2.25 2.25 0 00-3.933 2.185z" / >
< / svg >
Fork
< / button >
< a href = "/{{ .gist.User.Username }}/{{ .gist.Uuid }}/forks" class = "text-slate-300 relative inline-flex align-middle items-center space-x-2 rounded-r-md border border-gray-700 bg-gray-900 px-2 py-1.5 -ml-px text-xs font-medium text-slate-300 hover:bg-gray-700 hover:border-gray-500 hover:text-slate-300 focus:border-primary-500 focus:outline-none focus:ring-1 focus:ring-primary-500" >
{{ .gist.NbForks }}
< / a >
< / form >
{{ end }}
{{ else }}
< div class = "lg:flex-row flex lg:py-0 lg:ml-auto flex items-center" >
< a href = "/login" type = "submit" class = "ml-auto focus-within:z-10 text-slate-300 relative inline-flex items-center space-x-2 rounded-l-md border border-gray-600 bg-gray-800 px-2 py-1.5 text-xs font-medium text-slate-300 hover:bg-gray-700 hover:border-gray-500 hover:text-slate-300 focus:border-primary-500 focus:outline-none focus:ring-1 focus:ring-primary-500 leading-3" >
2023-03-14 15:22:52 +00:00
< svg xmlns = "http://www.w3.org/2000/svg" fill = "none" viewBox = "0 0 24 24" stroke-width = "1.5" stroke = "currentColor" class = "w-4 h-4 mr-2" >
< path stroke-linecap = "round" stroke-linejoin = "round" d = "M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12z" / >
< / svg >
Like
2023-03-15 11:59:18 +00:00
< / a >
2023-03-14 15:22:52 +00:00
< a href = "/{{ .gist.User.Username }}/{{ .gist.Uuid }}/likes" class = "text-slate-300 relative inline-flex align-middle items-center space-x-2 rounded-r-md border border-gray-700 bg-gray-900 px-2 py-1.5 -ml-px text-xs font-medium text-slate-300 hover:bg-gray-700 hover:border-gray-500 hover:text-slate-300 focus:border-primary-500 focus:outline-none focus:ring-1 focus:ring-primary-500" >
2023-03-15 11:59:18 +00:00
{{ .gist.NbLikes }}
2023-03-14 15:22:52 +00:00
< / a >
2023-03-15 11:59:18 +00:00
< / div >
< div class = "ml-2 flex items-center" >
< a href = "/login" type = "submit" class = "ml-auto focus-within:z-10 text-slate-300 relative inline-flex items-center space-x-2 rounded-l-md border border-gray-600 bg-gray-800 px-2 py-1.5 text-xs font-medium text-slate-300 hover:bg-gray-700 hover:border-gray-500 hover:text-slate-300 focus:border-primary-500 focus:outline-none focus:ring-1 focus:ring-primary-500 leading-3" >
2023-03-14 22:26:39 +00:00
< svg xmlns = "http://www.w3.org/2000/svg" fill = "none" viewBox = "0 0 24 24" stroke-width = "1.5" stroke = "currentColor" class = "w-4 h-4 mr-2" >
< path stroke-linecap = "round" stroke-linejoin = "round" d = "M7.217 10.907a2.25 2.25 0 100 2.186m0-2.186c.18.324.283.696.283 1.093s-.103.77-.283 1.093m0-2.186l9.566-5.314m-9.566 7.5l9.566 5.314m0 0a2.25 2.25 0 103.935 2.186 2.25 2.25 0 00-3.935-2.186zm0-12.814a2.25 2.25 0 103.933-2.185 2.25 2.25 0 00-3.933 2.185z" / >
< / svg >
Fork
2023-03-15 11:59:18 +00:00
< / a >
2023-03-14 22:26:39 +00:00
< a href = "/{{ .gist.User.Username }}/{{ .gist.Uuid }}/forks" class = "text-slate-300 relative inline-flex align-middle items-center space-x-2 rounded-r-md border border-gray-700 bg-gray-900 px-2 py-1.5 -ml-px text-xs font-medium text-slate-300 hover:bg-gray-700 hover:border-gray-500 hover:text-slate-300 focus:border-primary-500 focus:outline-none focus:ring-1 focus:ring-primary-500" >
2023-03-15 11:59:18 +00:00
{{ .gist.NbForks }}
2023-03-14 22:26:39 +00:00
< / a >
2023-03-15 11:59:18 +00:00
< / div >
{{ end }}
{{ if .userLogged }}{{ if eq .gist.User.Username .userLogged.Username }}
< div class = "ml-2 flex items-center" >
< a href = "/{{ .gist.User.Username }}/{{ .gist.Uuid }}/edit" class = "relative inline-flex items-center space-x-2 rounded-md border border-gray-600 bg-gray-800 px-2 py-1.5 text-xs font-medium text-slate-300 hover:bg-gray-700 hover:border-gray-500 hover:text-slate-300 focus:border-primary-500 focus:outline-none focus:ring-1 focus:ring-primary-500 leading-3" >
< svg xmlns = "http://www.w3.org/2000/svg" class = "h-4 w-4 mr-2" fill = "none" viewBox = "0 0 24 24" stroke = "currentColor" stroke-width = "2" >
< path stroke-linecap = "round" stroke-linejoin = "round" d = "M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z" / >
< / svg >
Edit
< / a >
< / div >
< form id = "delete" onsubmit = "alert('Are you sure you want to delete this gist ?')" class = "ml-2 flex items-center" method = "post" action = "/{{ .gist.User.Username }}/{{ .gist.Uuid }}/delete" >
{{ .csrfHtml }}
< button type = "submit" class = "relative inline-flex items-center space-x-2 rounded-md border border-gray-600 bg-gray-800 px-2 py-1.5 text-xs font-medium text-rose-400 hover:bg-rose-700 hover:border-rose-600 hover:text-slate-300 focus:border-primary-500 focus:outline-none focus:ring-1 focus:ring-primary-500" >
< svg xmlns = "http://www.w3.org/2000/svg" class = "h-4 w-4 mr-2" fill = "none" viewBox = "0 0 24 24" stroke = "currentColor" stroke-width = "2" >
< path stroke-linecap = "round" stroke-linejoin = "round" d = "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16" / >
< / svg >
Delete
< / button >
2023-03-14 22:26:39 +00:00
< / form >
2023-03-15 11:59:18 +00:00
{{ end }}{{ end }}
2023-03-14 15:22:52 +00:00
2023-03-15 11:59:18 +00:00
< / div >
2023-03-14 15:22:52 +00:00
< / div >
2023-03-14 22:26:39 +00:00
{{ if .gist.Forked }}
< p class = "mt-1 max-w-2xl text-sm text-slate-500" > Forked from < a href = "/{{ .gist.Forked.User.Username }}/{{ .gist.Forked.Uuid }}" > {{ .gist.Forked.User.Username }}/{{ .gist.Forked.Title }}< / a > < / p >
{{ end }}
2023-03-15 11:59:18 +00:00
< p class = "mt-1 max-w-2xl text-sm text-slate-500" > Last active < span class = "moment-timestamp" > {{ .gist.UpdatedAt }} < / span >
{{ if .gist.Private }} • < span class = "inline-flex items-center px-2 py-0.5 rounded text-xs font-medium bg-gray-700 text-slate-300" > Unlisted < / span > {{ end }}
2023-03-14 15:22:52 +00:00
< / p >
< p class = "mt-3 max-w-2xl text-slate-300" > {{ .gist.Description }}< / p >
< / header >
< main class = "mt-4" >
< div class = "my-4" >
< div class = "sm:hidden" >
< label for = "gist-tabs" class = "sr-only" > Select a tab< / label >
< select id = "gist-tabs" name = "tabs" class = "block bg-gray-800 w-full pl-3 pr-10 py-2 text-base border-gray-700 focus:outline-none focus:ring-primary-500 focus:border-primary-500 sm:text-sm rounded-md" >
< option { { if eq . page " code " } } selected { { end } } data-url = "/{{ .gist.User.Username }}/{{ .gist.Uuid }}" > Code< / option >
< option { { if eq . page " revisions " } } selected { { end } } data-url = "/{{ .gist.User.Username }}/{{ .gist.Uuid }}/revisions" > Revisions ({{ if .nbCommits }}{{ .nbCommits }}{{else}}0{{ end }})< / option >
< / select >
< / div >
< div class = "hidden sm:block" >
< div class = "border-b flex border-gray-700" >
< nav class = "-mb-px flex-auto space-x-4" aria-label = "Tabs" >
2023-03-15 12:31:02 +00:00
< a href = "/{{ .gist.User.Username }}/{{ .gist.Uuid }}" class = "inline-flex items-center text-slate-300 {{ if eq .page " code " } } border-slate-300 { { else } } border-transparent hover:border-gray-300 { { end } } hover:text-slate-300 whitespace-nowrap py-2 px-1 border-b-2 font-medium text-sm " aria-current = "page" >
2023-03-14 15:22:52 +00:00
< svg xmlns = "http://www.w3.org/2000/svg" fill = "none" viewBox = "0 0 24 24" stroke-width = "1.5" stroke = "currentColor" class = "w-6 h-6 mr-1" >
< path stroke-linecap = "round" stroke-linejoin = "round" d = "M14.25 9.75L16.5 12l-2.25 2.25m-4.5 0L7.5 12l2.25-2.25M6 20.25h12A2.25 2.25 0 0020.25 18V6A2.25 2.25 0 0018 3.75H6A2.25 2.25 0 003.75 6v12A2.25 2.25 0 006 20.25z" / >
< / svg >
Code
< / a >
2023-03-15 12:31:02 +00:00
< a href = "/{{ .gist.User.Username }}/{{ .gist.Uuid }}/revisions" class = "inline-flex items-center text-slate-300 {{ if eq .page " revisions " } } border-slate-300 { { else } } border-transparent hover:border-gray-300 { { end } } hover:text-slate-300 whitespace-nowrap py-2 px-1 border-b-2 font-medium text-sm " >
2023-03-14 15:22:52 +00:00
< svg xmlns = "http://www.w3.org/2000/svg" fill = "none" viewBox = "0 0 24 24" stroke-width = "1.5" stroke = "currentColor" class = "w-6 h-6 mr-1" >
< path stroke-linecap = "round" stroke-linejoin = "round" d = "M8.25 6.75h12M8.25 12h12m-12 5.25h12M3.75 6.75h.007v.008H3.75V6.75zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zM3.75 12h.007v.008H3.75V12zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0zm-.375 5.25h.007v.008H3.75v-.008zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z" / >
< / svg >
Revisions
< span class = "inline-flex items-center ml-1 px-2.5 py-0.5 rounded-full text-xs font-medium bg-gray-700 text-slate-300" > {{ if .nbCommits }}{{ .nbCommits }}{{else}}0{{ end }} < / span >
< / a >
< / nav >
< div class = "float-right inline-flex items-center space-x-2" >
< div >
< div class = "flex rounded-md shadow-sm" >
< div class = "relative" >
< button type = "button" id = "gist-menu-toggle" class = "relative text-xs inline-flex items-center space-x-2 rounded-l-md border border-gray-600 bg-gray-800 px-2 py-1.5 text-sm font-medium text-slate-300 hover:bg-gray-700 hover:border-gray-500 hover:text-slate-300 focus:border-primary-500 focus:outline-none focus:ring-1 focus:ring-primary-500 leading-3 focus-within:z-10 -mr-px" >
2023-03-15 11:59:18 +00:00
< span id = "gist-menu-title" class = "whitespace-nowrap" > < / span >
2023-03-14 15:22:52 +00:00
< svg xmlns = "http://www.w3.org/2000/svg" fill = "none" viewBox = "0 0 24 24" stroke-width = "1.5" stroke = "currentColor" class = "w-4 h-4" >
< path stroke-linecap = "round" stroke-linejoin = "round" d = "M19.5 8.25l-7.5 7.5-7.5-7.5" / >
< / svg >
< / button >
< div class = "absolute left-0 z-10 mt-2 w-56 origin-top-left bg-gray-800 shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none" role = "menu" aria-orientation = "vertical" aria-labelledby = "menu-button" tabindex = "-1" >
< div class = "py-1 cursor-pointer border-1 rounded-md border-gray-700 hidden" id = "gist-menu-copy" role = "none" >
2023-03-15 10:47:17 +00:00
{{ if .httpCloneUrl }}
< div class = "text-slate-300 block px-4 py-2 text-sm hover:bg-gray-700 gist-menu-item" role = "menuitem" id = "gist-menu-http" data-link = "{{ .httpCloneUrl }}" > < p > Clone via {{ .httpProtocol }}< / p >
< p class = "text-xs font-normal text-gray-400" > Clone with Git using HTTP basic authentication.< / p >
< / div >
{{ end }}
{{ if .sshCloneUrl }}
< div class = "text-slate-300 block px-4 py-2 text-sm hover:bg-gray-700 gist-menu-item" role = "menuitem" id = "gist-menu-ssh" data-link = "{{ .sshCloneUrl }}" > < p > Clone via SSH< / p >
< p class = "text-xs font-normal text-gray-400" > Clone with Git using an SSH key.< / p >
< / div >
{{ end }}
2023-03-14 15:22:52 +00:00
< div class = "text-slate-300 block px-4 py-2 text-sm hover:bg-gray-700 gist-menu-item" role = "menuitem" id = "gist-menu-embed" data-link = "(soon)" > < p > Embed< / p >
< p class = "text-xs font-normal text-gray-400" > Embed this gist in your website. (soon)< / p >
< / div >
< div class = "text-slate-300 block px-4 py-2 text-sm hover:bg-gray-700 gist-menu-item" role = "menuitem" id = "gist-menu-share" data-link = "{{ .httpCopyUrl }}" > < p > Share< / p >
< p class = "text-xs font-normal text-gray-400" > Copy shareable link for this gist.< / p >
< / div >
< / div >
< / div >
< / div >
< div class = "relative flex flex-grow items-stretch focus-within:z-10" >
2023-03-15 10:47:17 +00:00
< input id = "gist-menu-input" value = "" class = "block code bg-gray-900 w-full rounded-none border border-gray-600 focus:border-primary-500 focus:ring-primary-500 focus:outline-none focus:ring-1 text-xs px-2" >
2023-03-14 15:22:52 +00:00
< / div >
< button id = "gist-menu-button-copy" type = "button" class = "relative text-xs -ml-px inline-flex items-center space-x-2 rounded-r-md border border-gray-600 bg-gray-800 px-2 py-1 text-sm font-medium text-slate-300 hover:bg-gray-700 hover:border-gray-500 hover:text-slate-300 focus:border-primary-500 focus:outline-none focus:ring-1 focus:ring-primary-500 leading-3" >
< svg xmlns = "http://www.w3.org/2000/svg" fill = "none" viewBox = "0 0 24 24" stroke-width = "1.5" stroke = "currentColor" class = "w-5 h-5" >
< path stroke-linecap = "round" stroke-linejoin = "round" d = "M8.25 7.5V6.108c0-1.135.845-2.098 1.976-2.192.373-.03.748-.057 1.123-.08M15.75 18H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08M15.75 18.75v-1.875a3.375 3.375 0 00-3.375-3.375h-1.5a1.125 1.125 0 01-1.125-1.125v-1.5A3.375 3.375 0 006.375 7.5H5.25m11.9-3.664A2.251 2.251 0 0015 2.25h-1.5a2.251 2.251 0 00-2.15 1.586m5.8 0c.065.21.1.433.1.664v.75h-6V4.5c0-.231.035-.454.1-.664M6.75 7.5H4.875c-.621 0-1.125.504-1.125 1.125v12c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V16.5a9 9 0 00-9-9z" / >
< / svg >
< / button >
< / div >
< / div >
2023-03-15 11:59:18 +00:00
< a href = "/{{ .gist.User.Username }}/{{ .gist.Uuid }}/archive/{{ .revision }}" class = "whitespace-nowrap text-slate-300 rounded border border-gray-600 bg-gray-800 px-2.5 py-2 text-xs font-medium text-white shadow-sm hover:bg-gray-700 hover:border-gray-500 hover:text-slate-300 focus:outline-none focus:ring-1 focus:border-primary-500 focus:ring-primary-500 leading-3" >
2023-03-14 15:22:52 +00:00
Download ZIP< / a >
< / div >
< / div >
< / div >
{{ if .revision }} {{ if ne .revision "HEAD" }}
< p class = "italic text-xs mt-3" > Revision < span class = "revision-text" > {{ .revision }}< / span > < / p >
{{ end }} {{ end }}
< / div >
{{ end }}