diff options
author | Fabian Tamp <fabian.tamp@gmail.com> | 2019-09-21 21:02:23 +0300 |
---|---|---|
committer | Fabian Tamp <fabian.tamp@gmail.com> | 2019-09-21 21:02:23 +0300 |
commit | 175fab5477aa833e43472a0c4a9134f495f63960 (patch) | |
tree | 2ac5c336b33545f44bafb4851936bf35afd84599 /layouts | |
parent | faa6504d39e364311ad95e9507e45987919ee610 (diff) |
Initial copy of theme from personal website to separate repo
Diffstat (limited to 'layouts')
-rw-r--r-- | layouts/_default/baseof.html | 9 | ||||
-rw-r--r-- | layouts/_default/list.html | 30 | ||||
-rw-r--r-- | layouts/_default/single.droplist | 3 | ||||
-rw-r--r-- | layouts/_default/single.html | 28 | ||||
-rw-r--r-- | layouts/index.html | 29 | ||||
-rw-r--r-- | layouts/partials/feature_image.html | 15 | ||||
-rw-r--r-- | layouts/partials/footer.html | 0 | ||||
-rw-r--r-- | layouts/partials/head.html | 0 | ||||
-rw-r--r-- | layouts/partials/head_includes.html | 7 | ||||
-rw-r--r-- | layouts/partials/header.html | 31 | ||||
-rw-r--r-- | layouts/partials/meta.html | 28 | ||||
-rw-r--r-- | layouts/partials/right-links.html | 9 | ||||
-rw-r--r-- | layouts/partials/scripts.html | 0 | ||||
-rw-r--r-- | layouts/partials/twitter_cards_default_small.html | 30 | ||||
-rw-r--r-- | layouts/posts/single.html | 64 | ||||
-rw-r--r-- | layouts/shortcodes/aside.html | 10 | ||||
-rw-r--r-- | layouts/shortcodes/expander.html | 18 | ||||
-rw-r--r-- | layouts/shortcodes/fitfigure.html | 52 | ||||
-rw-r--r-- | layouts/taxonomy/taxonomy.html | 32 | ||||
-rw-r--r-- | layouts/taxonomy/terms.html | 39 |
20 files changed, 434 insertions, 0 deletions
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html new file mode 100644 index 0000000..f32d502 --- /dev/null +++ b/layouts/_default/baseof.html @@ -0,0 +1,9 @@ +<!DOCTYPE html> +<html> + {{- partial "head.html" . -}} + <body> + {{- partial "header.html" . -}} + <div id="content">{{- block "main" . }}{{ -end }}</div> + {{- partial "footer.html" . -}} + </body> +</html> diff --git a/layouts/_default/list.html b/layouts/_default/list.html new file mode 100644 index 0000000..dd0b7a3 --- /dev/null +++ b/layouts/_default/list.html @@ -0,0 +1,30 @@ +{{ partial "header.html" . }} +<body + lang="{{ .Site.LanguageCode }}" > + <div class="nav-bkg"> + <nav class="content-container pagewide-bar-padding"> + <span class="divider">/ </span> + <a href="{{ .Site.BaseURL }}" >{{ .Site.Title }}</a> + {{ partial "right-links" . }} + </nav> + </div> + <section id="main" class="content-container article-pad-v"> + <div> + <h1 id="title" style="margin-bottom: 0.75em">{{.CurrentSection.Name}}</h1> + <ul id="list" class="list-unstyled list-of-titles"> + {{ range .Data.Pages.ByDate.Reverse }} + <li class="{{if .Draft }}draft{{ end }}"> + <a href="{{ .RelPermalink}}"> + <span class="post-title">{{ .Title }}</span> + <br> + <span class="post-meta">{{ .Date.Format "January 2, 2006" }}</span> + </a> + </li> + {{ end }} + </ul> + </div> + </section> + + {{ partial "footer.html" . }} + </body> +</html> diff --git a/layouts/_default/single.droplist b/layouts/_default/single.droplist new file mode 100644 index 0000000..2a67a1d --- /dev/null +++ b/layouts/_default/single.droplist @@ -0,0 +1,3 @@ +{{ with (.Page.Scratch.Get "droplist") }} + {{- range (. | sort | uniq) }}{{.}} +{{end -}}{{end}} diff --git a/layouts/_default/single.html b/layouts/_default/single.html new file mode 100644 index 0000000..f2bfbc2 --- /dev/null +++ b/layouts/_default/single.html @@ -0,0 +1,28 @@ +{{ partial "header.html" . }} +<body + class="{{ if .Draft }}draft{{ end }} look-sheet-bkg" + lang="{{ .Site.LanguageCode }}" + itemscope + itemtype="http://schema.org/Article"> + + <div class="nav-bkg"> + <nav class="content-container pagewide-bar-padding"> + <span class="divider">/ </span> + <a href="{{ .Site.BaseURL }}" >{{ .Site.Title }}</a> + {{- if not .Parent.IsHome -}} + <span class="divider">/ </span> + <a href="{{ .Site.BaseURL }}{{ .CurrentSection.Type }}">{{.CurrentSection.Name}}</a> + {{- end -}} + {{ partial "right-links" . }} + </nav> + </div> + + <section id="main" class="content-container look-sheet article-pad-v"> + <h1 itemprop="name" id="title">{{ .Title }}</h1> + <article itemprop="articleBody" id="content" class="article-body"> + {{ .Content }} + </article> + </section> + {{ partial "footer.html" . }} + </body> +</html> diff --git a/layouts/index.html b/layouts/index.html new file mode 100644 index 0000000..42ce451 --- /dev/null +++ b/layouts/index.html @@ -0,0 +1,29 @@ +{{ partial "header.html" . }} +<body lang="{{ .Site.LanguageCode }}"> + <div class="nav-bkg"> + <nav class="content-container pagewide-bar-padding"> + <span class="divider">/ </span> + <a href="{{ .Site.BaseURL }}" >{{ .Site.Title }}</a> + {{ partial "right-links" . }} + </nav> + </div> + + <section id="main" class="content-container article-pad-v"> + <div> + <h1 id="title" style="margin-bottom: 0.75em">{{.Site.Title}}</h1> + <ul id="list" class="list-unstyled list-of-titles"> + {{ range .Site.Params.Menu }} + <li> + <a href="{{ .url | relURL }}"> + <span class="post-title">{{ .name }}</span> + </a> + </li> + {{ end }} + </ul> + </div> + </section> + + {{ partial "footer.html" . }} + </body> +</html> + diff --git a/layouts/partials/feature_image.html b/layouts/partials/feature_image.html new file mode 100644 index 0000000..31d2be2 --- /dev/null +++ b/layouts/partials/feature_image.html @@ -0,0 +1,15 @@ +{{/* The featured image, using the same rules as what the twitter cards use. */}} +{{- with $.Params.images -}} + {{- index . 0 | absURL -}} +{{- else -}} + {{- $images := $.Resources.ByType "image" -}} + {{- $featured := $images.GetMatch "*feature*" -}} + {{- $featured := cond (ne $featured nil) $featured ($images.GetMatch "{*cover*,*thumbnail*}") -}} + {{- with $featured -}} + {{- $featured.Permalink -}} + {{- else -}} + {{- with $.Site.Params.images -}} + {{- index . 0 | absURL -}} + {{- end -}} + {{- end -}} +{{- end -}} diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/layouts/partials/footer.html diff --git a/layouts/partials/head.html b/layouts/partials/head.html new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/layouts/partials/head.html diff --git a/layouts/partials/head_includes.html b/layouts/partials/head_includes.html new file mode 100644 index 0000000..cb95b79 --- /dev/null +++ b/layouts/partials/head_includes.html @@ -0,0 +1,7 @@ +<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/css/bootstrap-reboot.css" /> +<link rel="stylesheet" href="{{ relURL "/css/style.css" }}" /> +<link rel="stylesheet" href="{{ relURL "/css/syntax.css" }}" /> + +<link href="https://fonts.googleapis.com/css?family=Lora&display=swap" rel="stylesheet"> + +{{ template "_internal/google_analytics_async.html" . }} diff --git a/layouts/partials/header.html b/layouts/partials/header.html new file mode 100644 index 0000000..d398a7d --- /dev/null +++ b/layouts/partials/header.html @@ -0,0 +1,31 @@ +<!DOCTYPE html> +<html + class="" + lang="{{ .Site.LanguageCode }}" + prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#" +> + <head> + <meta charset="utf-8" /> + + {{ partial "meta.html" . }} + + <title>{{ .Title }}</title> + <link rel="canonical" href="{{ .Permalink }}" /> + + {{/* + Have to explicitly filter to only include the 'RSS' type because we've + defined an RSS2 type as well, and output both of them. The RSS2 type exists + so that we can create a second identical RSS link at /feed.xml (which + apparently people are still subscribed to? Crazy!) - but we only want to + refer to the new feed location here, because that's the canonical one going + forward. + */}} + {{ with .OutputFormats.Get "rss" -}} + {{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }} + {{ end -}} + + {{ partial "head_includes.html" . }} + <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" /> + <link rel="apple-touch-icon" href="/apple-touch-icon.png" /> + </head> + diff --git a/layouts/partials/meta.html b/layouts/partials/meta.html new file mode 100644 index 0000000..2dccf74 --- /dev/null +++ b/layouts/partials/meta.html @@ -0,0 +1,28 @@ +<meta charset="utf-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> +<meta name="HandheldFriendly" content="True" /> +<meta name="MobileOptimized" content="320" /> +<meta name="viewport" content="width=device-width, initial-scale=1" /> + + +<link rel="apple-touch-icon" sizes="180x180" href="{{.Site.BaseURL}}/apple-touch-icon.png"> +<link rel="icon" type="image/png" sizes="32x32" href="{{.Site.BaseURL}}/favicon-32x32.png"> +<link rel="icon" type="image/png" sizes="16x16" href="{{.Site.BaseURL}}/favicon-16x16.png"> +<link rel="manifest" href="{{.Site.BaseURL}}/site.webmanifest"> +<link rel="mask-icon" href="{{.Site.BaseURL}}/safari-pinned-tab.svg" color="#5bbad5"> +<meta name="msapplication-TileColor" content="#da532c"> +<meta name="theme-color" content="#ffffff"> + + +{{ with.Description }}<meta name="description" content="{{ . }}" /> +{{ end }} +<meta name="keywords" content="{{ if .Keywords }}{{ range.Keywords }}{{ . }}, +{{ end }}{{else if isset .Params "tags" }}{{ range.Params.tags }}{{ . }}, +{{ end }}{{ end }}"> + +{{ template "_internal/opengraph.html" . }} +<meta property="og:site_name" content="{{ .Site.Title }}" /> + +{{ partial "twitter_cards_default_small.html" . }} + +{{ template "_internal/schema.html" . }} diff --git a/layouts/partials/right-links.html b/layouts/partials/right-links.html new file mode 100644 index 0000000..fd318ea --- /dev/null +++ b/layouts/partials/right-links.html @@ -0,0 +1,9 @@ +<ul class="list-unstyled right-links"> +{{ range .Site.Params.TopMenu }} + <li> + <a href="{{ .url | relURL }}"> + <span class="post-title">{{ .name }}</span> + </a> + </li> +{{ end }} +</ul> diff --git a/layouts/partials/scripts.html b/layouts/partials/scripts.html new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/layouts/partials/scripts.html diff --git a/layouts/partials/twitter_cards_default_small.html b/layouts/partials/twitter_cards_default_small.html new file mode 100644 index 0000000..946a5fa --- /dev/null +++ b/layouts/partials/twitter_cards_default_small.html @@ -0,0 +1,30 @@ +{{/* This is a modified copy/paste of https://github.com/gohugoio/hugo/blob/2b73e89d6d2822e86360a6c92c87f539677c119b/tpl/tplimpl/embedded/templates/twitter_cards.html */}} +{{- with $.Params.images -}} +<meta name="twitter:card" content="summary_large_image"/> +<meta name="twitter:image" content="{{ index . 0 | absURL }}"/> +{{ else -}} +{{- $images := $.Resources.ByType "image" -}} +{{- $featured := $images.GetMatch "*feature*" -}} +{{- $featured := cond (ne $featured nil) $featured ($images.GetMatch "{*cover*,*thumbnail*}") -}} +{{- with $featured -}} +<meta name="twitter:card" content="summary_large_image"/> +<meta name="twitter:image" content="{{ $featured.Permalink }}"/> +{{- else -}} +{{- with $.Site.Params.images -}} +<meta name="twitter:card" content="summary"/> +<meta name="twitter:image" content="{{ index . 0 | absURL }}"/> +{{ else -}} +<meta name="twitter:card" content="summary"/> +{{- end -}} +{{- end -}} +{{- end }} +<meta name="twitter:title" content="{{ .Title }}"/> +<meta name="twitter:description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end -}}"/> +{{ with .Site.Social.twitter -}} +<meta name="twitter:site" content="@{{ . }}"/> +{{ end -}} +{{ range .Site.Authors }} +{{ with .twitter -}} +<meta name="twitter:creator" content="@{{ . }}"/> +{{ end -}} +{{ end -}} diff --git a/layouts/posts/single.html b/layouts/posts/single.html new file mode 100644 index 0000000..9fefe2a --- /dev/null +++ b/layouts/posts/single.html @@ -0,0 +1,64 @@ +{{ partial "header.html" . }} +<body + class="{{ if .Draft }}draft{{ end }} look-sheet-bkg" + lang="{{ .Site.LanguageCode }}" + itemscope + itemtype="http://schema.org/Article" > + <meta itemprop="author" content="{{ .Site.Params.Author }}" /> + <meta itemprop="publisher" content="{{ .Site.Params.Author }}" /> + <meta itemprop="image" content="{{ partial "feature_image" . }}" /> + + <div class="nav-bkg"> + <nav class="content-container pagewide-bar-padding"> + <span class="divider">/ </span> + <a href="{{ .Site.BaseURL }}" >{{ .Site.Title }}</a> + <span class="divider">/ </span> + <a href="{{ .Site.BaseURL }}{{ .CurrentSection.Type }}">{{.CurrentSection.Name}}</a> + {{ partial "right-links" . }} + </nav> + </div> + + <section id="main" class="content-container look-sheet article-pad-v" itemprop="mainEntityOfPage"> + <h1 itemprop="name" id="title">{{ .Title }}</h1> + <meta itemprop="headline" content="{{ .Title }}" /> + {{ if .Params.tags }} + <div class="post-tags"> + {{ range .Params.tags }} + <a href="{{ (urlize (printf "tags/%s/" .)) | absLangURL }}">#{{ . }}</a> + {{ end }} + </div> + {{ end }} + {{ if eq .Lastmod .Date }} + <div class="post-date"><span itemprop="datePublished">{{ .Date.Format "January 2, 2006" }}</span></div> + <meta itemprop="dateModified" content="{{ .Lastmod.Format "January 2, 2006" }}"/> + {{ else }} + <div class="post-date">Created: <span itemprop="datePublished">{{ .Date.Format "January 2, 2006" }}</span></div> + <div class="post-date">Last Edited: <span itemprop="dateModified">{{ .Lastmod.Format "January 2, 2006" }}</span></div> + {{ end }} + <article itemprop="articleBody" id="content" class="article-body margin-top-2em"> + {{ .Content }} + </article> + </section> + <!-- TODO: right now, this gets weird when there's a big title on the right. + There might be better info here: https://stackoverflow.com/questions/34995740/css-when-inline-block-elements-line-break-parent-wrapper-does-not-fit-new-width + and you can test on the android-development-developer-productivity article. + + Would also be cool to make this fold on mobile so there's two links on separate lines. + --> + <div class="nav-bkg-50 content-container-narrow-pad bottom-links text-0p75"> + <nav class="flex-row"> + {{if .PrevInSection}} + <a href="{{.PrevInSection.Permalink}}" class="flex-row v-center no-underline" style="max-width:45%;"> + <span class="text-1p5">←</span> <span class="re-underline">Previous: {{ .PrevInSection.Title }}</span> + </a> + {{end}} + {{if .NextInSection}} + <a href="{{.NextInSection.Permalink}}" class="flex-row v-center no-underline" style="max-width: 45%;"> + <span class="re-underline">Next: {{.NextInSection.Title}}</span> <span class="text-1p5">→</span> + </a> + {{end}} + </nav> + </div> + {{ partial "footer.html" . }} + </body> +</html> diff --git a/layouts/shortcodes/aside.html b/layouts/shortcodes/aside.html new file mode 100644 index 0000000..601e50b --- /dev/null +++ b/layouts/shortcodes/aside.html @@ -0,0 +1,10 @@ +{{ $_hugo_config := `{ "version": 1 }` }} +<!-- +Ok, so - see this: https://gohugo.io/content-management/shortcodes/#shortcodes-with-markdown +The outcome is that by default, accessing .Inner returns the Markdown. Because we're putting it +inside a div, it doesn't get rendered later. So we restore the old behaviour, which renders +everything to HTML as a first step (but apparently breaks the TOC functionality). +--> +<div class="aside look-sheet-always"> +{{- .Inner -}} +</div> diff --git a/layouts/shortcodes/expander.html b/layouts/shortcodes/expander.html new file mode 100644 index 0000000..d19e153 --- /dev/null +++ b/layouts/shortcodes/expander.html @@ -0,0 +1,18 @@ +{{ $_hugo_config := `{ "version": 1 }` }} +<!-- +Ok, so - see this: https://gohugo.io/content-management/shortcodes/#shortcodes-with-markdown +The outcome is that by default, accessing .Inner returns the Markdown. Because we're putting it +inside a div, it doesn't get rendered later. So we restore the old behaviour, which renders +everything to HTML as a first step (but apparently breaks the TOC functionality). +--> +<!-- Expander: hides content by default, shows it when clicked on. --> +<div class="expander look-sheet"> +{{ $radioGroup := anchorize (.Get "title") }} +<h2>{{ .Get "title" }}</h2> +<input type=radio id="expand-{{$radioGroup}}-show" class="hidden show" name="{{$radioGroup}}"> +<input type=radio id="expand-{{$radioGroup}}-hide" class="hidden hide" name="{{$radioGroup}}" checked="checked"> +<label class="button button-show" for="expand-{{$radioGroup}}-show">+ Expand</label><label class="button button-hide" for="expand-{{$radioGroup}}-hide">- Collapse</label> +<div class="inner"> +{{ .Inner }} +</div> +</div> diff --git a/layouts/shortcodes/fitfigure.html b/layouts/shortcodes/fitfigure.html new file mode 100644 index 0000000..78650e5 --- /dev/null +++ b/layouts/shortcodes/fitfigure.html @@ -0,0 +1,52 @@ +{{- $path := (.Get "src") -}} +{{- $original := .Page.Resources.GetMatch $path -}} +{{- if not $original -}} + {{- errorf "couldn't find resource for src: %s" $path -}} +{{- else if and ((ne "jpg" $original.MediaType.SubType) (ne "png" $original.MediaType.SubType)) -}} + {{- errorf "src %s is a %s, expected image/jpg or image/png" $path $original.MediaType -}} +{{- else -}} + {{- /* Below is a copy paste of "_internal/shortcodes/figure.html" from Hugo commit aba2647c152ffff927f42523b77ee6651630cd67, with the img tag modified to use srcsets */ -}} + <figure{{ with .Get "class" }} class="{{ . }}"{{ end }}> + {{- if .Get "link" -}} + <a href="{{ .Get "link" }}"{{ with .Get "target" }} target="{{ . }}"{{ end }}{{ with .Get "rel" }} rel="{{ . }}"{{ end }}> + {{- end }} + {{ if (or (ge $original.Width 1304) (ge $original.Height 1304)) -}} + {{/* Add the original to the droplist, so it will get removed later. */}} + {{- if not (.Page.Scratch.Get "droplist") -}} + {{- .Page.Scratch.Set "droplist" (slice) -}} + {{- end -}} + {{- .Page.Scratch.Add "droplist" $original.RelPermalink -}} + {{/* Note: 652px is the max width of an img in article content. I measured this using dev tools; but it's dependent on the styles for the page. */}} + {{- $resized_1x := $original.Fit "652x652 q95" -}} + {{- $resized_2x := $original.Fit "1304x1304 q95" -}} + <img srcset="{{ $resized_1x.RelPermalink }}, + {{ $resized_2x.RelPermalink }} 2x" + {{/* Use small one by default to be kind to old browsers */}} + src="{{ $resized_1x.RelPermalink }}" + {{ else }} + <img src="{{ $original.RelPermalink }}" + {{ end }} + {{- if or (.Get "alt") (.Get "caption") }} + alt="{{ with .Get "alt" }}{{ . }}{{ else }}{{ .Get "caption" | markdownify| plainify }}{{ end }}" + {{- end -}} + {{- with .Get "width" }} width="{{ . }}"{{ end -}} + {{- with .Get "height" }} height="{{ . }}"{{ end -}} + /> <!-- Closing img tag --> + {{- if .Get "link" }}</a>{{ end -}} + {{- if or (or (.Get "title") (.Get "caption")) (.Get "attr") -}} + <figcaption> + {{ with (.Get "title") -}} + <h4>{{ . }}</h4> + {{- end -}} + {{- if or (.Get "caption") (.Get "attr") -}}<p> + {{- .Get "caption" | markdownify -}} + {{- with .Get "attrlink" }} + <a href="{{ . }}"> + {{- end -}} + {{- .Get "attr" | markdownify -}} + {{- if .Get "attrlink" }}</a>{{ end }}</p> + {{- end }} + </figcaption> + {{- end }} + </figure> +{{- end -}} diff --git a/layouts/taxonomy/taxonomy.html b/layouts/taxonomy/taxonomy.html new file mode 100644 index 0000000..5958214 --- /dev/null +++ b/layouts/taxonomy/taxonomy.html @@ -0,0 +1,32 @@ +{{ partial "header.html" . }} +<body lang="{{ .Site.LanguageCode }}"> + <div class="nav-bkg"> + <nav class="content-container pagewide-bar-padding"> + <span class="divider">/ </span> + <a href="{{ .Site.BaseURL }}" >{{ .Site.Title }}</a> + <span class="divider">/ </span> + <a href="{{ .Site.BaseURL }}{{ .Data.Plural }}">{{.Data.Plural}}</a> + {{ partial "right-links" . }} + </nav> + </div> + + <section id="main" class="content-container article-pad-v"> + <div> + <h1 id="title" style="margin-bottom: 0.75em">{{.Data.Term}}</h1> + <ul id="list" class="list-unstyled list-of-titles"> + {{ range .Data.Pages.ByDate.Reverse }} + <li class="{{ if .Draft }}draft{{ end }}"> + <a href="{{ .RelPermalink}}"> + <span class="post-title">{{ .Title }}</span> + <br> + <span class="post-meta">{{ .Date.Format "January 2, 2006" }}</span> + </a> + </li> + {{ end }} + </ul> + </div> + </section> + + {{ partial "footer.html" . }} + </body> +</html> diff --git a/layouts/taxonomy/terms.html b/layouts/taxonomy/terms.html new file mode 100644 index 0000000..e11461a --- /dev/null +++ b/layouts/taxonomy/terms.html @@ -0,0 +1,39 @@ +{{ partial "header.html" . }} +<body lang="{{ .Site.LanguageCode }}"> + <div class="nav-bkg"> + <nav class="content-container pagewide-bar-padding"> + <span class="divider">/ </span> + <a href="{{ .Site.BaseURL }}" >{{ .Site.Title }}</a> + {{ partial "right-links" . }} + </nav> + </div> + + <section id="main" class="content-container article-pad-v"> + <div> + <h1 id="title" style="margin-bottom: 0.75em">{{.Data.Plural}}</h1> + <ul id="list" class="list-unstyled list-of-titles"> + {{ range .Data.Terms.ByCount }} + {{ with .Page }} + {{ $numDrafts := len (where .Pages ".Draft" true) }} + <li class="{{ if gt $numDrafts 0 }}draft{{ end }}"> + <a href="{{ .RelPermalink}}"> + <span class="post-title">#{{ .Title }}</span> + <br> + <span class="post-meta">{{len .Pages}} {{if ne (len .Pages) 1}}entries{{else}}entry{{end}}</span> + <br> + {{ if gt $numDrafts 0 }} + <span class="post-meta draft">Including {{ $numDrafts }} {{if ne $numDrafts 1}}drafts{{else}}draft{{end}}</span> + <br> + {{ end }} + <span class="post-meta">Last updated {{ .Lastmod.Format "January 2, 2006" }}</span> + </a> + </li> + {{ end }} + {{ end }} + </ul> + </div> + </section> + + {{ partial "footer.html" . }} + </body> +</html> |