wip media query rework, sidebar mostly finished, rewritten njk
This commit is contained in:
parent
cb5ba4fb82
commit
790147ea05
33 changed files with 268 additions and 361 deletions
6
_src/_data/icon.json
Normal file
6
_src/_data/icon.json
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"blog": "m5 3h15l7 7v20H5zm5 22h12v-3H10zm0-6h12v-3H10zm0-6h9v-3h-9z",
|
||||||
|
"changelog": "M10 25H21V22H10Zm4-13H10v3h4v4h3V15h4V12H17V8H14ZM5 3H20l7 7V30H5Z",
|
||||||
|
"gallery": "M2 2V30H30V2H2M5 26l6-9 5 6 5-9 6 12H5",
|
||||||
|
"home": "M20 20V30h8V12L16 2 4 12V30h8V20Z"
|
||||||
|
}
|
||||||
6
_src/_data/svg.json
Normal file
6
_src/_data/svg.json
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"paw": "m 15.700739,16.184194 c 0,4.483 -2.555,2.038 -5.7060001,2.038 -3.151,0 -5.706,2.445 -5.706,-2.038 0,-2.925 2.555,-6.113001 5.706,-6.113001 3.1510001,0 5.7060001,3.188001 5.7060001,6.113001 z M 4.0687389,8.1071934 c 0.394,1.336 0.007,2.6259996 -0.862,2.8819996 -0.87,0.256001 -1.8929999,-0.619 -2.28599993,-1.9539996 -0.393,-1.336 -0.007,-2.626 0.86199993,-2.882 0.87,-0.256 1.893,0.619 2.286,1.954 z m 15.0000001,0.945 c -0.407,1.3319996 -1.442,2.1960006 -2.312,1.9299996 -0.869,-0.266 -1.244,-1.5609996 -0.837,-2.8919996 0.407,-1.332 1.442,-2.196 2.312,-1.93 0.869,0.265 1.244,1.56 0.837,2.892 z m -10.1100001,-4.859 c 0.365,1.897 -0.218,3.606 -1.302,3.814 -1.085,0.209 -2.261,-1.16 -2.626,-3.059 -0.365,-1.898 0.218,-3.6060001 1.302,-3.8150001 1.085,-0.20799996 2.261,1.1620001 2.626,3.0600001 z m 5.9960001,0.778 c -0.388,1.893 -1.578,3.25 -2.66,3.029 -1.082,-0.222 -1.647,-1.937 -1.26,-3.83 0.388,-1.894 1.578,-3.25000006 2.66,-3.0290001 1.082,0.222 1.647,1.9370001 1.26,3.8300001 z",
|
||||||
|
"back": "M2 16 18 4h6L12 14H50v4H12L24 28H18Z",
|
||||||
|
"theme": "M16 6a1 1 0 010 20Zm0-4a1 1 0 000 28A1 1 0 0016 2",
|
||||||
|
"menu": "M4 8H28v3H4Zm0 7H28v3H4Zm0 7H28v3H4Z"
|
||||||
|
}
|
||||||
|
|
@ -1,98 +1,51 @@
|
||||||
---
|
|
||||||
paw: "m 15.700739,16.184194 c 0,4.483 -2.555,2.038 -5.7060001,2.038 -3.151,0 -5.706,2.445 -5.706,-2.038 0,-2.925 2.555,-6.113001 5.706,-6.113001 3.1510001,0 5.7060001,3.188001 5.7060001,6.113001 z M 4.0687389,8.1071934 c 0.394,1.336 0.007,2.6259996 -0.862,2.8819996 -0.87,0.256001 -1.8929999,-0.619 -2.28599993,-1.9539996 -0.393,-1.336 -0.007,-2.626 0.86199993,-2.882 0.87,-0.256 1.893,0.619 2.286,1.954 z m 15.0000001,0.945 c -0.407,1.3319996 -1.442,2.1960006 -2.312,1.9299996 -0.869,-0.266 -1.244,-1.5609996 -0.837,-2.8919996 0.407,-1.332 1.442,-2.196 2.312,-1.93 0.869,0.265 1.244,1.56 0.837,2.892 z m -10.1100001,-4.859 c 0.365,1.897 -0.218,3.606 -1.302,3.814 -1.085,0.209 -2.261,-1.16 -2.626,-3.059 -0.365,-1.898 0.218,-3.6060001 1.302,-3.8150001 1.085,-0.20799996 2.261,1.1620001 2.626,3.0600001 z m 5.9960001,0.778 c -0.388,1.893 -1.578,3.25 -2.66,3.029 -1.082,-0.222 -1.647,-1.937 -1.26,-3.83 0.388,-1.894 1.578,-3.25000006 2.66,-3.0290001 1.082,0.222 1.647,1.9370001 1.26,3.8300001 z"
|
|
||||||
back: "M2 16 18 4h6L12 14H50v4H12L24 28H18Z"
|
|
||||||
theme: "M16 6a1 1 0 010 20Zm0-4a1 1 0 000 28A1 1 0 0016 2"
|
|
||||||
menu: "M4 8H28v3H4Zm0 7H28v3H4Zm0 7H28v3H4Z"
|
|
||||||
---
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
{% set currentUrl %}{{ page.url }}{% endset %}
|
{%set currentPage = page.url.split('/')[1]|slugify%}
|
||||||
{% set sortedPages = collections.pages|sort(attribute='data.order') %}
|
{%set pageOrder = collections.pages|sort(attribute='data.order')%}
|
||||||
|
{%set availableStyles = ['home', 'blog', 'gallery']%}
|
||||||
<head>
|
<head>
|
||||||
<title>
|
<title>
|
||||||
{% if page.url.split('/') %}
|
{%if page.url.split('/')%}
|
||||||
{{ page.url.split('/')[1] }} -
|
{{ page.url.split('/')[1] }} -
|
||||||
{% if page.url.split('/')[2] %}
|
{%if page.url.split('/')[2]%}
|
||||||
{{ page.url.split('/')[2] | replace("-", " ") }} |
|
{{ page.url.split('/')[2]|replace("-", " ") }} |
|
||||||
{% endif %}
|
{%endif%}
|
||||||
{% endif %}
|
{%endif%}
|
||||||
{{ site.name | safe }}
|
{{ site.name|safe }}
|
||||||
</title>
|
</title>
|
||||||
{% include "meta.njk" %}
|
|
||||||
<link rel="icon" href="/assets/img/icon/sundae.png">
|
<link rel="icon" href="/assets/img/icon/sundae.png">
|
||||||
<link rel="stylesheet" href="/assets/css/reset.css">
|
{%include "meta.njk"%}
|
||||||
<link rel="stylesheet" href="/assets/css/default/default.css">
|
{%include "stylesheets.njk"%}
|
||||||
<link rel="preload" href="/assets/css/citrus/default.css" as="style">
|
|
||||||
<link rel="stylesheet" href="/assets/css/default/system.css" id="themed">
|
|
||||||
{% if currentUrl === "/home/" %}
|
|
||||||
<link rel="stylesheet" href="/assets/css/pokesprite-pokemon-gen8.css">
|
|
||||||
{% endif %}
|
|
||||||
{% set availableStyles = ['home', 'blog', 'gallery'] %}
|
|
||||||
{% if currentUrl %}
|
|
||||||
{% if availableStyles.indexOf(page.url.split('/')[1]|slugify) !== -1 %}
|
|
||||||
<link rel="stylesheet" href="/assets/css/default/{{ page.url.split('/')[1]|slugify }}.css">
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
|
||||||
</head>
|
</head>
|
||||||
<body id="{{ page.url.split('/')[1]|slugify }}">
|
<body id="{{ currentPage }}">
|
||||||
<dialog id="signal">
|
<dialog id="signal">
|
||||||
<article>
|
<article>
|
||||||
{% for article in collections.articles %}
|
{% include "../data/articles/what.html" %}
|
||||||
{% if article.fileSlug == 'what' %}
|
|
||||||
{{ article.content | safe }}
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
</article>
|
</article>
|
||||||
</dialog>
|
</dialog>
|
||||||
<section>
|
<nav class="navbar" id="floating">
|
||||||
<nav class="navbar" id="floating">
|
{%include "nav-misc.njk"%}
|
||||||
<ul role="list">
|
</nav>
|
||||||
<li>
|
<div id="sidebar" popover="">
|
||||||
<button popovertarget="mobile" aria-label="Toggle menu">
|
<nav class="navbar" id="default">
|
||||||
<svg viewbox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
{%include "nav-misc.njk"%}
|
||||||
<path d="{{menu}}"></path>
|
{%include "nav.njk"%}
|
||||||
</svg>
|
</nav>
|
||||||
</button>
|
</div>
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<button id="theme-toggle" aria-label="Toggle theme">
|
|
||||||
<svg viewbox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
|
||||||
<path d="{{ theme }}">
|
|
||||||
</svg>
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
</section>
|
|
||||||
<section id="mobile" popover="">
|
|
||||||
<nav class="navbar">
|
|
||||||
{% include "nav.njk" %}
|
|
||||||
<ul role="list">
|
|
||||||
<li>
|
|
||||||
<button id="theme-toggle" aria-label="Toggle theme">
|
|
||||||
<svg viewbox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
|
||||||
<path d="{{ theme }}">
|
|
||||||
</svg>
|
|
||||||
Toggle theme
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
</section>
|
|
||||||
<header>
|
<header>
|
||||||
<h1>
|
<h1>
|
||||||
{% for page in sortedPages %}
|
{%for page in pageOrder%}
|
||||||
{% if currentUrl.split('/')[1] === page.url.split('/')[1]|slugify %}
|
{%if page.url|slugify == currentPage%}
|
||||||
<svg viewbox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
<svg viewbox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
||||||
<path d="{{ page.data.icon }}"></path>
|
<path d="{{icon[page.url|slugify]}}"></path>
|
||||||
</svg>
|
</svg>
|
||||||
{% endif %}
|
{%endif%}
|
||||||
{% endfor %}
|
{%endfor%}
|
||||||
{{ page.url.split('/')[1]|slugify|capitalize }}
|
{{ page.fileSlug|capitalize }}
|
||||||
</h1>
|
</h1>
|
||||||
</header>
|
</header>
|
||||||
<main>
|
<main>
|
||||||
{{ content | safe }}
|
{{ content|safe }}
|
||||||
</main>
|
</main>
|
||||||
<footer>
|
<footer>
|
||||||
<span id="message" aria-label="Random footer message">made with love</span>
|
<span id="message" aria-label="Random footer message">made with love</span>
|
||||||
|
|
|
||||||
|
|
@ -4,46 +4,46 @@ layout: base
|
||||||
|
|
||||||
<article id="art">
|
<article id="art">
|
||||||
<h1>{{ page.fileSlug }}
|
<h1>{{ page.fileSlug }}
|
||||||
{% for flag in flags %}
|
{%for flag in flags%}
|
||||||
<img src="{{ flag.src }}">
|
<img src="{{ flag.src }}">
|
||||||
{% endfor %}
|
{%endfor%}
|
||||||
</h1>
|
</h1>
|
||||||
{{ content|safe }}
|
{{ content|safe }}
|
||||||
{% if programs and programs|length > 0 %}
|
{%if programs and programs|length > 0%}
|
||||||
<p>Made with:</p>
|
<p>Made with:</p>
|
||||||
<ul>
|
<ul>
|
||||||
{% for program in programs %}
|
{%for program in programs%}
|
||||||
<li>
|
<li>
|
||||||
{{ program.name | link(program.src) | safe }}
|
{{ program.name|link(program.src)|safe }}
|
||||||
</li>
|
</li>
|
||||||
{% endfor %}
|
{%endfor%}
|
||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
{%endif%}
|
||||||
{% if palettes and palettes|length > 0 %}
|
{%if palettes and palettes|length > 0%}
|
||||||
<p>Color palette used:</p>
|
<p>Color palette used:</p>
|
||||||
{% for palette in palettes %}
|
{%for palette in palettes%}
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
{% if palette.src %}
|
{%if palette.src%}
|
||||||
{{ palette.name | link(palette.src) | safe }}
|
{{ palette.name|link(palette.src)|safe }}
|
||||||
{% endif %}
|
{%endif%}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
{% endfor %}
|
{%endfor%}
|
||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
{%endif%}
|
||||||
<section>
|
<section>
|
||||||
{% for image in images %}
|
{%for image in images%}
|
||||||
<a href="{{ image.src }}">
|
<a href="{{ image.src }}">
|
||||||
<figure>
|
<figure>
|
||||||
<img src="{{ image.src }}" alt="" {% if image.pixel %} style="image-rendering: pixelated" {% endif %}>
|
<img src="{{ image.src }}" alt="" {%if image.pixel%} style="image-rendering: pixelated" {%endif%}>
|
||||||
<figcaption>{{ image.alt }}</figcaption>
|
<figcaption>{{ image.alt }}</figcaption>
|
||||||
<time datetime="{{ image.date|ISO }}">{{ image.date|readable }}</time>
|
<time datetime="{{ image.date|ISO }}">{{ image.date|readable }}</time>
|
||||||
</figure>
|
</figure>
|
||||||
</a>
|
</a>
|
||||||
{% endfor %}
|
{%endfor%}
|
||||||
</section>
|
</section>
|
||||||
{% for attachment in attachments %}
|
{%for attachment in attachments%}
|
||||||
<section class="attachment">
|
<section class="attachment">
|
||||||
<a href="{{ attachment.src }}">
|
<a href="{{ attachment.src }}">
|
||||||
<figure>
|
<figure>
|
||||||
|
|
@ -52,5 +52,5 @@ layout: base
|
||||||
</figure>
|
</figure>
|
||||||
</a>
|
</a>
|
||||||
</section>
|
</section>
|
||||||
{% endfor %}
|
{%endfor%}
|
||||||
</article>
|
</article>
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
<section>
|
|
||||||
<h3>Pages</h3>
|
|
||||||
<ul role="list">
|
|
||||||
<li>
|
|
||||||
<a href="../">
|
|
||||||
<svg viewbox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
|
||||||
<path d="{{ back }}"></path>
|
|
||||||
</svg>
|
|
||||||
Go back
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% for page in sortedPages %}
|
|
||||||
<li>
|
|
||||||
<a href="{{ page.url }}" {% if currentUrl.split('/')[1] === page.url.split('/')[1]|slugify %} aria-current="page" {% endif %}>
|
|
||||||
<svg viewbox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
|
||||||
<path d="{{ page.data.icon }}"></path>
|
|
||||||
</svg>
|
|
||||||
{{ page.fileSlug | capitalize }}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endfor %}
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
25
_src/_includes/nav-misc.njk
Normal file
25
_src/_includes/nav-misc.njk
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
<ul role="list">
|
||||||
|
<li>
|
||||||
|
<button popovertarget="sidebar">
|
||||||
|
<svg viewbox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
||||||
|
<path d="{{svg.menu}}"></path>
|
||||||
|
</svg>
|
||||||
|
Toggle menu
|
||||||
|
</button>
|
||||||
|
<li>
|
||||||
|
<button class="theme-toggle">
|
||||||
|
<svg viewbox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
||||||
|
<path d="{{svg.theme}}">
|
||||||
|
</svg>
|
||||||
|
Toggle theme
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="../">
|
||||||
|
<svg viewbox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
||||||
|
<path d="{{svg.back}}"></path>
|
||||||
|
</svg>
|
||||||
|
Go back
|
||||||
|
</a>
|
||||||
|
<li>
|
||||||
|
</ul>
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
<section>
|
|
||||||
<h3>Outgoing</h3>
|
|
||||||
<ul role="list">
|
|
||||||
{% for key, items in outgoing %}
|
|
||||||
{% for item in items %}
|
|
||||||
{% if key != "signal" %}
|
|
||||||
<li>
|
|
||||||
<a href="{{ item.src }}">
|
|
||||||
<img src="/assets/img/icon/{{ item.icon }}" alt="" aria-hidden="true">{{ key | capitalize }}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
{% if key == "signal" %}
|
|
||||||
<li>
|
|
||||||
<button command="show-modal" commandfor="{{ items[0].id }}">
|
|
||||||
<img src="/assets/img/icon/{{ items[0].icon }}" alt="" aria-hidden="true">{{ key | capitalize }}
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
{% endif %}
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
|
|
@ -1,2 +1,38 @@
|
||||||
{% include "nav-main.njk" %}
|
<section>
|
||||||
{% include "nav-outgoing.njk" %}
|
<h3>Pages</h3>
|
||||||
|
<ul role="list">
|
||||||
|
{%for page in pageOrder%}
|
||||||
|
<li>
|
||||||
|
<a href="{{ page.url }}" {%if page.url|slugify == currentPage%}aria-current="page"{%endif%}>
|
||||||
|
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
||||||
|
<path d="{{ icon[page.url|slugify] }}"></path>
|
||||||
|
</svg>
|
||||||
|
{{ page.fileSlug|capitalize }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{%endfor%}
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<h3>Outgoing</h3>
|
||||||
|
<ul role="list">
|
||||||
|
{%for key, items in outgoing%}
|
||||||
|
{%for item in items%}
|
||||||
|
{%if key != "signal"%}
|
||||||
|
<li>
|
||||||
|
<a href="{{ item.src }}">
|
||||||
|
<img src="/assets/img/icon/{{ item.icon }}" alt="" aria-hidden="true">{{ key|capitalize }}
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{%endif%}
|
||||||
|
{%endfor%}
|
||||||
|
{%if key == "signal"%}
|
||||||
|
<li>
|
||||||
|
<button command="show-modal" commandfor="{{ items[0].id }}">
|
||||||
|
<img src="/assets/img/icon/{{ items[0].icon }}" alt="" aria-hidden="true">{{ key|capitalize }}
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
{%endif%}
|
||||||
|
{%endfor%}
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
|
||||||
8
_src/_includes/stylesheets.njk
Normal file
8
_src/_includes/stylesheets.njk
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
<link rel="stylesheet" href="/assets/css/reset.css">
|
||||||
|
<link rel="stylesheet" href="/assets/css/default/default.css">
|
||||||
|
<link rel="preload" href="/assets/css/citrus/default.css" as="style">
|
||||||
|
<link rel="stylesheet" href="/assets/css/default/{{ currentPage }}.css">
|
||||||
|
<link rel="stylesheet" href="/assets/css/default/system.css" id="themed">
|
||||||
|
{%if currentPage === "home"%}
|
||||||
|
<link rel="stylesheet" href="/assets/css/pokesprite-pokemon-gen8.css">
|
||||||
|
{%endif%}
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
@import url("./media.css");
|
|
||||||
@import url("./blog.css");
|
@import url("./blog.css");
|
||||||
@import url("./gallery.css");
|
@import url("./gallery.css");
|
||||||
@import url("./home.css");
|
@import url("./home.css");
|
||||||
|
|
@ -57,3 +56,10 @@ article {
|
||||||
font-family: "Nosey Rodent", sans-serif;
|
font-family: "Nosey Rodent", sans-serif;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@media screen and (max-width: 916px) {
|
||||||
|
header {
|
||||||
|
width: calc(100% - var(--float) + 4px);
|
||||||
|
margin: auto 0 0 auto;
|
||||||
|
padding: var(--pad-xl) 0 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ article#badges {
|
||||||
}
|
}
|
||||||
#interests li {
|
#interests li {
|
||||||
width: 16ch;
|
width: 16ch;
|
||||||
margin: var(--pad-sm);
|
margin: var(--pad-s);
|
||||||
box-shadow: var(--shadow-light);
|
box-shadow: var(--shadow-light);
|
||||||
background-image: linear-gradient(color-mix(in lch, var(--citrus-light-extra), var(--citrus-primary) 50%), var(--citrus-primary) 200%);
|
background-image: linear-gradient(color-mix(in lch, var(--citrus-light-extra), var(--citrus-primary) 50%), var(--citrus-primary) 200%);
|
||||||
& img {
|
& img {
|
||||||
|
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
/* default.css */
|
|
||||||
@media screen and (min-width: 920px) {
|
|
||||||
header {
|
|
||||||
width: var(--view);
|
|
||||||
border-right-width: 4px;
|
|
||||||
border-right-style: solid;
|
|
||||||
border-bottom-width: 4px;
|
|
||||||
border-bottom-style: solid;
|
|
||||||
border-bottom-right-radius: 100px;
|
|
||||||
margin-left: calc(var(--view) - 4px);
|
|
||||||
position: relative;
|
|
||||||
padding: calc(var(--pad-m) - 2px) var(--pad-sm);
|
|
||||||
z-index: 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* nav.css */
|
|
||||||
@media screen and (max-width: 920px) {
|
|
||||||
header {
|
|
||||||
margin: 0 !important;
|
|
||||||
padding: 0 !important;
|
|
||||||
border-right: 0 !important;
|
|
||||||
border-radius: 0 !important;
|
|
||||||
width: 100% !important;
|
|
||||||
background-attachment: none !important;
|
|
||||||
background-image: none !important;
|
|
||||||
background-size: none !important;
|
|
||||||
}
|
|
||||||
body::after {
|
|
||||||
content: none !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* gallery.css */
|
|
||||||
@media screen and (max-width: 450px) {
|
|
||||||
#artworks & article {
|
|
||||||
&::before {
|
|
||||||
width: calc(100% + var(--pad-l) * 2) !important;
|
|
||||||
margin: -3rem 0 0 -16px !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -36,20 +36,18 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#mobile > nav,
|
nav#default,
|
||||||
header,
|
nav#floating, header {
|
||||||
#floating {
|
|
||||||
background-attachment: fixed;
|
background-attachment: fixed;
|
||||||
background-image: var(--nav-bg);
|
background-image: var(--nav-bg);
|
||||||
background-size: 6px;
|
background-size: 6px;
|
||||||
}
|
}
|
||||||
#floating, #mobile > nav {
|
nav#floating, nav#default {
|
||||||
border-bottom-style: solid;
|
border-bottom-style: solid;
|
||||||
border-right-style: solid;
|
border-right-style: solid;
|
||||||
border-bottom-width: 4px;
|
border-bottom-width: 4px;
|
||||||
border-right-width: 4px;
|
border-right-width: 4px;
|
||||||
}
|
}
|
||||||
#mobile > nav {
|
nav#default {
|
||||||
height: max-content;
|
|
||||||
border-bottom-right-radius: var(--pad-l);
|
border-bottom-right-radius: var(--pad-l);
|
||||||
}
|
}
|
||||||
|
|
@ -1,9 +1,3 @@
|
||||||
:root {
|
|
||||||
--avatar: 3rem;
|
|
||||||
}
|
|
||||||
article:not(#blog:has(#posts) *) {
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
article {
|
article {
|
||||||
max-width: var(--post);
|
max-width: var(--post);
|
||||||
& ul {
|
& ul {
|
||||||
|
|
|
||||||
|
|
@ -2,11 +2,6 @@
|
||||||
@import url("./variables.css");
|
@import url("./variables.css");
|
||||||
@import url("./nav.css");
|
@import url("./nav.css");
|
||||||
|
|
||||||
|
|
||||||
:root {
|
|
||||||
--view: 18rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* i hate default styles >:( and also chrome */
|
/* i hate default styles >:( and also chrome */
|
||||||
h1,
|
h1,
|
||||||
h2,
|
h2,
|
||||||
|
|
@ -77,13 +72,15 @@ footer {
|
||||||
|
|
||||||
& span {
|
& span {
|
||||||
background-image: var(--transgender);
|
background-image: var(--transgender);
|
||||||
padding: 0 var(--pad-sm);
|
padding: 0 var(--pad-s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
main {
|
main {
|
||||||
|
width: var(--main);
|
||||||
padding: var(--pad-xl);
|
padding: var(--pad-xl);
|
||||||
padding-left: calc(var(--view) + var(--pad-xl));
|
padding-left: calc(var(--view) + var(--pad-xl));
|
||||||
|
padding-right: var(--view);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -143,11 +140,11 @@ article {
|
||||||
}
|
}
|
||||||
|
|
||||||
& p:not(:last-child, [aria-label]) {
|
& p:not(:last-child, [aria-label]) {
|
||||||
padding-bottom: var(--pad-sm);
|
padding-bottom: var(--pad-s);
|
||||||
}
|
}
|
||||||
|
|
||||||
& code:not(pre *) {
|
& code:not(pre *) {
|
||||||
padding: 0 var(--pad-sm);
|
padding: 0 var(--pad-s);
|
||||||
}
|
}
|
||||||
|
|
||||||
& pre {
|
& pre {
|
||||||
|
|
@ -181,7 +178,7 @@ article {
|
||||||
|
|
||||||
& ul:not([role="list"]):is(#art *) {
|
& ul:not([role="list"]):is(#art *) {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0 0 var(--pad-sm) var(--pad-xl);
|
margin: 0 0 var(--pad-s) var(--pad-xl);
|
||||||
}
|
}
|
||||||
|
|
||||||
& li:not([role] *, #changelog *) {
|
& li:not([role] *, #changelog *) {
|
||||||
|
|
@ -214,14 +211,14 @@ article {
|
||||||
& figcaption {
|
& figcaption {
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
padding-top: var(--pad-sm);
|
padding-top: var(--pad-s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
& > :first-child > code {
|
& > :first-child > code {
|
||||||
display: flex;
|
display: flex;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
margin: var(--pad-sm) 0;
|
margin: var(--pad-s) 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -252,18 +249,18 @@ img[src*="/assets/img/flag/"] {
|
||||||
& img {
|
& img {
|
||||||
position: relative;
|
position: relative;
|
||||||
vertical-align: sub;
|
vertical-align: sub;
|
||||||
margin: 0 var(--pad-sm);
|
margin: 0 var(--pad-s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
article a:not(.link *, a:has(img)) {
|
article a:not(.link *, a:has(img)) {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
padding: 0 var(--pad-sm);
|
padding: 0 var(--pad-s);
|
||||||
}
|
}
|
||||||
|
|
||||||
dialog button[commandfor="signal"] {
|
dialog button[commandfor="signal"] {
|
||||||
width: max-content;
|
width: max-content;
|
||||||
padding: 0 var(--pad-sm);
|
padding: 0 var(--pad-s);
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -311,9 +308,44 @@ dialog#signal {
|
||||||
|
|
||||||
& img {
|
& img {
|
||||||
border: 4px solid white;
|
border: 4px solid white;
|
||||||
padding: var(--pad-sm);
|
padding: var(--pad-s);
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
max-height: 250px;
|
max-height: 250px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media screen and (min-width: 916px) {
|
||||||
|
div#sidebar {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
nav#floating {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
nav#default button[popovertarget] {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 916px) {
|
||||||
|
/* Reset */
|
||||||
|
header, footer, main {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
article {
|
||||||
|
margin: var(--pad-m);
|
||||||
|
padding: var(--pad-l);
|
||||||
|
}
|
||||||
|
header {
|
||||||
|
text-align: right;
|
||||||
|
padding-right: var(--pad-m);
|
||||||
|
}
|
||||||
|
/* Move navbar artwork */
|
||||||
|
nav#default::before {
|
||||||
|
content: none;
|
||||||
|
}
|
||||||
|
body::after {
|
||||||
|
content: "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,3 @@
|
||||||
:root {
|
|
||||||
--thumb: 16rem;
|
|
||||||
}
|
|
||||||
#gallery {
|
#gallery {
|
||||||
& time {
|
& time {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -29,8 +26,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: var(--thumb);
|
height: var(--thumb);
|
||||||
object-fit: contain;
|
object-fit: cover;
|
||||||
border-radius: var(--round);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
& figcaption {
|
& figcaption {
|
||||||
|
|
@ -54,7 +50,7 @@
|
||||||
}
|
}
|
||||||
& h3 {
|
& h3 {
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: var(--pad-sm);
|
gap: var(--pad-s);
|
||||||
}
|
}
|
||||||
& section:has(a:nth-child(n + 2)) {
|
& section:has(a:nth-child(n + 2)) {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
@ -80,7 +76,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@media screen and (max-width: 920px) {
|
@media screen and (max-width: 916px) {
|
||||||
#art p {
|
#art p {
|
||||||
max-width: auto;
|
max-width: auto;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ article#badges {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
gap: var(--pad-sm);
|
gap: var(--pad-s);
|
||||||
}
|
}
|
||||||
|
|
||||||
& a {
|
& a {
|
||||||
|
|
@ -55,7 +55,7 @@ article#interests {
|
||||||
& a {
|
& a {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
padding: var(--pad-sm);
|
padding: var(--pad-s);
|
||||||
width: inherit;
|
width: inherit;
|
||||||
&:not(:hover, :focus) {
|
&:not(:hover, :focus) {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
|
|
|
||||||
|
|
@ -1,77 +1,3 @@
|
||||||
/* default.css */
|
|
||||||
@media screen and (max-width: 920px) {
|
|
||||||
body::after {
|
|
||||||
content: "" !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
footer {
|
|
||||||
width: 100% !important;
|
|
||||||
margin: 0 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
header {
|
|
||||||
padding-left: 0 !important;
|
|
||||||
padding-top: var(--pad-m) !important;
|
|
||||||
text-align: center !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
main {
|
|
||||||
padding: var(--pad-l) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
main > section {
|
|
||||||
flex-direction: column !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
main > section {
|
|
||||||
width: initial !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
article {
|
|
||||||
max-width: initial !important;
|
|
||||||
width: auto !important;
|
|
||||||
}
|
|
||||||
#mobile > nav {
|
|
||||||
display: flex !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* nav.css */
|
|
||||||
@media screen and (min-width: 920px) {
|
|
||||||
li:has(> button[popovertarget="mobile"]) {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
#floating {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
#mobile {
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width: 920px) {
|
|
||||||
#floating {
|
|
||||||
position: sticky !important;
|
|
||||||
top: 0 !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* home.css */
|
|
||||||
@media screen and (max-width: 920px) {
|
|
||||||
article#interests {
|
|
||||||
display: flex !important;
|
|
||||||
flex-direction: column !important;
|
|
||||||
|
|
||||||
& ul {
|
|
||||||
justify-content: center !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
& li a {
|
|
||||||
padding: 0 !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (prefers-reduced-motion: no-preference) {
|
@media (prefers-reduced-motion: no-preference) {
|
||||||
/* Scrolling pride flag text */
|
/* Scrolling pride flag text */
|
||||||
article#bio span[id],
|
article#bio span[id],
|
||||||
|
|
@ -90,23 +16,23 @@
|
||||||
}
|
}
|
||||||
@media (prefers-reduced-motion: reduce) {
|
@media (prefers-reduced-motion: reduce) {
|
||||||
body {
|
body {
|
||||||
animation: none !important;
|
animation: none;
|
||||||
}
|
}
|
||||||
/* Buttons */
|
/* Buttons */
|
||||||
:is(a, button),
|
:is(a, button),
|
||||||
span:has(a) {
|
span:has(a) {
|
||||||
transition: none !important;
|
transition: none;
|
||||||
}
|
}
|
||||||
/* Permalinks */
|
/* Permalinks */
|
||||||
.header-anchor,
|
.header-anchor,
|
||||||
article pre {
|
article pre {
|
||||||
transition: none !important;
|
transition: none;
|
||||||
}
|
}
|
||||||
/* Images */
|
/* Images */
|
||||||
#gallery a:has(figure),
|
#gallery a:has(figure),
|
||||||
#blog article figure,
|
#blog article figure,
|
||||||
a img {
|
a img {
|
||||||
transition: none !important;
|
transition: none;
|
||||||
}
|
}
|
||||||
.emoji:has(img[alt*="🐇"]) {
|
.emoji:has(img[alt*="🐇"]) {
|
||||||
& img {
|
& img {
|
||||||
|
|
@ -119,11 +45,11 @@
|
||||||
}
|
}
|
||||||
/* Scrolling pride flag text */
|
/* Scrolling pride flag text */
|
||||||
article#bio span[id], footer span {
|
article#bio span[id], footer span {
|
||||||
transition: none !important;
|
transition: none;
|
||||||
animation: none !important;
|
animation: none;
|
||||||
color: inherit;
|
color: inherit;
|
||||||
background-clip: initial !important;
|
background-clip: initial;
|
||||||
background: initial !important;
|
background: initial;
|
||||||
&::before {
|
&::before {
|
||||||
content: "";
|
content: "";
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
|
|
@ -150,7 +76,7 @@
|
||||||
}
|
}
|
||||||
/* Jumping critters */
|
/* Jumping critters */
|
||||||
#pkmn span:hover {
|
#pkmn span:hover {
|
||||||
animation: none !important;
|
animation: none;
|
||||||
transform: translateY(-4px);
|
transform: translateY(-4px);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
scrollbar-width: none;
|
scrollbar-width: none;
|
||||||
gap: var(--pad-m);
|
gap: var(--pad-m);
|
||||||
|
margin: 0;
|
||||||
|
|
||||||
& li *:is(a, button) {
|
& li *:is(a, button) {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
@ -41,7 +42,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
& ul {
|
& ul {
|
||||||
margin: var(--pad-sm);
|
margin: var(--pad-s);
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
||||||
& li,
|
& li,
|
||||||
|
|
@ -66,7 +67,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#mobile > nav::before,
|
nav#default::before,
|
||||||
body::after {
|
body::after {
|
||||||
z-index: -1;
|
z-index: -1;
|
||||||
content: "";
|
content: "";
|
||||||
|
|
@ -79,7 +80,7 @@ body::after {
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
#mobile > nav::before {
|
nav#default::before {
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
mask-size: 160%;
|
mask-size: 160%;
|
||||||
|
|
@ -96,27 +97,31 @@ body::after {
|
||||||
-webkit-mask-position-y: bottom;
|
-webkit-mask-position-y: bottom;
|
||||||
}
|
}
|
||||||
|
|
||||||
button[popovertarget="mobile"] {
|
nav#floating {
|
||||||
display: none;
|
width: var(--float);
|
||||||
}
|
|
||||||
|
|
||||||
#floating {
|
|
||||||
width: fit-content;
|
|
||||||
height: fit-content;
|
height: fit-content;
|
||||||
border-bottom-style: solid;
|
border-bottom-style: solid;
|
||||||
border-right-style: solid;
|
border-right-style: solid;
|
||||||
border-bottom-width: 2px;
|
border-bottom-width: 2px;
|
||||||
border-right-width: 2px;
|
border-right-width: 2px;
|
||||||
border-bottom-right-radius: var(--pad-l);
|
border-bottom-right-radius: var(--pad-l);
|
||||||
|
& button {
|
||||||
|
width: fit-content;
|
||||||
|
font-size: 0;
|
||||||
|
}
|
||||||
|
& a {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#mobile {
|
div#sidebar {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
background: none;
|
background: none;
|
||||||
border: 0;
|
border: 0;
|
||||||
}
|
}
|
||||||
#mobile > nav {
|
nav#default {
|
||||||
|
border: 0;
|
||||||
border-right-style: solid;
|
border-right-style: solid;
|
||||||
border-right-width: 2px;
|
border-right-width: 2px;
|
||||||
}
|
}
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
border-color: var(--secondary-300);
|
border-color: var(--secondary-300);
|
||||||
background-color: var(--secondary-200);
|
background-color: var(--secondary-200);
|
||||||
|
|
||||||
& #mobile {
|
& #default {
|
||||||
box-shadow: inset 0 0 0 2px var(--secondary-500);
|
box-shadow: inset 0 0 0 2px var(--secondary-500);
|
||||||
background-color: var(--secondary-300);
|
background-color: var(--secondary-300);
|
||||||
}
|
}
|
||||||
|
|
@ -73,7 +73,7 @@
|
||||||
span:has(a) {
|
span:has(a) {
|
||||||
color: var(--secondary-light-400);
|
color: var(--secondary-light-400);
|
||||||
border-color: var(--secondary-600);
|
border-color: var(--secondary-600);
|
||||||
background-color: var(--secondary-300);
|
background-color: color-mix(in lch, var(--secondary-300), transparent);
|
||||||
&:is(:hover, :focus) {
|
&:is(:hover, :focus) {
|
||||||
color: var(--secondary-light-500);
|
color: var(--secondary-light-500);
|
||||||
border-color: currentColor;
|
border-color: currentColor;
|
||||||
|
|
@ -90,14 +90,13 @@
|
||||||
color: inherit;
|
color: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
& #mobile > nav,
|
& nav#default,
|
||||||
#floating {
|
nav#floating {
|
||||||
background-color: var(--secondary-100);
|
background-color: var(--secondary-100);
|
||||||
border-color: var(--secondary);
|
border-color: var(--secondary);
|
||||||
& section {
|
& section {
|
||||||
background-color: var(--secondary-100);
|
|
||||||
border-color: var(--secondary);
|
border-color: var(--secondary);
|
||||||
background-color: var(--secondary-300);
|
background-color: color-mix(in lch, var(--secondary-300), transparent);
|
||||||
color: var(--secondary-light-300);
|
color: var(--secondary-light-300);
|
||||||
& a[aria-current] {
|
& a[aria-current] {
|
||||||
color: var(--secondary-500);
|
color: var(--secondary-500);
|
||||||
|
|
@ -116,7 +115,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
&::after,
|
&::after,
|
||||||
& #mobile > nav::before {
|
& nav#default::before {
|
||||||
background-color: var(--secondary);
|
background-color: var(--secondary);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
border-color: var(--primary-300);
|
border-color: var(--primary-300);
|
||||||
background-color: var(--primary-200);
|
background-color: var(--primary-200);
|
||||||
|
|
||||||
& #mobile {
|
& #default {
|
||||||
box-shadow: inset 0 0 0 2px var(--primary-500);
|
box-shadow: inset 0 0 0 2px var(--primary-500);
|
||||||
background-color: var(--primary-300);
|
background-color: var(--primary-300);
|
||||||
}
|
}
|
||||||
|
|
@ -90,14 +90,13 @@
|
||||||
color: inherit;
|
color: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
& #mobile > nav,
|
& nav#default,
|
||||||
#floating {
|
nav#floating {
|
||||||
background-color: var(--primary-100);
|
background-color: var(--primary-100);
|
||||||
border-color: var(--primary-dark-500);
|
border-color: var(--primary-dark-500);
|
||||||
& section {
|
& section {
|
||||||
background-color: var(--primary-100);
|
|
||||||
border-color: var(--primary-dark-800);
|
border-color: var(--primary-dark-800);
|
||||||
background-color: var(--primary-300);
|
background-color: color-mix(in lch, var(--primary-300), transparent);
|
||||||
color: var(--primary-dark-300);
|
color: var(--primary-dark-300);
|
||||||
& a[aria-current] {
|
& a[aria-current] {
|
||||||
color: var(--primary-500);
|
color: var(--primary-500);
|
||||||
|
|
@ -116,7 +115,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
&::after,
|
&::after,
|
||||||
& #mobile > nav::before {
|
& nav#default::before {
|
||||||
background-color: var(--primary-dark-500);
|
background-color: var(--primary-dark-500);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -39,17 +39,21 @@
|
||||||
--secondary-700: color-mix(in lch, var(--secondary), var(--dark) 30%);
|
--secondary-700: color-mix(in lch, var(--secondary), var(--dark) 30%);
|
||||||
--secondary-800: color-mix(in lch, var(--secondary), var(--dark) 20%);
|
--secondary-800: color-mix(in lch, var(--secondary), var(--dark) 20%);
|
||||||
--secondary-900: color-mix(in lch, var(--secondary), var(--dark) 10%);
|
--secondary-900: color-mix(in lch, var(--secondary), var(--dark) 10%);
|
||||||
--trans: 300ms;
|
--avatar: 3rem; /* Blog avatar */
|
||||||
--image: 24rem;
|
--flag: 45deg; /* Pride flag */
|
||||||
--post: 75ch;
|
--image: 24rem; /* Postscript images */
|
||||||
--round: 16px;
|
--main: 108rem; /* Main width */
|
||||||
--pad-xxl: 4rem;
|
--post: 75ch; /* Article text width */
|
||||||
--pad-xl: 2rem;
|
--view: 300px; /* Sidebar width */
|
||||||
--pad-lm: 1.4rem;
|
--float: 88px; /* Floating sidebar width */
|
||||||
--pad-l: 1rem;
|
--thumb: 16rem; /* Gallery artwork thumbnail */
|
||||||
|
--pad-s: 0.4rem;
|
||||||
--pad-m: 0.8rem;
|
--pad-m: 0.8rem;
|
||||||
--pad-sm: 0.4rem;
|
--pad-l: 1rem;
|
||||||
--flag: 45deg;
|
--pad-xl: 2rem;
|
||||||
|
--pad-xxl: 4rem;
|
||||||
|
--round: 16px;
|
||||||
|
--trans: 300ms;
|
||||||
--paw: url("/assets/img/theme/paw.svg");
|
--paw: url("/assets/img/theme/paw.svg");
|
||||||
--paw-tiled: url("/assets/img/theme/paw-tiled.png");
|
--paw-tiled: url("/assets/img/theme/paw-tiled.png");
|
||||||
--outlined: drop-shadow(0 0.5px var(--dark)) drop-shadow(0 -0.5px var(--dark))
|
--outlined: drop-shadow(0 0.5px var(--dark)) drop-shadow(0 -0.5px var(--dark))
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,26 @@
|
||||||
const basePath = "/assets/css";
|
const basePath = "/assets/css";
|
||||||
const themeToggle = document.getElementById("theme-toggle");
|
const themeToggles = document.querySelectorAll(".theme-toggle");
|
||||||
const themeStylesheet = document.getElementById("themed");
|
const themeStylesheet = document.getElementById("themed");
|
||||||
|
|
||||||
const themes = [
|
const themes = [
|
||||||
{ name: "system", file: "default/system.css" },
|
{ name: "system", file: "default/system.css" },
|
||||||
{ name: "citrus", file: "citrus/default.css" },
|
{ name: "citrus", file: "citrus/default.css" },
|
||||||
];
|
];
|
||||||
|
|
||||||
let currentTheme = localStorage.getItem("theme") || themes[0].name;
|
let currentTheme = localStorage.getItem("theme") || themes[0].name;
|
||||||
setTheme(currentTheme);
|
setTheme(currentTheme);
|
||||||
|
|
||||||
function setTheme(themeName) {
|
function setTheme(themeName) {
|
||||||
const theme = themes.find(t => t.name === themeName);
|
const theme = themes.find(t => t.name === themeName);
|
||||||
if (theme) {
|
if (theme && themeStylesheet) {
|
||||||
themeStylesheet.href = `${basePath}/${theme.file}`;
|
themeStylesheet.href = `${basePath}/${theme.file}`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
themeToggle.addEventListener("click", () => {
|
themeToggles.forEach(btn =>
|
||||||
currentTheme = themes[(themes.findIndex(t => t.name === currentTheme) + 1) % themes.length].name;
|
btn.addEventListener("click", () => {
|
||||||
setTheme(currentTheme);
|
currentTheme = themes[(themes.findIndex(t => t.name === currentTheme) + 1) % themes.length].name;
|
||||||
localStorage.setItem("theme", currentTheme);
|
setTheme(currentTheme);
|
||||||
});
|
localStorage.setItem("theme", currentTheme);
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
@ -4,6 +4,7 @@ images:
|
||||||
alt: Various pixel art animations of Sundae as a character from Nuclear Throne.
|
alt: Various pixel art animations of Sundae as a character from Nuclear Throne.
|
||||||
date: 2021-01-25
|
date: 2021-01-25
|
||||||
pixel: true
|
pixel: true
|
||||||
|
position: left
|
||||||
programs:
|
programs:
|
||||||
- name: paint.net
|
- name: paint.net
|
||||||
src: https://www.getpaint.net/
|
src: https://www.getpaint.net/
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ images:
|
||||||
alt: Side portrait of Kass, looking back at the player.
|
alt: Side portrait of Kass, looking back at the player.
|
||||||
date: 2023-02-23
|
date: 2023-02-23
|
||||||
pixel: true
|
pixel: true
|
||||||
|
position: -25px
|
||||||
attachments:
|
attachments:
|
||||||
- src: /assets/img/blog/kass.jpg
|
- src: /assets/img/blog/kass.jpg
|
||||||
alt: In-game screenshot of Kass that I took as reference.
|
alt: In-game screenshot of Kass that I took as reference.
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ images:
|
||||||
- src: /assets/img/art/petscii_sue.png
|
- src: /assets/img/art/petscii_sue.png
|
||||||
alt: Sue Sakamoto sitting and looking out from the Outer Wall.
|
alt: Sue Sakamoto sitting and looking out from the Outer Wall.
|
||||||
date: 2023-01-16
|
date: 2023-01-16
|
||||||
|
position: right
|
||||||
palettes:
|
palettes:
|
||||||
- name: Commodore 64
|
- name: Commodore 64
|
||||||
---
|
---
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ images:
|
||||||
- src: /assets/img/art/klonoa_sitting.png
|
- src: /assets/img/art/klonoa_sitting.png
|
||||||
alt: Klonoa sitting on a ledge, with a hand on his knee and right leg dangling from the viewer's side.
|
alt: Klonoa sitting on a ledge, with a hand on his knee and right leg dangling from the viewer's side.
|
||||||
date: 2021-11-18
|
date: 2021-11-18
|
||||||
|
position: -60px
|
||||||
programs:
|
programs:
|
||||||
- name: MS Paint
|
- name: MS Paint
|
||||||
src: https://www.microsoft.com/en-us/windows/paint
|
src: https://www.microsoft.com/en-us/windows/paint
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ images:
|
||||||
- src: /assets/img/art/mallow.png
|
- src: /assets/img/art/mallow.png
|
||||||
alt: Mallow from Cavern Crusher, sitting on the ledge of a mossy stone pit with water at the bottom.
|
alt: Mallow from Cavern Crusher, sitting on the ledge of a mossy stone pit with water at the bottom.
|
||||||
date: 2025-08-03
|
date: 2025-08-03
|
||||||
|
position: left
|
||||||
programs:
|
programs:
|
||||||
- name: Krita
|
- name: Krita
|
||||||
src: https://krita.org/
|
src: https://krita.org/
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
---
|
---
|
||||||
order: 3
|
order: 3
|
||||||
icon: "m5 3h15l7 7v20H5zm5 22h12v-3H10zm0-6h12v-3H10zm0-6h9v-3h-9z"
|
|
||||||
---
|
---
|
||||||
<section id="posts">
|
<section id="posts">
|
||||||
<ul role="list">
|
<ul role="list">
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
---
|
---
|
||||||
order: 2
|
order: 2
|
||||||
icon: "M10 25H21V22H10Zm4-13H10v3h4v4h3V15h4V12H17V8H14ZM5 3H20l7 7V30H5Z"
|
|
||||||
---
|
---
|
||||||
|
|
||||||
{%for update in collections.updates reversed%}
|
{%for update in collections.updates reversed%}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
---
|
---
|
||||||
order: 4
|
order: 4
|
||||||
icon: "M2 2V30H30V2H2M5 26l6-9 5 6 5-9 6 12H5"
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<section id="artworks">
|
<section id="artworks">
|
||||||
|
|
@ -13,7 +12,7 @@ icon: "M2 2V30H30V2H2M5 26l6-9 5 6 5-9 6 12H5"
|
||||||
<a href="{{artwork.page.url}}">
|
<a href="{{artwork.page.url}}">
|
||||||
<figure>
|
<figure>
|
||||||
{%if artwork.data.images[0]%}
|
{%if artwork.data.images[0]%}
|
||||||
<img src="{{artwork.data.images[0].src}}" alt="{{artwork.data.images[0].alt}}" {%if artwork.data.images[0].pixel%} style="image-rendering: pixelated" {%endif%} />
|
<img src="{{artwork.data.images[0].src}}" alt="{{artwork.data.images[0].alt}}" style="{%if artwork.data.images[0].pixel%}image-rendering: pixelated;{%endif%}{%if artwork.data.images[0].position%}object-position:{{artwork.data.images[0].position}};{%endif%}"/>
|
||||||
<figcaption>{{artwork.page.fileSlug}}{%if artwork.data.images.size > 1%}<p class="count">(+{{artwork.data.images.size| minus: 1}})</p>{%endif%}</figcaption>
|
<figcaption>{{artwork.page.fileSlug}}{%if artwork.data.images.size > 1%}<p class="count">(+{{artwork.data.images.size| minus: 1}})</p>{%endif%}</figcaption>
|
||||||
{% if artwork.data.images[0].date %}
|
{% if artwork.data.images[0].date %}
|
||||||
<time datetime="{{artwork.data.images[0].date|ISO}}">{{artwork.data.images[0].date|readable}}</time>
|
<time datetime="{{artwork.data.images[0].date|ISO}}">{{artwork.data.images[0].date|readable}}</time>
|
||||||
|
|
@ -34,7 +33,7 @@ icon: "M2 2V30H30V2H2M5 26l6-9 5 6 5-9 6 12H5"
|
||||||
<a href="{{fanart.page.url}}">
|
<a href="{{fanart.page.url}}">
|
||||||
<figure>
|
<figure>
|
||||||
{%if fanart.data.images[0]%}
|
{%if fanart.data.images[0]%}
|
||||||
<img src="{{fanart.data.images[0].src}}" alt="{{fanart.data.images[0].alt}}" />
|
<img src="{{fanart.data.images[0].src}}" alt="{{fanart.data.images[0].alt}}" style="{%if fanart.data.images[0].pixel%}image-rendering: pixelated;{%endif%}{%if fanart.data.images[0].position%}object-position:{{fanart.data.images[0].position}};{%endif%}"/>
|
||||||
<figcaption>{{fanart.page.fileSlug}}</figcaption>
|
<figcaption>{{fanart.page.fileSlug}}</figcaption>
|
||||||
{%if fanart.data.images[0].date%}
|
{%if fanart.data.images[0].date%}
|
||||||
<time datetime="{{fanart.data.images[0].date|ISO}}">{{fanart.data.images[0].date|readable}}</time>
|
<time datetime="{{fanart.data.images[0].date|ISO}}">{{fanart.data.images[0].date|readable}}</time>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
---
|
---
|
||||||
order: 1
|
order: 1
|
||||||
icon: "M20 20V30h8V12L16 2 4 12V30h8V20Z"
|
|
||||||
---
|
---
|
||||||
<article id="bio">
|
<article id="bio">
|
||||||
{%for article in collections.articles%} {%if article.fileSlug == 'bio'%} {{
|
{%for article in collections.articles%} {%if article.fileSlug == 'bio'%} {{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue