Draw the rest of the fucking owl

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2025-08-05 21:46:57 +02:00
parent 455372e75c
commit 1f49f0ee88
22 changed files with 544 additions and 1 deletions

4
layouts/404.html Normal file
View File

@@ -0,0 +1,4 @@
{{ define "main" }}
<h1>Page not found</h1>
<p><a href="{{ .Site.BaseURL }}">Return to the home page</a>.</p>
{{ end }}

View File

@@ -0,0 +1,3 @@
<!-- prettier-ignore -->
<h{{ .Level }} id="{{ .Anchor | safeURL }}">{{ .Text | safeHTML }}</h{{ .Level }}>

View File

@@ -0,0 +1,6 @@
<img
src="{{ .Destination | safeURL }}"
alt="{{ .Text }}"
{{ with .Title }}title="{{ . }}"{{ end }}
class="img-responsive"
/>

View File

@@ -0,0 +1,9 @@
<a
href="{{ .Destination | safeURL }}"
{{ with .Title }}
title="{{ . }}"
{{ end }}{{ if strings.HasPrefix .Destination "http" }}
target="_blank" rel="noopener"
{{ end }}
>{{ .Text | safeHTML }}</a
>

View File

@@ -0,0 +1,55 @@
<!doctype html>
<html lang="{{ .Site.LanguageCode }}">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>
{{ .Site.Title }}{{ $url := urls.Parse .Page.Permalink }}{{ $url.Path }}
</title>
{{ with .Site.Params.description }}
<meta name="description" content="{{ . }}" />
{{ end }}
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="robots" content="all,follow" />
<meta name="googlebot" content="index,follow,snippet,archive" />
<link rel="stylesheet" href="{{ "css/animate.min.css" | absURL }}" />
<link rel="stylesheet" href="{{ "css/terminal.min.css" | absURL }}" />
<link rel="stylesheet" href="{{ "css/huell.css" | absURL }}" />
<script src="{{ "js/masonry.min.js" | absURL }}" async></script>
{{ `
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
` | safeHTML
}}
{{- partial "favicon.html" . -}}
{{ with .OutputFormats.Get "RSS" }}
{{ printf `
<link href="%s" rel="%s" type="%s" title="%s" />` .Permalink .Rel .MediaType.Type $.Site.Title | safeHTML
}}
{{ end }}
{{- partial "opengraph.html" . -}}
{{- partial "twitter.html" . -}}
</head>
<body class="terminal">
{{- partial "header.html" . -}}
<div class="container {{ .Site.Params.animateStyle }}">
{{ block "main" . }}
{{ end }}
{{ partial "footer.html" . }}
</div>
</body>
</html>

View File

@@ -0,0 +1,10 @@
{{ define "main" }}
<h1>{{ .Title }}</h1>
<br />
{{ .Content }}
<div class="posts-list">
{{ partial "posts.html" . }}
</div>
{{ end }}

View File

@@ -0,0 +1,4 @@
{{ define "main" }}
<h1>{{ .Title }}</h1>
{{ .Content }}
{{ end }}

View File

@@ -0,0 +1,7 @@
{{ define "main" }}
<h1>{{ .Title }}</h1>
{{ .Content }}
<div class="image-grid">
{{ partial "gallery.html" . }}
</div>
{{ end }}

View File

@@ -0,0 +1,18 @@
{{ define "main" }}
<h1>{{ .Title }}</h1>
<div>
{{ .Date | time.Format ":date_medium" }}
</div>
{{ if and (isset .Params "image") .Params.image }}
{{ $image := .Page.Resources.GetMatch .Params.image }}
{{ with $image }}
{{ $thumb := .Resize "1000x" }}
{{ printf `<img src="%s" alt="%s" class="img-responsive gallery-image">` $thumb.RelPermalink .Title | safeHTML }}
{{ end }}
{{ end }}
{{ .Content }}
{{ partial "comments.html" . }}
{{ end }}

7
layouts/index.html Normal file
View File

@@ -0,0 +1,7 @@
{{ define "main" }}
<div class="posts-list">
{{ with .Site.GetPage "/posts" }}
{{ partial "posts.html" . }}
{{ end }}
</div>
{{ end }}

View File

View File

View File

@@ -0,0 +1 @@
<div class="footer">{{ .Site.Title }} © {{ now.Year }}</div>

View File

@@ -0,0 +1,17 @@
{{ range sort .Pages "Date" "desc" }}
{{ if not .Params.private }}
{{ if and (isset .Params "image") .Params.image }}
<a href="{{ .Permalink }}" title="{{ .Title }}">
{{ $image := .Page.Resources.GetMatch .Params.image }}
{{ with $image }}
{{ $thumb := .Resize "400x" }}
<img
src="{{ $thumb.RelPermalink }}"
alt="{{ .Title }}"
class="img-responsive"
/>
{{ end }}
</a>
{{ end }}
{{ end }}
{{ end }}

View File

@@ -0,0 +1,35 @@
<div class="container">
<div class="terminal-nav">
<header class="terminal-logo">
<div class="logo terminal-prompt">
{{ $url := replace .Permalink ( printf "%s" .Site.BaseURL) "" }}
{{ $.Scratch.Add "path" .Site.BaseURL }}
<a
href="{{ .Site.BaseURL }}"
class="no-style {{ with .Site.Params.TitleCutting }}
site-name
{{ end }}"
>{{ .Site.Params.prompt | default .Site.Title }}</a
><span class="prompt-symbol">:~#</span>
{{ range $index, $element := split $url "/" }}
{{ $.Scratch.Add "path" $element }}{{ if ne $element "" }}
<a href="{{ $.Scratch.Get " path" | absURL }}">{{ . }}</a>
<span class="prompt-symbol">/{{ $.Scratch.Add "path" "/" }}</span>
{{ end }}
{{ end }}
</div>
</header>
<nav class="terminal-menu">
<ul vocab="https://schema.org/" typeof="BreadcrumbList">
{{ range $index, $element := .Site.Params.navlinks }}
<li property="itemListElement" typeof="ListItem">
<a property="item" typeof="WebPage" href="{{ absURL .url }}">
<span property="name">{{ .name }}</span>
</a>
<meta property="position" content="{{ add $index 1 }}" />
</li>
{{ end }}
</ul>
</nav>
</div>
</div>

View File

@@ -0,0 +1,78 @@
<meta property="og:title" content="{{ .Title }}" />
<meta
property="og:description"
content="{{ with .Description }}
{{ . }}
{{ else }}
{{ if .IsPage }}{{ with .Site.Params.description }}{{ . }}{{ end }}{{ end }}
{{ end }}"
/>
<meta
property="og:type"
content="{{ if .IsPage }}
article
{{ else }}
website
{{ end }}"
/>
<meta property="og:url" content="{{ .Permalink }}" />
{{- with .Params.image }}
{{ $image := $.Resources.GetMatch . }}
{{ with $image }}
{{ $thumb := .Resize "400x" }}
<meta property="og:image" content="{{ $thumb.Permalink }}" />
{{ end }}
{{ end }}
{{- $iso8601 := "2000-01-01T00:00:00-01:00" -}}
{{- if .IsPage }}
{{- if not .PublishDate.IsZero }}
<meta
property="article:published_time"
{{ .PublishDate.Format $iso8601 | printf "content=%q" | safeHTMLAttr }}
/>
{{ else if not .Date.IsZero }}
<meta
property="article:published_time"
{{ .Date.Format $iso8601 | printf "content=%q" | safeHTMLAttr }}
/>
{{ end }}
{{- end }}
{{/* .IsPage */}}
{{- with .Params.audio }}
<meta property="og:audio" content="{{ . }}" />
{{ end }}
{{- with .Params.locale }}
<meta property="og:locale" content="{{ . }}" />
{{ end }}
{{- with .Site.Params.title }}
<meta property="og:site_name" content="{{ . }}" />
{{ end }}
{{- with .Params.videos }}
{{- range . }}
<meta property="og:video" content="{{ . | absURL }}" />
{{ end }}
{{ end }}
{{- $permalink := .Permalink }}
{{- $siteSeries := .Site.Taxonomies.series }}{{ with .Params.series }}
{{- range $name := . }}
{{- $series := index $siteSeries $name }}
{{- range $page := first 6 $series.Pages }}
{{- if ne $page.Permalink $permalink }}
<meta property="og:see_also" content="{{ $page.Permalink }}" />
{{ end }}
{{- end }}
{{ end }}
{{ end }}
{{- if .IsPage }}
<meta property="article:section" content="{{ .Section }}" />
{{- with .Params.tags }}
{{ range first 6 . }}
<meta property="article:tag" content="{{ . }}" />
{{- end }}
{{ end }}
{{- end }}

View File

@@ -0,0 +1,11 @@
{{ range sort .Pages "Date" "desc" }}
{{ if not .Params.private }}
<div class="post">
<p>
<div class="date">{{ .Date | time.Format ":date_medium" }}</div>
<h1><a href="{{ .Permalink }}" title="{{ .Title }}">{{ .Title }}</a></h1>
{{ .Summary }}
</p>
</div>
{{ end }}
{{ end }}

View File

@@ -0,0 +1,23 @@
{{- with .Params.image }}
{{ $image := $.Resources.GetMatch . }}
{{ with $image }}
{{ $thumb := .Resize "400x" }}
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:image" content="{{ $thumb.Permalink }}" />
{{ 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 -}}"
/>

12
layouts/posts/single.html Normal file
View File

@@ -0,0 +1,12 @@
{{ define "main" }}
<h1>{{ .Title }}</h1>
<div>
{{ .Date | time.Format ":date_medium" }}
</div>
<br />
{{ .Content }}
{{ partial "comments.html" . }}
{{ end }}

16
layouts/sitemap.xml Normal file
View File

@@ -0,0 +1,16 @@
{{ printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\" ?>" | safeHTML }}
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
{{ range .Pages }}
{{ if not .Params.private }}
<url>
<loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }}
<lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ end }}{{ with .Sitemap.ChangeFreq }}
<changefreq>{{ . }}</changefreq>{{ end }}{{ if ge .Sitemap.Priority 0.0 }}
<priority>{{ .Sitemap.Priority }}</priority>{{ end }}{{ if .IsTranslated }}{{ range .Translations }}
<xhtml:link rel="alternate" hreflang="{{ .Lang }}" href="{{ .Permalink }}"/>{{ end }}
<xhtml:link rel="alternate" hreflang="{{ .Lang }}" href="{{ .Permalink }}"/>{{ end }}
</url>
{{ end }}
{{ end }}
</urlset>