another site update

pyrox.dev 597893de fcfdb001

verified
Changed files
+128 -34
.zed
src
+2 -2
.zed/tasks.json
···
// Example:
[
{
-
"label": "start dev server",
"command": "just serve",
"use_new_terminal": true,
"allow_concurrent_runs": false,
···
"shell": "system"
},
{
-
"label": "build site to _site",
"command": "just build",
"use_new_terminal": true,
"allow_concurrent_runs": false,
···
// Example:
[
{
+
"label": "dev server",
"command": "just serve",
"use_new_terminal": true,
"allow_concurrent_runs": false,
···
"shell": "system"
},
{
+
"label": "render to _site",
"command": "just build",
"use_new_terminal": true,
"allow_concurrent_runs": false,
+35 -13
_config.ts
···
import lume from "lume/mod.ts";
-
import brotli from "lume/plugins/brotli.ts";
import date from "lume/plugins/date.ts";
-
import feed from "lume/plugins/feed.ts";
-
import metas from "lume/plugins/metas.ts";
import picture from "lume/plugins/picture.ts";
import relations from "lume/plugins/relations.ts";
-
import robots from "lume/plugins/robots.ts";
-
import sitemap from "lume/plugins/sitemap.ts";
import slugify_urls from "lume/plugins/slugify_urls.ts";
import source_maps from "lume/plugins/source_maps.ts";
-
import svgo from "lume/plugins/svgo.ts";
import toml from "lume/plugins/toml.ts";
import transform_images from "lume/plugins/transform_images.ts";
// Markdown-it plugins
···
import purgecss from "lume/plugins/purgecss.ts";
// Disabled Plugins:
-
// import minify_html from "lume/plugins/minify_html.ts";
// import og_images from "lume/plugins/og_images.ts";
// import pagefind from "lume/plugins/pagefind.ts";
// import sri from "lume/plugins/sri.ts";
···
site.copy([".woff2"]);
site.use(metas());
-
// site.use(minify_html({
-
// options: {
-
// keep_html_and_head_opening_tags: true,
-
// keep_spaces_between_attributes: true
-
// }
-
// }));
site.use(picture());
site.use(transform_images());
site.use(relations());
···
sans: ["Inter", "ui-sans-serif", "system-ui", "sans-serif"],
serif: ["IBM Plex Serif", "ui-serif", "serif"],
},
},
},
}),
···
import lume from "lume/mod.ts";
import date from "lume/plugins/date.ts";
import picture from "lume/plugins/picture.ts";
import relations from "lume/plugins/relations.ts";
import slugify_urls from "lume/plugins/slugify_urls.ts";
import source_maps from "lume/plugins/source_maps.ts";
import toml from "lume/plugins/toml.ts";
+
+
// File Generation
+
import feed from "lume/plugins/feed.ts";
+
import metas from "lume/plugins/metas.ts";
+
import robots from "lume/plugins/robots.ts";
+
import sitemap from "lume/plugins/sitemap.ts";
+
+
// Optimization
+
import brotli from "lume/plugins/brotli.ts";
+
import minify_html from "lume/plugins/minify_html.ts";
+
import svgo from "lume/plugins/svgo.ts";
import transform_images from "lume/plugins/transform_images.ts";
// Markdown-it plugins
···
import purgecss from "lume/plugins/purgecss.ts";
// Disabled Plugins:
// import og_images from "lume/plugins/og_images.ts";
// import pagefind from "lume/plugins/pagefind.ts";
// import sri from "lume/plugins/sri.ts";
···
site.copy([".woff2"]);
site.use(metas());
+
site.use(minify_html({
+
options: {
+
keep_html_and_head_opening_tags: true,
+
keep_spaces_between_attributes: true
+
}
+
}));
site.use(picture());
site.use(transform_images());
site.use(relations());
···
sans: ["Inter", "ui-sans-serif", "system-ui", "sans-serif"],
serif: ["IBM Plex Serif", "ui-serif", "serif"],
},
+
extend: {
+
colors: {
+
trans: {
+
blue: "#5bcffa",
+
pink: "#f5abb9",
+
white: "#fff",
+
},
+
lesbian: {
+
orange1: "#d62900",
+
orange2: "#ff790d",
+
orange3: "#ff9b55",
+
white: "#fff",
+
pink1: "#d462a6",
+
pink2: "#ef5496",
+
pink3: "#a50062"
+
}
+
}
+
}
},
},
}),
+6
src/_components/about/technology_item.vto
···
···
+
<li>
+
<strong class="mr-1">{{ tech.type }}</strong> –
+
<a class="ml-1 text-blue underline" href="{{tech.link}}">
+
{{ tech.name }}
+
</a>
+
</li>
+19
src/_components/flag_text.vto
···
···
+
{{ if flag == "trans" }}
+
<p class="trans-flag -space-x-1 inline">
+
<span class="text-trans-blue">t</span>
+
<span class="text-trans-pink">r</span>
+
<span class="text-white">a</span>
+
<span class="text-trans-pink">n</span>
+
<span class="text-trans-blue">s</span>
+
</p>
+
{{ else if flag == "lesbian" }}
+
<p class="lesbian-flag -space-x-1 inline">
+
<span class="text-lesbian-orange1">l</span>
+
<span class="text-lesbian-orange2">e</span>
+
<span class="text-lesbian-orange3">s</span>
+
<span class="text-white">b</span>
+
<span class="text-lesbian-pink1">i</span>
+
<span class="text-lesbian-pink2">a</span>
+
<span class="text-lesbian-pink3">n</span>
+
</p>
+
{{ /if }}
+19
src/_data/about.toml
···
···
+
[[techs]]
+
type = "Static Site Generator"
+
name = "Lume"
+
link = "https://lume.land"
+
+
[[techs]]
+
type = "Color Scheme"
+
name = "Catppuccin Mocha"
+
link = "https://catppuccin.com"
+
+
[[techs]]
+
type = "Font"
+
name = "Inter"
+
link = "https://rsms.me/inter/"
+
+
[[techs]]
+
type = "Font"
+
name = "IBM Plex Serif"
+
link = "https://www.ibm.com/plex/"
+4 -1
src/_data/metas.toml
···
site = "dish's space"
lang = "en-US"
generator = true
-
color = [ "light", "dark"]
···
site = "dish's space"
lang = "en-US"
generator = true
+
color = ["light", "dark"]
+
title = "=title"
+
description = "=summary"
+
keywords = "=tags"
+1 -1
src/_includes/components/footer.vto
···
{{ comp.logo() }}
<div class="mt-2">
<p class="text-overlay2 text-lg">Social</p>
-
<ul class="list-none text-4xl text-subtext1">
{{ for link of author.links }}
<li class="inline-block">
<a
···
{{ comp.logo() }}
<div class="mt-2">
<p class="text-overlay2 text-lg">Social</p>
+
<ul class="list-none text-4xl text-subtext1 space-x-3">
{{ for link of author.links }}
<li class="inline-block">
<a
+1 -1
src/_includes/components/head.vto
···
<link rel="stylesheet" href="/static/icons/bsi.min.css" />
<link rel="stylesheet" href="/static/icons/si.min.css" />
{{# Page Metadata #}}
-
<link rel="canonical" href="{{ url }}" />
<title>{{ title }}</title>
···
<link rel="stylesheet" href="/static/icons/bsi.min.css" />
<link rel="stylesheet" href="/static/icons/si.min.css" />
{{# Page Metadata #}}
+
<link rel="canonical" href="{{ url |> url(true) }}" />
<title>{{ title }}</title>
+11 -10
src/_includes/layouts/about.vto
···
{{ layout "layouts/base.vto" }}
<main class="min-h-screen text-text justify-self-center w-full lg:w-1/2 h-card">
-
<h1 class="mt-8 text-5xl text-bold text-mauve">
About
<div class="p-name p-nickname inline">
dish
</div>
</h1>
-
<h2 class="text-2xl mt-4">
-
<div class="inline p-job-title">Student</div>, Sysadmin, and UX Crafter
-
</h2>
-
<p class="text-lg mt-2">
-
Howdy! I play with computers, with an emphasis on accessible, secure, and enjoyable
-
experiences.
-
</p>
-
<h3 class="text-mauve text-2xl">About This Blog</h3>
-
<p class="text-"></p>
</main>
{{ /layout }}
···
{{ layout "layouts/base.vto" }}
<main class="min-h-screen text-text justify-self-center w-full lg:w-1/2 h-card">
+
<h1 class="my-8 text-5xl text-bold text-mauve">
About
<div class="p-name p-nickname inline">
dish
</div>
</h1>
+
<div class="text-lg">
+
{{ content }}
+
</div>
+
<h2 class="mt-8 text-mauve text-2xl">About This Site</h2>
+
<p class="text-text text-lg">I've used the following to build this site:</p>
+
<ul>
+
{{ for tech of about.techs }}
+
{{ comp.about.technology_item({"tech": tech}) }}
+
{{ /for }}
+
</ul>
</main>
{{ /layout }}
+29
src/about.md
···
···
+
---
+
title: About dish
+
summary: "Who is dish? Find out here."
+
layout: layouts/about.vto
+
templateEngine: [vto, md]
+
---
+
+
Hello, I'm dish.
+
+
My main focuses are cybersecurity, system administration, and user experience.
+
+
I enjoy building things from scratch, tinkering, and try to deeply understand the tools I work with.
+
+
<br>
+
+
Currently, I'm a student at a university in the United States, working towards a Bachelor's Degree in Cybersecurity.
+
+
However, my personal interests lie slightly closer to networking and system administration rather than pure cybersecurity.
+
+
<br>
+
I've run my own homelab and servers for years(in fact, this website is hosted on one of them!), and they've been a very enjoyable experience to maintain.
+
+
<br>
+
In my personal life, I'm a {{ comp.flag_text({flag:"trans"}) }} woman, and I spend lots of time advocating for trans rights in the spaces I'm in.
+
I feel very strongly that trans rights are human rights, and do my best to uplift all voices, though I am not perfect.
+
+
<br>
+
<br>
+
Find more about my projects on the Projects page, or read my blog(both linked in the header!), as I've put a lot of time into my projects and that blog.
-5
src/about.vto
···
-
---
-
title: about dish
-
summary: "Who is dish? Find out here."
-
layout: layouts/about.vto
-
---
···
+1 -1
src/blog/index.vto src/blog/index.md
···
---
-
title: Blog Posts
summary: "dish's blog posts"
layout: layouts/blog-list.vto
category: "index"
···
---
+
title: blog
summary: "dish's blog posts"
layout: layouts/blog-list.vto
category: "index"
src/index.vto src/index.md
src/projects.vto src/projects.md