import kgva site

This commit is contained in:
2026-06-29 01:37:03 +02:00
commit f7643602cb
103 changed files with 2015 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
<footer role="contentinfo">
<p>© {{ now.Year }} karimgabrielevarano.xyz</p>
<p><a href="{{ "/colophon/" | relURL }}" data-name="colophon">colophon</a> · <a href="{{ "/legal-notice/" | relURL }}" data-name="legal-notice">legal notice</a></p>
<a href="{{ "/cv/" | relURL }}" data-name="cv" hidden>cv</a>
</footer>
+60
View File
@@ -0,0 +1,60 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="color-scheme" content="light dark">
<meta name="theme-color" content="#111111">
<script>try{if(localStorage.getItem('kgv_theme')==='dark')document.documentElement.classList.add('dark');}catch(e){}</script>
<script>try{if(!sessionStorage.getItem('kgv_booted')){document.documentElement.classList.add('booting');setTimeout(function(){document.documentElement.classList.remove('booting');},3000);}}catch(e){}</script>
{{ $isHome := .IsHome }}
{{ $desc := .Site.Params.description }}{{ with .Description }}{{ $desc = . }}{{ end }}
<title>{{ if $isHome }}{{ .Site.Title }} — {{ .Site.Params.description }}{{ else }}{{ .Title }} — {{ .Site.Title }}{{ end }}</title>
<meta name="description" content="{{ $desc }}">
<meta name="author" content="{{ .Site.Params.author }}">
<link rel="canonical" href="{{ .Permalink }}">
{{/* social card image: project thumbnail, else home hero, else site default */}}
{{ $ogimg := .Site.Params.ogImage }}
{{ with .Params.heroImage }}{{ $ogimg = . }}{{ end }}
{{ with .Params.thumbnail }}{{ $ogimg = . }}{{ end }}
{{ $ogabs := "" }}{{ with $ogimg }}{{ $ogabs = . | absURL }}{{ end }}
<meta property="og:site_name" content="{{ .Site.Title }}">
<meta property="og:title" content="{{ if $isHome }}{{ .Site.Title }}{{ else }}{{ .Title }}{{ end }}">
<meta property="og:description" content="{{ $desc }}">
<meta property="og:type" content="{{ if eq .Section "portfolio" }}article{{ else }}website{{ end }}">
<meta property="og:url" content="{{ .Permalink }}">
<meta property="og:locale" content="{{ .Site.Language.Lang | default "en" }}">
{{ with $ogabs }}<meta property="og:image" content="{{ . }}">{{ end }}
<meta name="twitter:card" content="{{ if $ogabs }}summary_large_image{{ else }}summary{{ end }}">
<meta name="twitter:title" content="{{ if $isHome }}{{ .Site.Title }}{{ else }}{{ .Title }}{{ end }}">
<meta name="twitter:description" content="{{ $desc }}">
{{ with $ogabs }}<meta name="twitter:image" content="{{ . }}">{{ end }}
<link rel="preload" as="font" type="font/woff2" href="{{ "fonts/iosevka-curly-slab-400.woff2" | relURL }}" crossorigin>
{{ $site := resources.Get "css/site.css" }}
{{ $custom := resources.Get "css/custom.css" }}
{{ $css := slice $site $custom | resources.Concat "css/bundle.css" | minify | fingerprint }}
<link rel="stylesheet" href="{{ $css.RelPermalink }}">
<link rel="icon" href="{{ "favicon.svg" | relURL }}" type="image/svg+xml">
<link rel="icon" href="{{ "favicon-32.png" | relURL }}" sizes="32x32" type="image/png">
<link rel="apple-touch-icon" href="{{ "apple-touch-icon.png" | relURL }}">
<link rel="mask-icon" href="{{ "favicon.svg" | relURL }}" color="#111111">
{{ if $isHome }}
<script type="application/ld+json">
{{ ( dict
"@context" "https://schema.org"
"@type" "Person"
"name" .Site.Params.author
"url" .Site.BaseURL
"email" .Site.Params.email
"jobTitle" "Architect"
"address" ( dict "@type" "PostalAddress" "addressLocality" "Lucerne" "addressCountry" "CH" )
) | jsonify | safeJS }}
</script>
{{ end }}
</head>
+21
View File
@@ -0,0 +1,21 @@
<header role="banner">
<div class="topbar" data-home="{{ "/" | relURL }}" data-info="{{ .Site.Params.description }}" data-email="{{ .Site.Params.email }}">
<div class="prompt" aria-label="shell">
<a class="prompt__seg prompt__user" href="{{ "/" | relURL }}">{{ .Site.Params.shellUser }}@{{ .Site.Params.shellHost }}</a><span class="prompt__path">:~{{ if not .IsHome }}{{ $rel := strings.TrimSuffix "/" .RelPermalink }}{{ $parts := after 1 (split $rel "/") }}{{ $last := sub (len $parts) 1 }}{{ $acc := "" }}{{ range $i, $seg := $parts }}{{ $acc = printf "%s/%s" $acc $seg }}{{ $disp := $seg }}{{ if and $.Params.dotfile (eq $i $last) }}{{ $disp = printf ".%s" $seg }}{{ end }}/<a class="prompt__seg" href="{{ (printf "%s/" $acc) | relURL }}">{{ $disp }}</a>{{ end }}{{ end }}$</span><span class="prompt__input" contenteditable="true" role="textbox" aria-label="type a command, then press enter" spellcheck="false"></span><span class="caret">_</span>
</div>
<p class="prompt__out" aria-live="polite"></p>
<nav class="menu tui tui--files" aria-label="Main menu">
<p class="tui__cmd"><span class="tui__sym">$</span> ls</p>
<ul class="tui__ls">
{{ range .Site.Menus.main }}<li><a href="{{ .URL | relURL }}" data-name="{{ .Name | lower }}">
<span class="tui__perm">drwxr-xr-x</span><span class="tui__name">{{ .Name | lower }}/</span>
</a></li>{{ end }}
</ul>
</nav>
{{ if eq .Section "portfolio" }}
<nav class="routes" hidden aria-hidden="true">
{{ range (where .Site.RegularPages "Section" "portfolio") }}<a href="{{ .RelPermalink }}" data-name="{{ .Slug }}"></a>{{ end }}
</nav>
{{ end }}
</div>
</header>