sitegen/src/q+a/artifacts.ts
2025-08-02 20:56:36 -04:00

89 lines
2.7 KiB
TypeScript

// Artifacts used to be a central system in the old data-driven website.
// Now, it simply refers to one of these link presets. Every project has
// one canonical URL, which the questions page can refer to with `@id`.
type Artifact = [title: string, url: string, type: ArtifactType];
type ArtifactType = "music" | "game" | "project" | "video";
export const artifactMap: Record<string, Artifact> = {
// 2025
"in-the-summer": ["in the summer", "", "music"],
waterfalls: ["waterfalls", "/waterfalls", "music"],
lolzip: ["lol.zip", "", "project"],
"g-is-missing": ["g is missing", "", "music"],
"im-18-now": ["i'm 18 now", "", "music"],
"programming-comparison": [
"thursday programming language comparison",
"",
"video",
],
aaaaaaaaa: ["aaaaaaaaa", "", "music"],
"its-snowing": ["it's snowing", "", "video"],
// 2023
"iphone-15-review": [
"iphone 15 review",
"/file/2023/iphone%2015%20review/iphone-15-review.mp4",
"video",
],
// 2022
mayday: ["mayday", "/file/2022/mayday/mayday.mp4", "music"],
"mystery-of-life": [
"mystery of life",
"/file/2022/mystery-of-life/mystery-of-life.mp4",
"music",
],
// 2021
"top-10000-bread": [
"top 10000 bread",
"https://paperclover.net/file/2021/top-10000-bread/output.mp4",
"video",
],
"phoenix-write-soundtrack": [
"Phoenix, WRITE! soundtrack",
"/file/2021/phoenix-write/OST",
"music",
],
"phoenix-write": ["Pheonix, WRITE!", "/file/2021/phoenix-write", "game"],
"money-visual-cover": [
"money visual cover",
"/file/2021/money-visual-cover/money-visual-cover.mp4",
"video",
],
"i-got-this-thing": [
"i got this thing",
"/file/2021/i-got-this-thing/i-got-this-thing.mp4",
"video",
],
// 2020
elemental4: ["elemental 4", "/file/2020/elemental4-rewrite", "game"],
"elemental-4": ["elemental 4", "/file/2020/elemental4-rewrite", "game"],
// 2019
"throw-soundtrack": [
"throw soundtrack",
"/file/2019/throw/soundtrack",
"music",
],
"elemental-lite": ["elemental lite", "/file/2019/elemental-lite-1.7", "game"],
volar: [
"volar visual cover",
"/file/2019/volar-visual-cover/volar.mp4",
"video",
],
wpm: [
"how to read 500 words per minute",
"/file/2019/how-to-read-500-words-per-minute/how-to-read-500-words-per-minute.mp4",
"video",
],
"dice-roll": [
"thursday dice roll",
"/file/2019/thursday-dice-roll/thursday-dice-roll.mp4",
"video",
],
"math-problem": [
"thursday math problem",
"/file/2019/thursday-math-problem/thursday-math-problem.mp4",
"video",
],
// 2018
// 2017
"hatred-island": ["hatred island", "/file/2017/hatred%20island", "game"],
"test-video-1": ["test video 1", "/file/2017/test-video1.mp4", "video"],
};