reorganize assets and convert js dates

This commit is contained in:
haetae 2025-02-12 04:09:20 -05:00
parent e82590323d
commit c3cfbccfe9
20 changed files with 5288 additions and 23 deletions

5262
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -23,4 +23,4 @@
"@types/node": "^22.10.7",
"@types/sanitize-html": "^2.13.0"
}
}
}

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" width="115" height="48"><path fill="#17191E" d="M7.77 36.35C6.4 35.11 6 32.51 6.57 30.62c.99 1.2 2.35 1.57 3.75 1.78 2.18.33 4.31.2 6.33-.78.23-.12.44-.27.7-.42.18.55.23 1.1.17 1.67a4.56 4.56 0 0 1-1.94 3.23c-.43.32-.9.61-1.34.91-1.38.94-1.76 2.03-1.24 3.62l.05.17a3.63 3.63 0 0 1-1.6-1.38 3.87 3.87 0 0 1-.63-2.1c0-.37 0-.74-.05-1.1-.13-.9-.55-1.3-1.33-1.32a1.56 1.56 0 0 0-1.63 1.26c0 .06-.03.12-.05.2Z"/><path fill="url(#a)" d="M7.77 36.35C6.4 35.11 6 32.51 6.57 30.62c.99 1.2 2.35 1.57 3.75 1.78 2.18.33 4.31.2 6.33-.78.23-.12.44-.27.7-.42.18.55.23 1.1.17 1.67a4.56 4.56 0 0 1-1.94 3.23c-.43.32-.9.61-1.34.91-1.38.94-1.76 2.03-1.24 3.62l.05.17a3.63 3.63 0 0 1-1.6-1.38 3.87 3.87 0 0 1-.63-2.1c0-.37 0-.74-.05-1.1-.13-.9-.55-1.3-1.33-1.32a1.56 1.56 0 0 0-1.63 1.26c0 .06-.03.12-.05.2Z"/><path fill="#17191E" d="M.02 30.31s4.02-1.95 8.05-1.95l3.04-9.4c.11-.45.44-.76.82-.76.37 0 .7.31.82.76l3.04 9.4c4.77 0 8.05 1.95 8.05 1.95L17 11.71c-.2-.56-.53-.91-.98-.91H7.83c-.44 0-.76.35-.97.9L.02 30.31Zm42.37-5.97c0 1.64-2.05 2.62-4.88 2.62-1.85 0-2.5-.45-2.5-1.41 0-1 .8-1.49 2.65-1.49 1.67 0 3.09.03 4.73.23v.05Zm.03-2.04a21.37 21.37 0 0 0-4.37-.36c-5.32 0-7.82 1.25-7.82 4.18 0 3.04 1.71 4.2 5.68 4.2 3.35 0 5.63-.84 6.46-2.92h.14c-.03.5-.05 1-.05 1.4 0 1.07.18 1.16 1.06 1.16h4.15a16.9 16.9 0 0 1-.36-4c0-1.67.06-2.93.06-4.62 0-3.45-2.07-5.64-8.56-5.64-2.8 0-5.9.48-8.26 1.19.22.93.54 2.83.7 4.06 2.04-.96 4.95-1.37 7.2-1.37 3.11 0 3.97.71 3.97 2.15v.57Zm11.37 3c-.56.07-1.33.07-2.12.07-.83 0-1.6-.03-2.12-.1l-.02.58c0 2.85 1.87 4.52 8.45 4.52 6.2 0 8.2-1.64 8.2-4.55 0-2.74-1.33-4.09-7.2-4.39-4.58-.2-4.99-.7-4.99-1.28 0-.66.59-1 3.65-1 3.18 0 4.03.43 4.03 1.35v.2a46.13 46.13 0 0 1 4.24.03l.02-.55c0-3.36-2.8-4.46-8.2-4.46-6.08 0-8.13 1.49-8.13 4.39 0 2.6 1.64 4.23 7.48 4.48 4.3.14 4.77.62 4.77 1.28 0 .7-.7 1.03-3.71 1.03-3.47 0-4.35-.48-4.35-1.47v-.13Zm19.82-12.05a17.5 17.5 0 0 1-6.24 3.48c.03.84.03 2.4.03 3.24l1.5.02c-.02 1.63-.04 3.6-.04 4.9 0 3.04 1.6 5.32 6.58 5.32 2.1 0 3.5-.23 5.23-.6a43.77 43.77 0 0 1-.46-4.13c-1.03.34-2.34.53-3.78.53-2 0-2.82-.55-2.82-2.13 0-1.37 0-2.65.03-3.84 2.57.02 5.13.07 6.64.11-.02-1.18.03-2.9.1-4.04-2.2.04-4.65.07-6.68.07l.07-2.93h-.16Zm13.46 6.04a767.33 767.33 0 0 1 .07-3.18H82.6c.07 1.96.07 3.98.07 6.92 0 2.95-.03 4.99-.07 6.93h5.18c-.09-1.37-.11-3.68-.11-5.65 0-3.1 1.26-4 4.12-4 1.33 0 2.28.16 3.1.46.03-1.16.26-3.43.4-4.43-.86-.25-1.81-.41-2.96-.41-2.46-.03-4.26.98-5.1 3.38l-.17-.02Zm22.55 3.65c0 2.5-1.8 3.66-4.64 3.66-2.81 0-4.61-1.1-4.61-3.66s1.82-3.52 4.61-3.52c2.82 0 4.64 1.03 4.64 3.52Zm4.71-.11c0-4.96-3.87-7.18-9.35-7.18-5.5 0-9.23 2.22-9.23 7.18 0 4.94 3.49 7.59 9.21 7.59 5.77 0 9.37-2.65 9.37-7.6Z"/><defs><linearGradient id="a" x1="6.33" x2="19.43" y1="40.8" y2="34.6" gradientUnits="userSpaceOnUse"><stop stop-color="#D83333"/><stop offset="1" stop-color="#F041FF"/></linearGradient></defs></svg>

Before

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1440" height="1024" fill="none"><path fill="url(#a)" fill-rule="evenodd" d="M-217.58 475.75c91.82-72.02 225.52-29.38 341.2-44.74C240 415.56 372.33 315.14 466.77 384.9c102.9 76.02 44.74 246.76 90.31 366.31 29.83 78.24 90.48 136.14 129.48 210.23 57.92 109.99 169.67 208.23 155.9 331.77-13.52 121.26-103.42 264.33-224.23 281.37-141.96 20.03-232.72-220.96-374.06-196.99-151.7 25.73-172.68 330.24-325.85 315.72-128.6-12.2-110.9-230.73-128.15-358.76-12.16-90.14 65.87-176.25 44.1-264.57-26.42-107.2-167.12-163.46-176.72-273.45-10.15-116.29 33.01-248.75 124.87-320.79Z" clip-rule="evenodd" style="opacity:.154"/><path fill="url(#b)" fill-rule="evenodd" d="M1103.43 115.43c146.42-19.45 275.33-155.84 413.5-103.59 188.09 71.13 409 212.64 407.06 413.88-1.94 201.25-259.28 278.6-414.96 405.96-130 106.35-240.24 294.39-405.6 265.3-163.7-28.8-161.93-274.12-284.34-386.66-134.95-124.06-436-101.46-445.82-284.6-9.68-180.38 247.41-246.3 413.54-316.9 101.01-42.93 207.83 21.06 316.62 6.61Z" clip-rule="evenodd" style="opacity:.154"/><defs><linearGradient id="b" x1="373" x2="1995.44" y1="1100" y2="118.03" gradientUnits="userSpaceOnUse"><stop stop-color="#D83333"/><stop offset="1" stop-color="#F041FF"/></linearGradient><linearGradient id="a" x1="107.37" x2="1130.66" y1="1993.35" y2="1026.31" gradientUnits="userSpaceOnUse"><stop stop-color="#3245FF"/><stop offset="1" stop-color="#BC52EE"/></linearGradient></defs></svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 411 B

After

Width:  |  Height:  |  Size: 411 B

View File

Before

Width:  |  Height:  |  Size: 689 B

After

Width:  |  Height:  |  Size: 689 B

View File

Before

Width:  |  Height:  |  Size: 169 B

After

Width:  |  Height:  |  Size: 169 B

View File

Before

Width:  |  Height:  |  Size: 731 B

After

Width:  |  Height:  |  Size: 731 B

View File

Before

Width:  |  Height:  |  Size: 699 B

After

Width:  |  Height:  |  Size: 699 B

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 302 B

After

Width:  |  Height:  |  Size: 302 B

View File

@ -1,10 +1,11 @@
---
import type { MarkdownLayoutProps } from "astro";
import Layout from "./Layout.astro";
import Navbar from "@/components/Navbar.astro";
import Figure from "@/components/Figure.astro";
import Layout from "./Layout.astro";
import border from "@/assets/images/border.png";
import frame from "@/assets/images/frame.png";
import border from "@/assets/border.png";
import frame from "@/assets/frame.png";
type Props = MarkdownLayoutProps<{
avatar?: string;

View File

@ -7,9 +7,9 @@ import Layout from "./Layout.astro";
import Navbar from "@/components/Navbar.astro";
import moods from "@/utils/moods";
import outerBBS from "@/assets/images/guild-bbs.png";
import innerBBS from "@/assets/images/guild-bbs-content.png";
import sideBBS from "@/assets/images/guild-bbs-list.png";
import outerBBS from "@/assets/guild-bbs.png";
import innerBBS from "@/assets/guild-bbs-content.png";
import sideBBS from "@/assets/guild-bbs-list.png";
interface Props {
title: string;
@ -23,11 +23,12 @@ interface Props {
}
}
dayjs.extend(utc);
const { title, date, currently } = Astro.props;
const blog = await getCollection("blog");
blog.length = Math.min(blog.length, 5);
blog.sort((a, b) => a.data.pubDate!.valueOf() - b.data.pubDate!.valueOf());
const { title, date, currently } = Astro.props;
dayjs.extend(utc);
---
<Layout {title}>
<Navbar />

View File

@ -1,7 +1,7 @@
---
title: about me
layout: ../layouts/About.astro
avatar: /src/assets/images/portrait-0025.png
avatar: /src/assets/portrait-0025.png
avatarText: pikachu from pokemon mystery dungeon
---
# hello!

View File

@ -1,15 +1,18 @@
---
import Layout from "@/layouts/Layout.astro";
import { getCollection } from "astro:content";
import dayjs from "dayjs";
import utc from "dayjs/plugin/utc";
const blog = await getCollection("blog");
const sorted = Object.groupBy(blog, ({ data }) => data.pubDate!.getMonth());
dayjs.extend(utc);
const getMonth = (id: number) => {
let date = new Date();
date.setDate(1);
date.setMonth(id);
return date.toLocaleString(undefined, { month: "long" });
return dayjs(date).format("MMMM");
}
---
<Layout>
@ -22,8 +25,8 @@ const getMonth = (id: number) => {
<ul>
{entry[1]?.sort((a, b) => a.data.pubDate!.valueOf() - b.data.pubDate!.valueOf()).map(post => (
<li>
<time datetime={post.data.pubDate?.toISOString()}>
{post.data.pubDate?.toLocaleDateString(undefined, { dateStyle: "long" })}
<time datetime={dayjs(post.data.pubDate).utc(true).toISOString()}>
{dayjs(post.data.pubDate).utc(true).format("MMMM DD, YYYY")}
</time>
<a href={`/blog/${post.id}`}>{post.data.title}</a>
</li>

View File

@ -6,8 +6,6 @@ import { Breadcrumbs } from "astro-breadcrumbs";
import dayjs from "dayjs";
import utc from "dayjs/plugin/utc";
dayjs.extend(utc);
export const getStaticPaths = (async () => {
const chapters = await getCollection("chapters");
return chapters.map(chapter => ({
@ -23,6 +21,7 @@ const { ficId, chapterId } = Astro.params;
const { chapter } = Astro.props;
const { Content, remarkPluginFrontmatter } = await render(chapter);
dayjs.extend(utc);
const chapters = await getCollection("chapters", ({ id }) => {
return id.split("/")[0] === ficId;
});

View File

@ -1,11 +1,14 @@
---
import Layout from "@/layouts/Layout.astro";
import { getCollection } from "astro:content";
import dayjs from "dayjs";
import utc from "dayjs/plugin/utc";
const fics = await getCollection("fics");
const chapters = await getCollection("chapters");
chapters.length = Math.min(chapters.length, 5);
chapters.sort((a, b) => a.data.publishedAt.valueOf() - b.data.publishedAt.valueOf());
dayjs.extend(utc);
---
<Layout>
<h1>fanfics</h1>
@ -14,8 +17,8 @@ chapters.sort((a, b) => a.data.publishedAt.valueOf() - b.data.publishedAt.valueO
<ul>
{chapters.map(post => (
<li>
<time datetime={post.data.publishedAt.toISOString()}>
{post.data.publishedAt.toLocaleDateString(undefined, { dateStyle: "medium" })}
<time datetime={dayjs(post.data.publishedAt).utc(true).toISOString()}>
{dayjs(post.data.publishedAt).utc(true).format("MMMM DD, YYYY")}
</time>
<a href={`/fics/${post.id}`}>{post.data.title}</a> in
<a href={`/fics/${post.id.split("/")[0]}`}>

View File

@ -1,7 +1,7 @@
---
import Layout from "@/layouts/Layout.astro";
---
<Layout>
<Layout title="haetae, gallery">
<main>
<h1>gallery</h1>
import images here

View File

@ -14,8 +14,7 @@ const errors = isInputError(result?.error) ? result.error.fields : {};
const entries = await db.select().from(table);
entries.sort((a, b) => b.date.valueOf() - a.date.valueOf());
---
<Layout>
<Layout title="haetae, guestbook">
<ThemeSwitch />
<main>
<h1>Guestbook</h1>

View File

@ -2,7 +2,6 @@
import Navbar from '~/Navbar.astro';
import Layout from '@/layouts/Layout.astro';
---
<Layout>
<Navbar />
<main>