summaryrefslogtreecommitdiff
path: root/src/routes
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes')
-rw-r--r--src/routes/+error.svelte41
-rw-r--r--src/routes/+layout.js1
-rw-r--r--src/routes/+layout.svelte37
-rw-r--r--src/routes/+page.svelte232
-rw-r--r--src/routes/+page.ts1
-rw-r--r--src/routes/ContactCard.svelte40
-rw-r--r--src/routes/Header.svelte316
-rw-r--r--src/routes/projects/+page.svelte53
-rw-r--r--src/routes/projects/+page.ts1
-rw-r--r--src/routes/projects/ProjectEntry.svelte36
-rw-r--r--src/routes/styles.scss48
11 files changed, 0 insertions, 806 deletions
diff --git a/src/routes/+error.svelte b/src/routes/+error.svelte
deleted file mode 100644
index 2ced366..0000000
--- a/src/routes/+error.svelte
+++ /dev/null
@@ -1,41 +0,0 @@
-<script lang="ts">
- import { page } from "$app/stores";
-
- let displayDog = ($page.status === 404) || false;
-</script>
-
-<div class="error-container">
- <div class="error">
- <h1>{$page.status ?? "oopsie daisies!"}</h1>
- <p>{$page.error?.message ?? "website broke &gt;w&lt; "}</p>
- </div>
- {#if displayDog}
- <div class="huh">
- <img src="/huh.jpg" alt="dog looking at the camera with a question mark edited next to it"/>
- </div>
- {/if}
-</div>
-
-<style lang="scss">
- .error-container {
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- width: 100%;
- height: 100%;
-
- & .error {
- display: flex;
- flex-direction: column;
- align-items: center;
- margin: 36px 12px;
- border-spacing: 36px;
-
- & :not(:last-child) {
- margin-bottom: 1rem;
- }
- }
- }
-</style>
-
diff --git a/src/routes/+layout.js b/src/routes/+layout.js
deleted file mode 100644
index b40fb51..0000000
--- a/src/routes/+layout.js
+++ /dev/null
@@ -1 +0,0 @@
-export const ssr = true
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
deleted file mode 100644
index ad34a2e..0000000
--- a/src/routes/+layout.svelte
+++ /dev/null
@@ -1,37 +0,0 @@
-<script lang="ts">
- import Header from './Header.svelte';
- import './styles.scss';
- import { onMount } from "svelte";
-
- onMount(async () => {
- if( navigator.brave && await navigator.brave.isBrave() || !1 ) {
- window.location.href="/not-very-brave.html"
- }
- });
-</script>
-<div class="app">
- <Header>
- <main>
- <slot />
- </main>
- </Header>
-</div>
-
-<style>
- .app {
- display: flex;
- flex-direction: column;
- }
-
- main {
- flex: 1;
- display: flex;
- flex-direction: column;
- padding: 1rem;
- padding-top: 4em;
- width: 100%;
- max-width: 64rem;
- margin: 0 auto;
- box-sizing: border-box;
- }
-</style>
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
deleted file mode 100644
index 631f82e..0000000
--- a/src/routes/+page.svelte
+++ /dev/null
@@ -1,232 +0,0 @@
-<script lang="ts">
- import { fade } from "svelte/transition";
- import github from "$lib/images/github.svg?raw";
- import xmppSvg from "$lib/assets/xmpp.svg?raw";
- import { decode, isDecoded } from "$lib/decoder";
- import { getContext, onMount } from "svelte";
- import { isMobile } from "$lib/mobile";
- import { browser } from "$app/environment";
-
- const header = getContext<Header>("Header");
-
- var description = [
- "Hiiiii im Rose!! I've been coding and abusing computers for like 8 years now (as of 2024)!",
- "My main focus is in OSdev and Containers, but my experience ranges all accross the spectrum, ",
- "frontend, backend, weird amalgamations inbetween, I can make everything work! ",
- ].join("");
-
-
- var xmpp:string = "e714815f15b15315615a12714b15015a15915615615b11515615914e";
- var matrix: string = "c210213a12713012b1230fc13612a1270ef12313213113612a12712512313413b0f012512e137124"
- onMount(() => {
- if (navigator.webdriver) {
- return;
- }
-
- xmpp = decode(xmpp);
- matrix = decode(matrix);
- });
-
- onMount(async () => {
- var chrome: boolean = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
- if (chrome && !isMobile()) { // I can forgive people for using chrome on mobile tbh
- header.addMessage("Chrome browsers enforce Googles monopolistic position while harming user privacy. See https://contrachrome.com/", {
- dismissable: false
- })
- }
- });
-
- function copyText(text: string): (event: MouseEvent|KeyboardEvent) => void {
- return (event) => {
- if (event instanceof KeyboardEvent && event.code != "Enter")
- return;
-
- if (navigator.clipboard == null) {
- return;
- }
-
- navigator.clipboard.writeText(text)
- .then(() => header.addMessage("Copied to clipboard"))
- .catch(() => header.addMessage("Failed to copy to clipboard"));
- };
- }
-</script>
-
-<svelte:head>
- <title>rose</title>
- <meta name="description" content="Coder of C. Abuser of Containers. Hater of golang." />
- <meta property="og:title" content="axtlos"/>
- <meta property="og:type" content="website"/>
- <meta property="og:description" content={description}/>
- <meta property="og:image" content="/me.png"/>
- <meta property="og:url" content="https://xenia.blahaj.land"/>
- <meta property="og:locale" content="en_US"/>
- <link rel="me" href="https://eepy.moe/@rose"/>
-</svelte:head>
-
-<page>
- <section id="welcome">
- <h1>Hi! I'm Rose</h1>
- </section>
- <section id="about">
- <h2>About me!</h2>
- <p>
- I'm a software engineer with an interest in containers and OSdev.
- I currently live in germany and study computer science.
- </p>
- <p>
- Apart from coding and tinkering with hardware, I enjoy listening to music, reading books and going on walks!
- </p>
- </section>
- <section id="projects">
- <h2>My work</h2>
- <p>
- Currently most of my time is spent working on
- <a href="https://github.com/Vanilla-OS/vib">vib</a>.
- As the maintainer of vib I handle any project management,
- while actively expanding it with more features.
- </p>
- <p>
- In connection to vib, I am currently reviving an older
- project called Project Shards, an arch based immutable
- distribution, that went through many different designs,
- but has settled on using systemd-sysupdate in the same vein as
- <a href="https://os.gnome.org">GNOME OS</a>.
- </p>
- <p>
- A more thorough list of projects can be found in the
- <a href="/projects">Projects</a> page.
- </p>
- </section>
- <section id="contact">
- <h2>Contact</h2>
- <p class="subheader">Click on a card to copy its address</p>
- <p>
- One can contact me on these platforms!
- </p>
- {#if !browser}
- <p id="noscript">
- Javascript seems to be disabled! But this website requires js to deobfuscate the contacts
- The obfuscated codes are displayed in the boxes below, you can use <a href="/deobfuscate.sh">this shell script</a> to debofuscate them locally!
- </p>
- {/if}
- <ul>
- <li id="xmpp">
- <div
- role="button"
- tabindex="0"
- on:click={isDecoded(matrix) ? copyText(xmpp) : undefined}
- on:keydown={isDecoded(matrix) ? copyText(xmpp) : undefined}>
- <h3>XMPP</h3>
- {#if !browser}
- <noscript>{xmpp}</noscript>
- {:else}
- <p>{xmpp}</p>
- {/if}
- </div>
- </li>
- <li id="matrix">
- <div
- role="button"
- tabindex="0"
- on:click={isDecoded(matrix) ? copyText(matrix) : undefined}
- on:keydown={isDecoded(matrix) ? copyText(matrix) : undefined}>
- <h3>matrix</h3>
- {#if !browser}
- <noscript>{matrix}</noscript>
- {:else}
- <p>{matrix}</p>
- {/if}
- </div>
- </li>
- <li id="email">
- <div>
- <a class="permalink"
- href={isDecoded(matrix) ? `mailto:${xmpp}` : `javascript:void`}>
- <h3>email</h3>
- {#if !browser}
- <noscript>{xmpp}</noscript>
- {:else}
- <p>{xmpp}</p>
- {/if}
- </a>
- </div>
- </li>
- </ul>
- </section>
- <section id="buttons">
- <a href="https://xenia.blahaj.land" target="_blank" rel="noopener noreferrer" title="rose garden">
- <img src="/rose_88x31.png" alt="button that says 'rose', a rose grows out of the o, on the left the character milk chan is visible, a very pale girl with shoulder length brown hair wearing a black hoodie" width="88px" height="31px">
- </a>
- <a href="https://chronovore.dev/" target="_blank" rel="noopener noreferrer" title="legiayayana's orbit">
- <img src="https://chronovore.dev/button/chronovore.png" alt="button that says 'ada', text is overlayed a photograph of neptune, which in this image is a blue gas giant" width="88px" height="31px">
- </a>
- <a href="https://futile.eu/" target="_blank" rel="noopener noreferrer">
- <img src="https://futile.eu/static/buttons/futile.png" alt="button that says 'futile'" width="88px" height="31px">
- </a>
- <a>
- <iframe src="https://increm.net/badge?key=xenia" title="incremnet badge" width="88" height="31" frameborder="0" style="background-color: #d4d0c8"></iframe>
- </a>
- <a href="https://nyaa.si/view/964646" target="_blank" rel="noopener noreferrer" title="watch lain now!!">
- <img src="/lain.gif" alt="lain" width="88px" height="31px">
- </a>
- <a><img src="/ltg.gif" alt="now!" width="88px" height="31px"></a>
- <a><img src="/transrights.png" alt="trans rights now!" width="88px" height="31px"></a>
- <a><img src="/xeniatransnow.png" alt="use linux now!" width="88px" height="31px"></a>
- </section>
-</page>
-
-<style lang="scss">
- @use "$lib/styles";
- page {
- & section {
- width: 100%;
-
- &#buttons {
- margin-top: 15px;
- display: flex;
- justify-content: center;
- align-items: center;
- gap: 10px;
- padding-bottom: 10px;
- }
-
- &#contact {
- & .subheader {
- font-size: 0.8em;
- margin-top: -25px;
- }
- & ul {
- list-style: none;
- display: flex;
- gap: 10px;
- flex-wrap: wrap;
- flex-direction: row;
- padding: unset;
- margin: unset;
- margin-top: 1em;
- margin-bottom: 1em;
- justify-content: space-around;
-
- & li#xmpp > div { @include styles.contact($color: #FFC067, $text-color: #000000); }
- & li#matrix > div { @include styles.contact($color: #7D7, $text-color: #000000); }
- & li#email {
- & a {
- text-decoration: none;
- }
- & > div {
- @include styles.contact($color: #B19CD9, $text-color: #000000);
- }
- }
-
- & li > * {
- & p {
- text-align: center;
- }
- }
- }
- }
- }
- }
-
-</style>
diff --git a/src/routes/+page.ts b/src/routes/+page.ts
deleted file mode 100644
index 189f71e..0000000
--- a/src/routes/+page.ts
+++ /dev/null
@@ -1 +0,0 @@
-export const prerender = true;
diff --git a/src/routes/ContactCard.svelte b/src/routes/ContactCard.svelte
deleted file mode 100644
index d347deb..0000000
--- a/src/routes/ContactCard.svelte
+++ /dev/null
@@ -1,40 +0,0 @@
-<script lang="ts">
- export let inline: boolean = false;
- export let svg: string;
- export let onclick;
-</script>
-
-<div
- role="button"
- tabindex="0"
- on:click={onclick}
- on:keydown={onclick}>
- <span class:inline={inline}>
- {@html svg}
- </span>
-</div>
-
-<span class:inline={inline}>
- {@html svg}
-</span>
-
-<style lang="scss">
- span {
- & :global(svg) {
- width: 1em;
- height: 1em;
- fill: currentColor;
- }
- &.inline :global(svg) { transform: translate(0, 0.125em); }
- }
-
- div {
- background-color: green;
- user-select: none;
- padding: 1px 18px;
- border-radius: 9999px;
- display: flex;
- align-items: center;
- justify-content: center;
- }
-</style>
diff --git a/src/routes/Header.svelte b/src/routes/Header.svelte
deleted file mode 100644
index 4490f1a..0000000
--- a/src/routes/Header.svelte
+++ /dev/null
@@ -1,316 +0,0 @@
-<script context="module" lang="ts">
-
- export type Header = {
- addMessage (message: string, options?: Partial<MessageOptions>): void
- };
-
- type HeaderMessage = {
- message: string,
- options: MessageOptions,
- dismiss: () => void,
- }
-
- type MessageOptions = {
- time: number,
- dismissable: boolean,
- };
-
-</script>
-
-<script lang="ts">
- import { page } from '$app/stores';
- import logo from '/rose.apng';
- import boowomp from '/wilted-flower.apng';
- import close from '$lib/assets/close.svg?raw';
- import { setContext } from "svelte";
- import { fly } from "svelte/transition";
- import { readable, writable } from "svelte/store";
- import { isNavigating } from "$lib/navigation.ts";
- import { onMount } from 'svelte';
-
- const newestMessage = writable<HeaderMessage|null>(null);
-
- var Rose = chrome ? boowomp : logo;
-
- const currentMessage = writable<HeaderMessage|null>(null, (set) => {
- let $currentMessage: HeaderMessage|null = null;
- let currentTimeout: number|null = null;
-
- const dismiss = () => {
- if (currentTimeout == null) clearTimeout(currentTimeout);
- $currentMessage = null;
- set(null);
- };
-
- const unsubscribe = newestMessage.subscribe(($newestMessage) => {
- if ($newestMessage == null) return;
-
- if ($currentMessage != null) dismiss();
-
- $currentMessage = $newestMessage;
- $currentMessage.dismiss = dismiss;
- if ($currentMessage.options.dismissable)
- currentTimeout = setTimeout(dismiss, $currentMessage.options.duration);
- set($currentMessage);
- });
-
- return () => {
- unsubscribe();
- dismiss();
- };
- });
-
- setContext<Header>("Header", {
- addMessage(...args: any[]) {
-
- let [ message, options ] = args as [string, Partial<MessageOptions>|undefined];
- options ??= { dismissable: true, duration: 5000 };
- options.dismissable ??= true;
- options.duration ??= 5000;
- newestMessage.set({
- type: "message",
- message,
- options: options as MessageOptions,
- dismiss: void {},
- });
-
- },
- });
-
- var chrome: boolean = false;
- onMount(async () => {
- chrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
- Rose = chrome ? boowomp : logo;
- });
-</script>
-
-<div class="main">
- <header>
- <div class="corner">
- <a href="/" class="name">
- {#if $isNavigating}
- <span class="loader"></span>
- {:else}
- <img id="logo" src={Rose} alt="rose"/>
- {/if}
- <p>rose</p>
- </a>
- </div>
-
- {#if $currentMessage != null}
- <div class="center" transition:fly>
- <p>
- {$currentMessage.message}
- </p>
- {#if $currentMessage.options.dismissable}
- <button
- class="dismiss"
- on:click={$currentMessage.dismiss}>
- <span class="icon">{@html close}</span>
- </button>
- {/if}
- </div>
- {/if}
-
- <nav>
- <ul>
- <li aria-current={$page.url.pathname === '/' ? 'page' : undefined}>
- <a href="/">Home</a>
- </li>
- <li aria-current={$page.url.pathname === '/projects' ? 'page' : undefined}>
- <a href="/projects">Projects</a>
- </li>
- </ul>
- </nav>
- </header>
- <slot />
-</div>
-
-<style lang="scss">
- @use "sass:color";
-
- @import "@fontsource-variable/playwrite-hr";
-
- header {
- display: flex;
- justify-content: space-between;
- align-items: center;
- width: 100%;
- position: fixed;
- position: -webkit-sticky;
- top: 0;
- z-index: 99;
- background-color: color.change(white, $alpha: 0.9);
- height: 3em;
- }
-
- .name {
- font-family: 'Playwrite HR Variable', cursive;
- font-size: 1.3em;
- color: #150129;
- padding-bottom: 6px;
- }
-
- .loader {
- width: 1.5em;
- height: 1.5em;
- border: 5px solid transparent;
- border-bottom-color: #E2122D;
- border-radius: 50%;
- display: inline-block;
- box-sizing: border-box;
- animation: rotation 1s linear infinite;
- }
-
- @keyframes rotation {
- 0% { transform: rotate(0deg); }
- 100% { transform: rotate(360deg); }
- }
-
- .corner {
- height: 3em;
- margin-bottom: 0px;
-
- & a {
- display: flex;
- align-items: center;
- justify-content: center;
- width: 100%;
- height: 100%;
- text-decoration: none;
-
- &:visited {
- color: black;
- }
- &:hover &:active {
- color: black;
- }
-
- & p {
- padding-left: 4px;
- }
- }
-
- & img {
- width: 1.5em;
- height: 1.5em;
- object-fit: contain;
- }
-
- }
-
- .center {
- display: flex;
- flex-direction: row;
- background-color: #000000ac;
- border-radius: 100px;
- align-items: center;
- height: 2.5em;
-
- & > .dismiss {
- min-height: 2.3em;
- min-width: 2.3em;
- background: transparent;
- border: none;
- border-radius: 9999px;
- margin-right: 10px;
-
- &:hover { background: #ffffff30; }
- &:active { background: #ffffff60; }
-
- & > :global(span) {
- justify-content: center;
- align-content: center;
- width: 100%;
- height: 100%;
- fill: #ffffff;
- transform: translate(0, 0.125em);
- & > :global(svg) {
- width: 16px;
- height: 16px;
- object-fit: contain;
- text-align: center;
- fill: #ffffff;
- }
- }
- }
-
- & p {
- color: #fff;
- margin-left: 10px;
- margin-right: 10px;
- }
-
- }
-
- nav {
- display: flex;
- justify-content: right;
- font-size: 1.2em;
- padding-right: 10px;
- object-fit: contain;
- }
-
- ul {
- position: relative;
- padding: 0;
- margin: 0;
- height: 3em;
- display: flex;
- justify-content: center;
- align-items: center;
- list-style: none;
- background-size: contain;
- }
-
- li {
- position: relative;
- height: 100%;
- }
-
- li[aria-current='page']::before {
- --size: 6px;
- content: '';
- width: 0;
- height: 0;
- position: absolute;
- top: 0;
- left: calc(50% - var(--size));
- border: var(--size) solid transparent;
- border-top: var(--size) solid var(--color-theme-1);
- }
-
- nav a {
- display: flex;
- height: 100%;
- align-items: center;
- padding: 0 0.5rem;
- color: #150129;
- font-weight: 700;
- font-size-adjust: 0.3;
- text-transform: uppercase;
- letter-spacing: 0.1em;
- text-decoration: none;
- transition: color 0.2s linear;
- }
-
- a:hover {
- color: var(--color-theme-1);
- }
-
- @media (prefers-color-scheme: dark) {
- /* If the operating system is using dark mode, then apply this CSS */
- header {
- background-color: color.change(#292b33, $alpha: 0.9);
- }
-
- a:link:not(.permalink),a:visited:not(.permalink) {
- color: #b9cffb;
- }
-
- .name {
- color: #f5f5f5;
- }
- }
-
-</style>
diff --git a/src/routes/projects/+page.svelte b/src/routes/projects/+page.svelte
deleted file mode 100644
index 05c013f..0000000
--- a/src/routes/projects/+page.svelte
+++ /dev/null
@@ -1,53 +0,0 @@
-<script lang="ts">
- import ProjectEntry from "./ProjectEntry.svelte";
-</script>
-
-<page>
- <section id="title">
- <h1>Projects</h1>
- </section>
- <section id="brief">
- <p>
- A list of most projects I have worked on or am a part of, note that not all of them are still maintained.
- </p>
- </section>
- <ProjectEntry name={'FsVerify'} description={'Block Based filesystem verification for immutable Linux Distributions written in golang and C'}
- projType={'Personal Project'} link={'https://github.com/axtloss/fsverify'}/>
-
- <ProjectEntry name={'BVG - Basic Vector Graphics'} description={'Custom made vector graphic format for use with FsVerify, the parser (fbwarn) is written in C using raylib'}
- projType={'Personal Project'} link={'https://github.com/axtloss/fsverify/tree/main/fbwarn'}>
- <img src='/bvg.png' alt="The FsVerify logo drawn with BVG"/>
- </ProjectEntry>
-
- <ProjectEntry name={'vib'} description={'Building docker images using yaml recipes, written in golang'}
- projType={'Maintainer, Collaboration'} link={'https://vib.vanillaos.org'}/>
-
- <ProjectEntry name={'Vanilla System Operator'} description={'Tool to manage Vanilla OS installations, including Waydroid app management'}
- projType={'Collaboration'} link={'https://github.com/vanilla-os/vanilla-system-operator'}/>
-
- <ProjectEntry name={'FsGuard'} description={'File tree based Filesystem integrity verification, fully written in go and used by Vanilla OS through fswarn'}
- projType={'Maintainer, Personal Project'} link={'https://github.com/linux-immutability-tools/fsguard'}/>
-
- <ProjectEntry name={'jade'} description={'Installer backend for Crystal Linux, written in rust'}
- projType={'Collaboration / Personal Project'} link={'https://gitlab.com/crystal-linux/software/jade'}/>
-
- <ProjectEntry name={'jade-gui'} description={'Graphical frontend for Jade, written in python using gtk4 and libadwaita'}
- projType={'Collaboration / Personal Project'} link={'https://gitlab.com/crystal-linux/software/jade-gui'}/>
-
- <ProjectEntry name={'JshipIT'} description={'OCI client written in Java similiar to podman/docker with a focus on using containers as a form of isolated environments, similiar to Distrobox and Toolbx'}
- projType={'Personal Project'} link={'https://github.com/axtloss/JshipIT'}/>
-</page>
-
-<style lang="scss">
- @use 'sass:color';
- img {
- display: block;
- margin-left: auto;
- margin-right: auto;
- border-radius: 10px 10px 10px 10px;
- box-shadow: 0 1px 4px 1px color.change(black, $alpha: 0.13),
- 0 1px 10px 5px color.change(black, $alpha: 0.09),
- 0 3px 16px 8px color.change(black, $alpha: 0.04),
- 0 0 0 1px color.change(black, $alpha: 0.05);
- }
-</style>
diff --git a/src/routes/projects/+page.ts b/src/routes/projects/+page.ts
deleted file mode 100644
index 189f71e..0000000
--- a/src/routes/projects/+page.ts
+++ /dev/null
@@ -1 +0,0 @@
-export const prerender = true;
diff --git a/src/routes/projects/ProjectEntry.svelte b/src/routes/projects/ProjectEntry.svelte
deleted file mode 100644
index 53c69b5..0000000
--- a/src/routes/projects/ProjectEntry.svelte
+++ /dev/null
@@ -1,36 +0,0 @@
-<script lang="ts">
- export let name: string;
- export let description: string;
- export let projType: string;
- export let link: string;
- export let id: string = name.toLowerCase().replaceAll(" ", "_");
-</script>
-
-<section id="{id}" class="box">
- <h2>{name}</h2>
- <section id="fsverify-link">
- <p class="subheader">
- {projType} - <a href="{link}">{link}</a>
- </p>
- </section>
- <slot />
- <p class="description">
- {description}
- </p>
-</section>
-
-
-<style lang="scss">
- @use 'sass:color';
- section {
- max-width: 790px;
- width: 100%;
- & h2 {
- margin-bottom: 0px;
- }
- & .description {
- text-align: center;
- }
- }
-
-</style>
diff --git a/src/routes/styles.scss b/src/routes/styles.scss
deleted file mode 100644
index d932800..0000000
--- a/src/routes/styles.scss
+++ /dev/null
@@ -1,48 +0,0 @@
-@import "@fontsource-variable/inter";
-
-body {
- font-family:
- 'Inter Variable', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu,
- Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
- font-size: 1.2em;
- color: #150129;
-}
-
-h1 {
- width: 100%;
- font-size-adjust: 0.7;
- margin-bottom: 2px;
-}
-
-page {
- display: flex;
- flex-direction: column;
- align-items: center;
-
- width: 100%;
- height: 0;
- padding: 0 0 calc(100% * 495 / 2048) 0;
-}
-
-.permalink {
- color: #150129;
-}
-
-.subheader {
- font-size: 0.9em;
- margin-top: 0px;
-}
-
-a:link:not(.permalink),a:visited:not(.permalink) { color: #2160ad; }
-
-@media (prefers-color-scheme: dark) {
- /* If the operating system is using dark mode, then apply this CSS */
- body {
- background: #292b33;
- color: #f5f5f5
- }
- a:link:not(.permalink),a:visited:not(.permalink) {
- color: #b9cffb;
- }
-}
-