Monorepo for Tangled
at master 71 lines 2.9 kB view raw
1{{ define "title" }}{{ .Post.Meta.Title }} — tangled blog{{ end }} 2 3{{ define "extrameta" }} 4<meta name="description" content="{{ .Post.Meta.Subtitle }}"/> 5<meta property="og:title" content="{{ .Post.Meta.Title }}" /> 6<meta property="og:description" content="{{ .Post.Meta.Subtitle }}" /> 7<meta property="og:url" content="https://blog.tangled.org/{{ .Post.Meta.Slug }}" /> 8{{ if .Post.Meta.Image }} 9<meta property="og:image" content="https://blog.tangled.org{{ .Post.Meta.Image }}" /> 10<meta property="og:image:width" content="1200" /> 11<meta property="og:image:height" content="630" /> 12<meta name="twitter:card" content="summary_large_image" /> 13<meta name="twitter:image" content="https://blog.tangled.org{{ .Post.Meta.Image }}" /> 14{{ end }} 15<meta name="twitter:title" content="{{ .Post.Meta.Title }}" /> 16<meta name="twitter:description" content="{{ .Post.Meta.Subtitle }}" /> 17<link rel="alternate" type="application/atom+xml" title="Atom" href="/feed.xml" /> 18{{ end }} 19 20{{ define "bodyClasses" }}!bg-white dark:!bg-gray-900{{ end }} 21 22{{ define "topbarLayout" }} 23<header class="max-w-screen-xl mx-auto w-full" style="z-index: 20;"> 24 {{ template "layouts/fragments/topbar" . }} 25</header> 26{{ end }} 27 28{{ define "footerLayout" }}{{ template "blog/fragments/footer" . }}{{ end }} 29 30{{ define "content" }} 31<div class="max-w-[90ch] mx-auto w-full px-4 py-8"> 32 <div class="prose dark:prose-invert w-full max-w-none"> 33 34 <header class="not-prose mb-4"> 35 {{ $authors := .Post.Meta.Authors }} 36 <p class="mb-1 text-sm text-gray-600 dark:text-gray-400"> 37 {{ $date := .Post.ParsedDate }} 38 {{ $date | shortTimeFmt }} 39 </p> 40 41 <h1 class="mb-0 text-2xl font-bold dark:text-white"> 42 {{ .Post.Meta.Title }} 43 {{ if .Post.Meta.Draft }}<span class="text-red-500 text-base font-normal">[draft]</span>{{ end }} 44 </h1> 45 <p class="italic mt-1 mb-3 text-lg text-gray-600 dark:text-gray-400">{{ .Post.Meta.Subtitle }}</p> 46 47 <div class="flex items-center gap-3 not-prose"> 48 {{ $hasAvatar := false }}{{ range $authors }}{{ if tinyAvatar .Handle }}{{ $hasAvatar = true }}{{ end }}{{ end }} 49 {{ if $hasAvatar }} 50 <div class="inline-flex items-center -space-x-2"> 51 {{ range $authors }} 52 {{ $av := tinyAvatar .Handle }}{{ if $av }}<img src="{{ $av }}" class="size-7 rounded-full border border-gray-300 dark:border-gray-700" alt="{{ .Handle }}" title="{{ .Handle }}" />{{ end }} 53 {{ end }} 54 </div> 55 {{ end }} 56 <div class="flex items-center gap-1 text-sm text-gray-700 dark:text-gray-300"> 57 {{ range $i, $a := $authors }} 58 {{ if gt $i 0 }}<span class="text-gray-400">&amp;</span>{{ end }} 59 <a href="https://tangled.org/@{{ $a.Handle }}" class="hover:underline">{{ $a.Handle }}</a> 60 {{ end }} 61 </div> 62 </div> 63 </header> 64 65 <article> 66 {{ .Post.Body }} 67 </article> 68 69 </div> 70</div> 71{{ end }}