62 lines
3.2 KiB
HTML
62 lines
3.2 KiB
HTML
<!doctype html>
|
|
|
|
{% if title %}
|
|
{% set pagetitle = title %}
|
|
{% else %}
|
|
{% set pagetitle = page.fileSlug %}
|
|
{% endif %}
|
|
|
|
<html class="latte dark:mocha">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>Portfolio - {{ pagetitle | markdownToPlaintext | safe }}</title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
<meta property="og:title" content="Portfolio - {{ pagetitle | markdownToPlaintext | safe }}" />
|
|
<meta property="og:description" content="{{ description | markdownToPlaintext | safe }}" />
|
|
{% if image %}
|
|
<meta property="og:image" content="https://gaiety.me{{ image }}" />
|
|
{% else %}
|
|
<meta property="og:image" content="https://gaiety.me/img/site/falling.gif" />
|
|
{% endif %}
|
|
<meta property="og:url" content="https://gaiety.me{{ page.url }}" />
|
|
|
|
<link href="/styles.css" rel="stylesheet">
|
|
<link href="/catppuccin.variables.css" rel="stylesheet">
|
|
|
|
<link rel="apple-touch-icon" sizes="180x180" href="/img/site/favicons/apple-touch-icon.png">
|
|
<link rel="icon" type="image/png" sizes="32x32" href="/img/site/favicons/favicon-32x32.png">
|
|
<link rel="icon" type="image/png" sizes="16x16" href="/img/site/favicons/favicon-16x16.png">
|
|
<link rel="manifest" href="/img/site/favicons/site.webmanifest">
|
|
</head>
|
|
|
|
<body class="bg-crust bg-[length:20rem] bg-[url('/img/site/stars-light.gif')] dark:bg-[url('/img/site/stars-dark.gif')]">
|
|
<div class="flex gap-y-12 flex-col sm:flex-row">
|
|
<header class="flex gap-2 justify-between flex-col xs:flex-row sm:flex-col sm:justify-start">
|
|
<img src="/img/site/falling.gif" alt="Gaiety's visual representation as a fursona (an original furry fandom character) depicted as an animated gif falling downward with a controlled hand outstretched. Faer hair and tail waves in the wind while their floppy dog ears flop about as well. Fae are an anthromorphic canine like a german shepherd clothed like a human in a t-shirt and denim shorts." class="h-auto w-auto xs:max-w-48 motion-safe:hover:animate-shake motion-safe:hover:animation-infinite motion-safe:hover:animate-duration-[1500ms] motion-safe:hover:animate-ease-out" />
|
|
<nav class="
|
|
inline-flex flex-col relative my-auto pl-2 pb-2 sm:my-0
|
|
border-l-2 border-l-lavender
|
|
rounded-bl md:rounded-tr md:rounded-br md:rounded-bl-none shadow bg-crust/25 contrast-more:bg-crust
|
|
">
|
|
{%- for navItem in navigation -%}
|
|
<a
|
|
href="{{navItem.url}}"
|
|
class="motion-safe:transition-colors {% if page.url == navItem.url %} border-mauve text-mauve {% else %} hover:border-pink active:border-pink text-subtext1 hover:text-subtext0 active:text-subtext0 border-transparent{% endif %} inline-flex items-center pl-1 pr-4 pt-1 border-b-2 text-lg font-medium outline-link"
|
|
{% if page.url == navItem.url %}aria-current="page"{% endif %}
|
|
>
|
|
{{navItem.title}}
|
|
</a>
|
|
{%- endfor -%}
|
|
|
|
{%- for navItem in links -%}
|
|
<a
|
|
href="{{navItem.url}}"
|
|
class="ml-1 mt-1 pr-4 link hidden xs:inline-flex"
|
|
{% if page.url == navItem.url %}aria-current="page"{% endif %}
|
|
>
|
|
{{navItem.title}}
|
|
</a>
|
|
{%- endfor -%}
|
|
</nav>
|
|
</header>
|