import kgva site
This commit is contained in:
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user