apply formatting rules

This commit is contained in:
2025-11-05 09:45:08 -05:00
parent a1ea385448
commit 6b86b0adb2
24 changed files with 679 additions and 5080 deletions
+5 -1
View File
@@ -20,7 +20,11 @@
"type": "string"
}
},
"required": ["title", "pubDate", "tags"],
"required": [
"title",
"pubDate",
"tags"
],
"additionalProperties": false
}
},
+8 -35
View File
@@ -1,37 +1,10 @@
import __ASTRO_IMAGE_IMPORT_1OkzEl from "src/assets/blog/gunpla/all-the-parts.jpg?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2023%2Fmy-gunpla-adventure.md";
import __ASTRO_IMAGE_IMPORT_Zi2DqH from "src/assets/blog/gunpla/box.jpg?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2023%2Fmy-gunpla-adventure.md";
import __ASTRO_IMAGE_IMPORT_FYQiW from "src/assets/blog/gunpla/final.jpg?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2023%2Fmy-gunpla-adventure.md";
import __ASTRO_IMAGE_IMPORT_rrnp from "src/assets/blog/ileopard/ileopard-2-0-1.png?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2022%2Fileopard-a-retrospective.md";
import __ASTRO_IMAGE_IMPORT_Z1ESWoO from "src/assets/blog/ileopard/itunes-7.gif?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2022%2Fileopard-a-retrospective.md";
import __ASTRO_IMAGE_IMPORT_1G57ng from "src/assets/blog/ileopard/mac-os-10-1.png?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2022%2Fileopard-a-retrospective.md";
import __ASTRO_IMAGE_IMPORT_Z1ESWoO from "src/assets/blog/ileopard/itunes-7.gif?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2022%2Fileopard-a-retrospective.md";
import __ASTRO_IMAGE_IMPORT_rrnp from "src/assets/blog/ileopard/ileopard-2-0-1.png?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2022%2Fileopard-a-retrospective.md";
import __ASTRO_IMAGE_IMPORT_3KcDr from "src/assets/blog/my-ai-portrait.jpg?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2022%2Fcreating-a-dating-profile-with-ai.md";
export default new Map([
[
"src/assets/blog/my-ai-portrait.jpg?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2022%2Fcreating-a-dating-profile-with-ai.md",
__ASTRO_IMAGE_IMPORT_3KcDr,
],
[
"src/assets/blog/ileopard/mac-os-10-1.png?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2022%2Fileopard-a-retrospective.md",
__ASTRO_IMAGE_IMPORT_1G57ng,
],
[
"src/assets/blog/ileopard/itunes-7.gif?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2022%2Fileopard-a-retrospective.md",
__ASTRO_IMAGE_IMPORT_Z1ESWoO,
],
[
"src/assets/blog/ileopard/ileopard-2-0-1.png?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2022%2Fileopard-a-retrospective.md",
__ASTRO_IMAGE_IMPORT_rrnp,
],
[
"src/assets/blog/gunpla/box.jpg?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2023%2Fmy-gunpla-adventure.md",
__ASTRO_IMAGE_IMPORT_Zi2DqH,
],
[
"src/assets/blog/gunpla/all-the-parts.jpg?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2023%2Fmy-gunpla-adventure.md",
__ASTRO_IMAGE_IMPORT_1OkzEl,
],
[
"src/assets/blog/gunpla/final.jpg?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2023%2Fmy-gunpla-adventure.md",
__ASTRO_IMAGE_IMPORT_FYQiW,
],
]);
import __ASTRO_IMAGE_IMPORT_Zi2DqH from "src/assets/blog/gunpla/box.jpg?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2023%2Fmy-gunpla-adventure.md";
import __ASTRO_IMAGE_IMPORT_1OkzEl from "src/assets/blog/gunpla/all-the-parts.jpg?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2023%2Fmy-gunpla-adventure.md";
import __ASTRO_IMAGE_IMPORT_FYQiW from "src/assets/blog/gunpla/final.jpg?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2023%2Fmy-gunpla-adventure.md";
export default new Map([["src/assets/blog/ileopard/mac-os-10-1.png?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2022%2Fileopard-a-retrospective.md", __ASTRO_IMAGE_IMPORT_1G57ng], ["src/assets/blog/ileopard/itunes-7.gif?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2022%2Fileopard-a-retrospective.md", __ASTRO_IMAGE_IMPORT_Z1ESWoO], ["src/assets/blog/ileopard/ileopard-2-0-1.png?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2022%2Fileopard-a-retrospective.md", __ASTRO_IMAGE_IMPORT_rrnp], ["src/assets/blog/my-ai-portrait.jpg?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2022%2Fcreating-a-dating-profile-with-ai.md", __ASTRO_IMAGE_IMPORT_3KcDr], ["src/assets/blog/gunpla/box.jpg?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2023%2Fmy-gunpla-adventure.md", __ASTRO_IMAGE_IMPORT_Zi2DqH], ["src/assets/blog/gunpla/all-the-parts.jpg?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2023%2Fmy-gunpla-adventure.md", __ASTRO_IMAGE_IMPORT_1OkzEl], ["src/assets/blog/gunpla/final.jpg?astroContentImageFlag=&importer=src%2Fcontent%2Fblog%2F2023%2Fmy-gunpla-adventure.md", __ASTRO_IMAGE_IMPORT_FYQiW]]);
+51 -85
View File
@@ -1,22 +1,22 @@
declare module "astro:content" {
declare module 'astro:content' {
interface Render {
".mdx": Promise<{
Content: import("astro").MarkdownInstance<{}>["Content"];
headings: import("astro").MarkdownHeading[];
'.mdx': Promise<{
Content: import('astro').MarkdownInstance<{}>['Content'];
headings: import('astro').MarkdownHeading[];
remarkPluginFrontmatter: Record<string, any>;
components: import("astro").MDXInstance<{}>["components"];
components: import('astro').MDXInstance<{}>['components'];
}>;
}
}
declare module "astro:content" {
declare module 'astro:content' {
export interface RenderResult {
Content: import("astro/runtime/server/index.js").AstroComponentFactory;
headings: import("astro").MarkdownHeading[];
Content: import('astro/runtime/server/index.js').AstroComponentFactory;
headings: import('astro').MarkdownHeading[];
remarkPluginFrontmatter: Record<string, any>;
}
interface Render {
".md": Promise<RenderResult>;
'.md': Promise<RenderResult>;
}
export interface RenderedContent {
@@ -28,13 +28,11 @@ declare module "astro:content" {
}
}
declare module "astro:content" {
declare module 'astro:content' {
type Flatten<T> = T extends { [K: string]: infer U } ? U : never;
export type CollectionKey = keyof AnyEntryMap;
export type CollectionEntry<C extends CollectionKey> = Flatten<
AnyEntryMap[C]
>;
export type CollectionEntry<C extends CollectionKey> = Flatten<AnyEntryMap[C]>;
export type ContentCollectionKey = keyof ContentEntryMap;
export type DataCollectionKey = keyof DataEntryMap;
@@ -42,7 +40,7 @@ declare module "astro:content" {
type AllValuesOf<T> = T extends any ? T[keyof T] : never;
type ValidContentEntrySlug<C extends keyof ContentEntryMap> = AllValuesOf<
ContentEntryMap[C]
>["slug"];
>['slug'];
export type ReferenceDataEntry<
C extends CollectionKey,
@@ -58,9 +56,7 @@ declare module "astro:content" {
collection: C;
slug: E;
};
export type ReferenceLiveEntry<
C extends keyof LiveContentConfig["collections"],
> = {
export type ReferenceLiveEntry<C extends keyof LiveContentConfig['collections']> = {
collection: C;
id: string;
};
@@ -78,15 +74,12 @@ declare module "astro:content" {
: Promise<CollectionEntry<C> | undefined>;
/** @deprecated Use `getEntry` instead. */
export function getDataEntryById<
C extends keyof DataEntryMap,
E extends keyof DataEntryMap[C],
>(collection: C, entryId: E): Promise<CollectionEntry<C>>;
export function getDataEntryById<C extends keyof DataEntryMap, E extends keyof DataEntryMap[C]>(
collection: C,
entryId: E,
): Promise<CollectionEntry<C>>;
export function getCollection<
C extends keyof AnyEntryMap,
E extends CollectionEntry<C>,
>(
export function getCollection<C extends keyof AnyEntryMap, E extends CollectionEntry<C>>(
collection: C,
filter?: (entry: CollectionEntry<C>) => entry is E,
): Promise<E[]>;
@@ -95,16 +88,11 @@ declare module "astro:content" {
filter?: (entry: CollectionEntry<C>) => unknown,
): Promise<CollectionEntry<C>[]>;
export function getLiveCollection<
C extends keyof LiveContentConfig["collections"],
>(
export function getLiveCollection<C extends keyof LiveContentConfig['collections']>(
collection: C,
filter?: LiveLoaderCollectionFilterType<C>,
): Promise<
import("astro").LiveDataCollectionResult<
LiveLoaderDataType<C>,
LiveLoaderErrorType<C>
>
import('astro').LiveDataCollectionResult<LiveLoaderDataType<C>, LiveLoaderErrorType<C>>
>;
export function getEntry<
@@ -143,17 +131,10 @@ declare module "astro:content" {
? Promise<DataEntryMap[C][E]> | undefined
: Promise<DataEntryMap[C][E]>
: Promise<CollectionEntry<C> | undefined>;
export function getLiveEntry<
C extends keyof LiveContentConfig["collections"],
>(
export function getLiveEntry<C extends keyof LiveContentConfig['collections']>(
collection: C,
filter: string | LiveLoaderEntryFilterType<C>,
): Promise<
import("astro").LiveDataEntryResult<
LiveLoaderDataType<C>,
LiveLoaderErrorType<C>
>
>;
): Promise<import('astro').LiveDataEntryResult<LiveLoaderDataType<C>, LiveLoaderErrorType<C>>>;
/** Resolve an array of entry references from the same collection */
export function getEntries<C extends keyof ContentEntryMap>(
@@ -169,8 +150,8 @@ declare module "astro:content" {
export function reference<C extends keyof AnyEntryMap>(
collection: C,
): import("astro/zod").ZodEffects<
import("astro/zod").ZodString,
): import('astro/zod').ZodEffects<
import('astro/zod').ZodString,
C extends keyof ContentEntryMap
? ReferenceContentEntry<C, ValidContentEntrySlug<C>>
: ReferenceDataEntry<C, keyof DataEntryMap[C]>
@@ -180,72 +161,57 @@ declare module "astro:content" {
// Invalid collection names will be caught at build time.
export function reference<C extends string>(
collection: C,
): import("astro/zod").ZodEffects<import("astro/zod").ZodString, never>;
): import('astro/zod').ZodEffects<import('astro/zod').ZodString, never>;
type ReturnTypeOrOriginal<T> = T extends (...args: any[]) => infer R ? R : T;
type InferEntrySchema<C extends keyof AnyEntryMap> =
import("astro/zod").infer<
ReturnTypeOrOriginal<Required<ContentConfig["collections"][C]>["schema"]>
type InferEntrySchema<C extends keyof AnyEntryMap> = import('astro/zod').infer<
ReturnTypeOrOriginal<Required<ContentConfig['collections'][C]>['schema']>
>;
type ContentEntryMap = {};
type ContentEntryMap = {
};
type DataEntryMap = {
blog: Record<
string,
{
"blog": Record<string, {
id: string;
body?: string;
collection: "blog";
data: InferEntrySchema<"blog">;
rendered?: RenderedContent;
filePath?: string;
}
>;
}>;
};
type AnyEntryMap = ContentEntryMap & DataEntryMap;
type ExtractLoaderTypes<T> = T extends import("astro/loaders").LiveLoader<
type ExtractLoaderTypes<T> = T extends import('astro/loaders').LiveLoader<
infer TData,
infer TEntryFilter,
infer TCollectionFilter,
infer TError
>
? {
data: TData;
entryFilter: TEntryFilter;
collectionFilter: TCollectionFilter;
error: TError;
}
: {
data: never;
entryFilter: never;
collectionFilter: never;
error: never;
};
type ExtractDataType<T> = ExtractLoaderTypes<T>["data"];
type ExtractEntryFilterType<T> = ExtractLoaderTypes<T>["entryFilter"];
type ExtractCollectionFilterType<T> =
ExtractLoaderTypes<T>["collectionFilter"];
type ExtractErrorType<T> = ExtractLoaderTypes<T>["error"];
? { data: TData; entryFilter: TEntryFilter; collectionFilter: TCollectionFilter; error: TError }
: { data: never; entryFilter: never; collectionFilter: never; error: never };
type ExtractDataType<T> = ExtractLoaderTypes<T>['data'];
type ExtractEntryFilterType<T> = ExtractLoaderTypes<T>['entryFilter'];
type ExtractCollectionFilterType<T> = ExtractLoaderTypes<T>['collectionFilter'];
type ExtractErrorType<T> = ExtractLoaderTypes<T>['error'];
type LiveLoaderDataType<C extends keyof LiveContentConfig["collections"]> =
LiveContentConfig["collections"][C]["schema"] extends undefined
? ExtractDataType<LiveContentConfig["collections"][C]["loader"]>
: import("astro/zod").infer<
Exclude<LiveContentConfig["collections"][C]["schema"], undefined>
type LiveLoaderDataType<C extends keyof LiveContentConfig['collections']> =
LiveContentConfig['collections'][C]['schema'] extends undefined
? ExtractDataType<LiveContentConfig['collections'][C]['loader']>
: import('astro/zod').infer<
Exclude<LiveContentConfig['collections'][C]['schema'], undefined>
>;
type LiveLoaderEntryFilterType<
C extends keyof LiveContentConfig["collections"],
> = ExtractEntryFilterType<LiveContentConfig["collections"][C]["loader"]>;
type LiveLoaderCollectionFilterType<
C extends keyof LiveContentConfig["collections"],
> = ExtractCollectionFilterType<
LiveContentConfig["collections"][C]["loader"]
type LiveLoaderEntryFilterType<C extends keyof LiveContentConfig['collections']> =
ExtractEntryFilterType<LiveContentConfig['collections'][C]['loader']>;
type LiveLoaderCollectionFilterType<C extends keyof LiveContentConfig['collections']> =
ExtractCollectionFilterType<LiveContentConfig['collections'][C]['loader']>;
type LiveLoaderErrorType<C extends keyof LiveContentConfig['collections']> = ExtractErrorType<
LiveContentConfig['collections'][C]['loader']
>;
type LiveLoaderErrorType<C extends keyof LiveContentConfig["collections"]> =
ExtractErrorType<LiveContentConfig["collections"][C]["loader"]>;
export type ContentConfig = typeof import("../src/content.config.js");
export type LiveContentConfig = never;
+1 -2087
View File
File diff suppressed because one or more lines are too long
-1
View File
@@ -1,5 +1,4 @@
---
import { Image } from "astro:assets";
import portrait from "../assets/portrait.jpg";
+1 -2
View File
@@ -1,5 +1,4 @@
---
import { add, format } from "date-fns";
import CalendarIcon from "../assets/svg/calendar.svg";
@@ -17,7 +16,7 @@ const { title, date, slug } = Astro.props;
{slug ? <a href={`/blog/${slug}`}>{title}</a> : <h1>{title}</h1>}
<div>
<CalendarIcon class="calendar-icon" width={24} height={24} />
<strong>{format(add(new Date(date), { hours: 6 }), 'MMM do, y')}</strong>
<strong>{format(add(new Date(date), { hours: 6 }), "MMM do, y")}</strong>
</div>
</div>
+1 -2
View File
@@ -1,5 +1,4 @@
---
interface Props {
title?: string;
image?: ImageMetadata;
@@ -23,7 +22,7 @@ const { title, image, links } = Astro.props;
links.map((link) => (
<a
href={link.href}
target={link.newWindow ? '_blank' : '_self'}
target={link.newWindow ? "_blank" : "_self"}
rel="noopener noreferrer"
>
{link.label}
-1
View File
@@ -1,5 +1,4 @@
---
import MastodonIcon from "../assets/svg/mastodon.svg";
import RssIcon from "../assets/svg/rss.svg";
-1
View File
@@ -1,5 +1,4 @@
---
import BarsIcon from "../../assets/svg/bars.svg";
import CloseIcon from "../../assets/svg/xmark.svg";
-1
View File
@@ -1,5 +1,4 @@
---
import Drawer from "./Drawer.astro";
import Nav from "./Nav.astro";
---
+3 -4
View File
@@ -1,10 +1,9 @@
---
import { navLinks } from '../../data/nav-links';
import { navLinks } from "../../data/nav-links";
const { pathname } = Astro.url;
const pathComponents = pathname.split('/').slice(1);
const pathComponents = pathname.split("/").slice(1);
---
<nav>
@@ -13,7 +12,7 @@ const pathComponents = pathname.split('/').slice(1);
<li>
<a
href={`/${link.path}`}
class={pathComponents[0] === link.path ? 'selected' : null}
class={pathComponents[0] === link.path ? "selected" : null}
>
{link.label}
</a>
-1
View File
@@ -1,5 +1,4 @@
---
import type { CollectionEntry } from "astro:content";
import BlogHeader from "@components/BlogHeader.astro";
import Tags from "@components/Tags.astro";
+1 -2
View File
@@ -1,5 +1,4 @@
---
interface Props {
tags: string[];
}
@@ -14,7 +13,7 @@ const { tags } = Astro.props;
<a class="tag" href={`/blog/tag/${tag}`}>
{tag}
</a>
{index < tags.length - 1 ? ' | ' : ''}
{index < tags.length - 1 ? " | " : ""}
</>
))
}
-2241
View File
File diff suppressed because it is too large Load Diff
-1
View File
@@ -1,5 +1,4 @@
---
import { ClientRouter } from "astro:transitions";
import "../global.css";
-1
View File
@@ -1,5 +1,4 @@
---
import { Image } from "astro:assets";
import Layout from "@layouts/Layout.astro";
-2
View File
@@ -1,5 +1,4 @@
---
import { getCollection, render } from "astro:content";
import BlogHeader from "@components/BlogHeader.astro";
import Tags from "@components/Tags.astro";
@@ -21,7 +20,6 @@ const { Content } = await render(post);
---
<Layout title={data.title}>
<h1></h1>
<article>
<BlogHeader title={data.title} date={data.pubDate} />
<Content />
+7 -8
View File
@@ -1,24 +1,23 @@
---
import { type CollectionEntry, getCollection } from "astro:content";
import PostPreview from "@components/PostPreview.astro";
import { type CollectionEntry, getCollection } from 'astro:content';
import PostPreview from '@components/PostPreview.astro';
import Layout from '@layouts/Layout.astro';
import type { Page } from 'astro';
import Layout from "@layouts/Layout.astro";
import type { Page } from "astro";
export async function getStaticPaths({ paginate }) {
const allPosts = await getCollection('blog');
const allPosts = await getCollection("blog");
allPosts.sort(
(a, b) =>
Date.parse(String(b.data.pubDate)) - Date.parse(String(a.data.pubDate))
Date.parse(String(b.data.pubDate)) - Date.parse(String(a.data.pubDate)),
);
return paginate(allPosts, { pageSize: 10 });
}
interface Props {
page: Page<CollectionEntry<'blog'>>;
page: Page<CollectionEntry<"blog">>;
}
const { page } = Astro.props;
+10 -11
View File
@@ -1,13 +1,12 @@
---
import { getCollection } from 'astro:content';
import Layout from '@layouts/Layout.astro';
import { add, format } from 'date-fns';
import { getCollection } from "astro:content";
import Layout from "@layouts/Layout.astro";
import { add, format } from "date-fns";
export async function getStaticPaths() {
const posts = await getCollection('blog');
const posts = await getCollection("blog");
const tags = ['all'];
const tags = ["all"];
posts.forEach((post) => {
post.data.tags.forEach((tag) => {
@@ -25,12 +24,12 @@ export async function getStaticPaths() {
const { tag }: { tag?: string } = Astro.params;
const posts = await getCollection('blog', ({ data }) => {
const posts = await getCollection("blog", ({ data }) => {
if (!tag) {
return false;
}
if (tag === 'all') {
if (tag === "all") {
return true;
}
@@ -38,12 +37,12 @@ const posts = await getCollection('blog', ({ data }) => {
});
if (posts.length === 0) {
return Astro.redirect('/404');
return Astro.redirect("/404");
}
posts.sort(
(a, b) =>
Date.parse(String(b.data.pubDate)) - Date.parse(String(a.data.pubDate))
Date.parse(String(b.data.pubDate)) - Date.parse(String(a.data.pubDate)),
);
---
@@ -57,7 +56,7 @@ posts.sort(
<span>
{format(
add(new Date(post.data.pubDate), { hours: 6 }),
'MMM do, y'
"MMM do, y",
)}
</span>
</li>
-1
View File
@@ -1,5 +1,4 @@
---
export const prerender = true;
import { getCollection } from "astro:content";
+1 -2
View File
@@ -1,5 +1,4 @@
---
import Card from "@components/Card.astro";
import { projects } from "@data/projects";
import Layout from "@layouts/Layout.astro";
@@ -17,7 +16,7 @@ const title = "Projects";
image={project.image}
links={[
{
label: 'More...',
label: "More...",
href: project.link,
newWindow: true,
},