89 lines
2.7 KiB
TypeScript
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"],
|
|
};
|