chadtmiller.com/knotless

Git hosted in your atproto account, on any stock PDS, fast enough for agents.

git clone knotless://chadtmiller.com/knotless

needs the knotless git helper. set it up

main
18 lines · 1009 B Raw History
<script lang="ts">
	import type { Author } from '#lib/api/Author.ts';
	import type { Commit } from '#lib/api/Commit.ts';
	import { urlPath } from '#lib/format.ts';
	import Avatar from '#lib/atoms/Avatar.svelte';
	/**
	 * Who wrote a commit, and who its trailers say helped: each by account,
	 * linked to its profile, when that is one of the repository's own
	 * people; else by the name git gives.
	 */
	let { commit: c }: { commit: Commit } = $props();
	const all = $derived([c.author, ...c.coauthors]);
	const joint = (i: number) => (i === 0 ? '' : i === all.length - 1 ? ' and ' : ', ');
</script>

{#snippet who(a: Author)}{#if a.account}<a href="/{urlPath(a.account)}"><b>{a.name}</b></a>{:else}<b>{a.name}</b>{/if}{/snippet}

{#if c.coauthors.length}<span class="avs">{#each all as a, i (i)}<Avatar name={a.name} src={a.avatar} />{/each}</span><span>{#each all as a, i (i)}{joint(i)}{@render who(a)}{/each}</span>{:else}<Avatar name={c.author.name} src={c.author.avatar} />{@render who(c.author)}{/if}