Personal Site
1import {
2 CompositeDidDocumentResolver,
3 CompositeHandleResolver,
4 DohJsonHandleResolver,
5 PlcDidDocumentResolver,
6 WebDidDocumentResolver,
7 WellKnownHandleResolver,
8 LocalActorResolver,
9} from "@atcute/identity-resolver";
10
11const didDocumentResolver = new CompositeDidDocumentResolver({
12 methods: {
13 plc: new PlcDidDocumentResolver(),
14 web: new WebDidDocumentResolver(),
15 },
16});
17
18const handleResolver = new CompositeHandleResolver({
19 methods: {
20 dns: new DohJsonHandleResolver({
21 dohUrl: "https://mozilla.cloudflare-dns.com/dns-query",
22 }),
23 http: new WellKnownHandleResolver(),
24 },
25});
26
27const actorResolver = new LocalActorResolver({
28 didDocumentResolver,
29 handleResolver,
30});
31
32export const socials = {
33 atproto: await actorResolver.resolve("did:plc:4zht3z4caxwrw3dlsybodywc"),
34 tumblr: "what-if-doctor-who-was-yuri-yaoi",
35 github: "Afterlifepro",
36 spotify: "viwn798qleabtpxqgt6oppm8l",
37 matrix: "afterlifepro:matrix.org",
38} as const;
39
40export type nav = {
41 slug?: string;
42 name: string;
43 children?: nav[];
44};
45
46export const urls: nav[] = [
47 {
48 slug: "/",
49 name: "Home",
50 },
51 {
52 slug: "/blog",
53 name: "Blog",
54 },
55 {
56 name: "Misc",
57 children: [
58 {
59 slug: "/rss.xml",
60 name: "RSS",
61 },
62 {
63 slug: "/ai",
64 name: "AI Usage",
65 },
66 {
67 slug: "/use",
68 name: "Things I Use",
69 },
70 ],
71 },
72 {
73 name: "Socials",
74 children: [
75 {
76 name: "atproto",
77 children: [
78 {
79 slug: "https://bsky.app/profile/" + socials.atproto.did,
80 name: "BlueSky",
81 },
82 {
83 slug: "https://witchsky.app/profile/" + socials.atproto.did,
84 name: "Witchsky",
85 },
86 {
87 slug: "https://tangled.org/" + socials.atproto.did,
88 name: "Tangled",
89 },
90 {
91 slug: "https://pdsls.dev//at://" + socials.atproto.did,
92 name: "pdsls",
93 },
94 ],
95 },
96 {
97 slug: "https://" + socials.tumblr + ".tumblr.com/",
98 name: "Tumblr",
99 },
100 {
101 slug: "https://github.com/" + socials.github,
102 name: "Github",
103 },
104 {
105 slug: "https://open.spotify.com/user/" + socials.spotify,
106 name: "Spotify",
107 },
108 {
109 slug: "https://matrix.to/#/@" + socials.matrix,
110 name: "Matrix",
111 },
112 ],
113 },
114 {
115 name: "Projects",
116 children: [
117 {
118 slug: "https://dongs.zip",
119 name: "Dong (web)",
120 },
121 {
122 slug: "https://saltire-the-gays.vielle.dev",
123 name: "Saltire the Gays",
124 },
125 {
126 slug: "https://afterlifepro.neocities.org",
127 name: "Neo­cities (old site)",
128 },
129 ],
130 },
131];