Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions workspace/apex/src/lib/components/Piece.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@
import Afterword from './bits/Afterword.svelte';
import SeriesList from './bits/SeriesList.svelte';

import type { IntersectUnion, Overwrite, PartialOmit } from 'mauss/typings';
import type { PartialOmit } from 'mauss/typings';
import type { Items, SeriesTable } from '$content/builder';
import type { Article } from '$lib/prose';
import { hydrate } from 'aubade/browser';
import { date } from 'mauss';
import { navigating } from '$app/state';
import { phrase } from '$lib/prose';

type Base = Items['/curated' | '/posts' | '/reviews'][number];
type Article = Overwrite<IntersectUnion<Base>, { branches?: string[] }>;
interface Props {
source?: string;
post?: PartialOmit<Article, keyof Omit<Article, keyof Base>>;
Expand Down Expand Up @@ -167,7 +167,6 @@
margin: calc(var(--size-base) * 0.64) 0;
border-left: var(--rounding-base) solid var(--color-border);
font-size: var(--size-base);
font-style: italic;
color: var(--color-text-muted);

> :first-child {
Expand Down
5 changes: 1 addition & 4 deletions workspace/apex/src/lib/components/bits/Afterword.svelte
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
<script lang="ts">
import type { IntersectUnion, Overwrite } from 'mauss/typings';
import type { Items } from '$content/builder';
import type { Article } from '$lib/prose';
import { page } from '$app/state';
type Base = Items['/curated' | '/posts' | '/reviews'][number];
type Article = Overwrite<IntersectUnion<Base>, { branches?: string[] }>;

interface Props {
slug: string;
Expand Down
6 changes: 2 additions & 4 deletions workspace/apex/src/lib/components/bits/SeriesList.svelte
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
<script lang="ts">
import type { IntersectUnion, Overwrite } from 'mauss/typings';
import type { Items, SeriesTable } from '$content/builder';
import type { SeriesTable } from '$content/builder';
import type { Article } from '$lib/prose';
import { page } from '$app/state';
type Base = Items['/curated' | '/posts' | '/reviews'][number];
type Article = Overwrite<IntersectUnion<Base>, { branches?: string[] }>;

interface Props {
slug: string;
Expand Down
7 changes: 6 additions & 1 deletion workspace/apex/src/lib/prose.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,12 @@ import type { Items } from '$content/builder';
import { engrave } from 'aubade/artisan';

type Base = Items['/curated' | '/posts' | '/reviews'][number];
type Article = Overwrite<IntersectUnion<Base>, { branches?: string[] }>;
export interface Article extends Overwrite<IntersectUnion<Base>, { branches?: string[] }> {}

export function entitle(article: { title: Article['title']; series?: Article['series'] }): string {
const series = article.series ? `${article.series.title} • ` : '';
return `${series}${article.title}`;
}

export function phrase(theme: Article['theme']) {
switch (theme) {
Expand Down
5 changes: 3 additions & 2 deletions workspace/apex/src/routes/curated/+page.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import { scale } from 'svelte/transition';
import { pushState, replaceState } from '$app/navigation';
import { page } from '$app/state';
import { entitle } from '$lib/prose';
import worker from './search.agent?worker&url';

const { data } = $props();
Expand Down Expand Up @@ -87,13 +88,13 @@
</p>
{/if}

{#each index as { title, slug } (slug)}
{#each index as { series, title, slug } (slug)}
<a
href="/curated/{slug}"
animate:flip={{ duration: TIME.SLIDE }}
transition:scale|local={{ duration: TIME.SLIDE }}
>
{title}
{entitle({ series, title })}
</a>
{/each}
</div>
Expand Down
3 changes: 2 additions & 1 deletion workspace/apex/src/routes/curated/[slug]/+page.server.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { redirect } from '@sveltejs/kit';
import { entitle } from '$lib/prose';

export async function load({ parent, params }) {
const { items, series } = await parent();
Expand All @@ -11,7 +12,7 @@ export async function load({ parent, params }) {
collection: series,
meta: {
canonical: `/curated/${article.slug}`,
title: article.title,
title: entitle(article),
description: article.description || '',
image: `https://mauss.dev/curated/${article.slug}/card.png`,
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@ export async function GET({ fetch, params }) {
title: post.title,
blurb: post.description || formatted,
date: post.description && formatted,
series: post.series,
});
}
2 changes: 1 addition & 1 deletion workspace/apex/src/routes/curated/search.agent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@ const commands = {
},
};

export type Commands = Dispatch<typeof commands>;
export interface Commands extends Dispatch<typeof commands> {}
addEventListener('message', commander(commands));
6 changes: 3 additions & 3 deletions workspace/apex/src/routes/curated/search.svelte.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import type { Items } from '$content/builder';

export type Query = {
export interface Query {
search: string;
series: string;
};
}

export type Item = Omit<Items['/curated'][number], 'branches' | 'content'>;
export interface Item extends Omit<Items['/curated'][number], 'branches' | 'content'> {}

export function sift(items: Item[], payload: Query) {
const value = normalize(payload.search);
Expand Down
3 changes: 2 additions & 1 deletion workspace/apex/src/routes/posts/[slug]/+page.server.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { redirect } from '@sveltejs/kit';
import { entitle } from '$lib/prose';

export const prerender = 'auto';
export async function load({ parent, params }) {
Expand All @@ -12,7 +13,7 @@ export async function load({ parent, params }) {
collection: series,
meta: {
canonical: `/posts/${content.slug}`,
title: (content.series ? `${content.series.title} • ` : '') + content.title,
title: entitle(content),
description: content.description || '',
image: `https://mauss.dev/posts/${content.slug}/card.png`,
},
Expand Down
2 changes: 1 addition & 1 deletion workspace/apex/src/routes/posts/search.agent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@ const commands = {
},
};

export type Commands = Dispatch<typeof commands>;
export interface Commands extends Dispatch<typeof commands> {}
addEventListener('message', commander(commands));
6 changes: 3 additions & 3 deletions workspace/apex/src/routes/posts/search.svelte.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import type { Schema } from '$content/posts.json/+server';
import { date } from 'mauss';

export type Query = {
export interface Query {
search: string;
series: string;
theme: string;
tags: string[];
sort_by: keyof typeof by;
};
}

export type Item = Omit<Schema['items'][number], 'content'>;
export interface Item extends Omit<Schema['items'][number], 'content'> {}

export function sift(items: Item[], payload: Query) {
const value = normalize(payload.search);
Expand Down
2 changes: 1 addition & 1 deletion workspace/apex/src/routes/reviews/search.agent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,5 @@ const commands = {
},
};

export type Commands = Dispatch<typeof commands>;
export interface Commands extends Dispatch<typeof commands> {}
addEventListener('message', commander(commands));
6 changes: 3 additions & 3 deletions workspace/apex/src/routes/reviews/search.svelte.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import type { Schema } from '$content/reviews.json/+server';
import { arrange, compare, date, inspect } from 'mauss';

export type Query = {
export interface Query {
search: string;
tier: string;
category: string;
genres: string[];
sort_by: keyof typeof by;
};
}

export type Item = Omit<Schema['items'][number], 'branches' | 'content'>;
export interface Item extends Omit<Schema['items'][number], 'branches' | 'content'> {}

export function sift(items: Item[], payload: Query) {
const value = normalize(payload.search);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
date: 2025-08-14
title: The Essence of Semantic Versioning
title: Semantic Versioning
series:
title: The Essence
description: a contract in numbers
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
date: 2025-08-14
title: The Essence of Svelte
title: Svelte
series:
title: The Essence
description: a sleek language
Expand Down
5 changes: 3 additions & 2 deletions workspace/content/routes/curated/harvest-2020.08/+article.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
---
date: 2020-09-01
title: Harvest • August 2020
title: August 2020
series:
title: The Harvest
title: Harvest
chapter: 2020.08
---

Hello and welcome to the debut of the Harvest! We're starting things off strong with amazing highlights August has offered followed by a recap of the month.
Expand Down
5 changes: 3 additions & 2 deletions workspace/content/routes/curated/harvest-2020.09/+article.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
---
date: 2020-10-01
title: Harvest • September 2020
title: September 2020
series:
title: The Harvest
title: Harvest
chapter: 2020.09
---

Hello and welcome back to the Harvest! September was pretty slow with everything except the articles. As always, feel free to skip ahead to your preferred content by using the quick links provided above to jump to your the section.
Expand Down
5 changes: 3 additions & 2 deletions workspace/content/routes/curated/harvest-2020.10/+article.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
---
date: 2020-11-01
title: Harvest • October 2020
title: October 2020
series:
title: The Harvest
title: Harvest
chapter: 2020.10
---

Hello and welcome back to the Harvest! As always, feel free to skip ahead to your preferred content by using the quick links provided above to jump to your the section.
Expand Down
5 changes: 3 additions & 2 deletions workspace/content/routes/curated/harvest-2020.11/+article.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
---
date: 2020-12-01
title: Harvest • November 2020
title: November 2020
series:
title: The Harvest
title: Harvest
chapter: 2020.11
---

Hello and welcome back to the Harvest! As always, feel free to skip ahead to your preferred content by using the quick links provided above to jump to your the section.
Expand Down
5 changes: 3 additions & 2 deletions workspace/content/routes/curated/harvest-2020.12/+article.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
---
date: 2021-01-01
title: Harvest • December 2020
title: December 2020
series:
title: The Harvest
title: Harvest
chapter: 2020.12
---

Hello and welcome back to the Harvest and Happy New Year! As always, feel free to skip ahead to your preferred content by using the quick links provided above to jump to your the section.
Expand Down
5 changes: 3 additions & 2 deletions workspace/content/routes/curated/harvest-2021.01/+article.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
---
date: 2021-02-01
title: Harvest • January 2021
title: January 2021
series:
title: The Harvest
title: Harvest
chapter: 2021.01
---

Hello and welcome back to the Harvest! Let's slow down things and start off the year calm, cool, and collected. A lot happened even though 2021 just started, but I'll try to start the year slowly so I don't quickly exhaust myself with overambitious things.
Expand Down
5 changes: 3 additions & 2 deletions workspace/content/routes/curated/harvest-2021.02/+article.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
---
date: 2021-03-01
title: Harvest • February 2021
title: February 2021
series:
title: The Harvest
title: Harvest
chapter: 2021.02
---

Hello and welcome to the Harvest! February's short month caught me off guard, even then it's been a month already. As always, feel free to skip ahead to your preferred content by using the quick links provided above to jump to your the section. I got a lot of interesting stuff to share even with the short month.
Expand Down
5 changes: 3 additions & 2 deletions workspace/content/routes/curated/harvest-2021.03/+article.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
---
date: 2021-04-01
title: Harvest • March 2021
title: March 2021
series:
title: The Harvest
title: Harvest
chapter: 2021.03
---

Hello and welcome back to the Harvest! As always, feel free to skip ahead to your preferred content by using the quick links provided above to jump to your the section.
Expand Down
5 changes: 3 additions & 2 deletions workspace/content/routes/curated/harvest-2021.04/+article.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
---
date: 2021-05-01
title: Harvest • April 2021
title: April 2021
series:
title: The Harvest
title: Harvest
chapter: 2021.04
---

Hello and welcome back to the Harvest! As always, feel free to skip ahead to your preferred content by using the quick links provided above to jump to your the section.
Expand Down
5 changes: 3 additions & 2 deletions workspace/content/routes/curated/harvest-2025.06/+article.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
---
date: 2025-07-01
title: Harvest • June 2025
title: June 2025
series:
title: The Harvest
title: Harvest
chapter: 2025.06
---

i'm so excited that i even brought this series back, albeit rebranded.
Expand Down
5 changes: 3 additions & 2 deletions workspace/content/routes/curated/harvest-2025.07/+article.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
---
date: 2025-08-01
title: Harvest • July 2025
title: July 2025
series:
title: The Harvest
title: Harvest
chapter: 2025.07
---

there's a lot more here because i consciously thought about *adding it to the Harvest* this time. the headlines are pretty jam-packed too, so let's get started.
Expand Down
5 changes: 3 additions & 2 deletions workspace/content/routes/curated/harvest-2025.08/+article.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
---
date: 2025-09-01
title: Harvest • August 2025
title: August 2025
series:
title: The Harvest
title: Harvest
chapter: 2025.08
---

## headlines
Expand Down
5 changes: 3 additions & 2 deletions workspace/content/routes/curated/harvest-2025.09/+article.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
---
date: 2025-10-01
title: Harvest • September 2025
title: September 2025
series:
title: The Harvest
title: Harvest
chapter: 2025.09
description: "Meta's latest privacy issues, summer anime finales, round two of vocal synth finds, and unsettling truths about Indonesia's tofu industry."
---

Expand Down
4 changes: 2 additions & 2 deletions workspace/content/routes/curated/notes-bash/+article.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
date: 2025-07-17
title: Notes • Bash
title: Bash
series:
title: My Notes
title: Notes
---

my personal notes on bash scripting. they are mostly scripts that i use to manage my home media server. i forget things easily, so i write them down here for future reference. these notes are not meant to be comprehensive, and i'm no expert in bash, so please let me know if you have any suggestions or improvements.
Expand Down
Loading