style: format code for consistency across multiple files
Some checks failed
/ print-content (push) Failing after 26s

This commit is contained in:
암냥 2026-09-07 08:07:33 +09:00
commit e33f173101
11 changed files with 364 additions and 363 deletions

View file

@ -7,21 +7,21 @@ const sortedEvents = [...events].sort((a, b) => b.date.localeCompare(a.date));
const years = [...new Set(sortedEvents.map((event) => event.date.slice(0, 4)))];
// biome-ignore lint/correctness/noUnusedVariables: Used in the Astro template below.
const eventsByYear = years.map((year) => ({
year,
events: sortedEvents.filter((event) => event.date.startsWith(year)),
year,
events: sortedEvents.filter((event) => event.date.startsWith(year)),
}));
// biome-ignore lint/correctness/noUnusedVariables: Used in the Astro template below.
const getShortDate = (date: string) => {
const [, month, day] = date.split("-");
return `${month}.${day}`;
const [, month, day] = date.split("-");
return `${month}.${day}`;
};
const currentYear = new Date().getFullYear();
// biome-ignore lint/correctness/noUnusedVariables: Used in the Astro template below.
const daysUntilYearEnd = Math.ceil(
(new Date(currentYear + 1, 0, 1).getTime() - Date.now()) /
(1000 * 60 * 60 * 24),
(new Date(currentYear + 1, 0, 1).getTime() - Date.now()) /
(1000 * 60 * 60 * 24),
);
---

View file

@ -1,154 +1,154 @@
---
// biome-ignore lint/correctness/noUnusedVariables: Used in the Astro template below.
const groups = [
{
id: "direct",
title: "연락처",
items: [
{
name: "개인 이메일",
value: "me@imnya.ng",
href: "mailto:me@imnya.ng",
icon: "mail",
tone: "pink",
email: true,
},
{
name: "dazzle.st 이메일",
value: "imnyang@dazzle.st",
href: "mailto:imnyang@dazzle.st",
icon: "mail",
tone: "green",
email: true,
},
{
name: "Discord",
value: "@imnyang",
href: "https://discord.com/users/909353223901569035",
icon: "discord",
tone: "purple",
},
],
},
{
id: "social",
title: "소셜",
items: [
{
name: "X (Twitter)",
value: "@imnya_ng",
href: "https://twitter.com/imnya_ng",
icon: "x",
tone: "blue",
},
{
name: "Instagram",
value: "@imnya.ng",
href: "https://instagram.com/imnya.ng",
icon: "instagram",
tone: "pink",
},
{
name: "YouTube",
value: "@imnyang",
href: "https://youtube.com/@imnyang",
icon: "youtube",
tone: "red",
},
],
},
{
id: "work",
title: "코드와 글",
items: [
{
name: "GitHub",
value: "@imnyang",
href: "https://github.com/imnyang",
icon: "github",
tone: "neutral",
},
{
name: "git.mizuki.guru",
value: "@imnyang",
href: "https://git.mizuki.guru/imnyang",
icon: "mizuki",
tone: "orange",
},
{
name: "Blog",
value: "blog.imnya.ng",
href: "https://blog.imnya.ng",
icon: "blog",
tone: "green",
},
],
},
{
id: "game",
title: "Game",
items: [
{
name: "Steam",
value: "@imnyang",
href: "https://steamcommunity.com/id/imnyang/",
icon: "steam",
tone: "blue",
},
{
name: "maimai",
value: "@imnya.ng",
href: "https://mai.sft.sh/imnyang",
icon: "maimai",
tone: "blue",
},
{
name: "Project Sekai KR",
value: "7354623251148069648",
href: "#",
icon: "project-sekai",
tone: "blue",
},
{
name: "Project Sekai JP",
value: "729310364018688008",
href: "#",
icon: "project-sekai",
tone: "blue",
},
{
name: "VRChat",
value: "@imnyang",
href: "https://vrchat.com/home/user/usr_d53ac697-182d-40d0-9fd8-1a7442b0ebfd",
icon: "vrchat",
tone: "blue",
},
],
},
{
id: "direct",
title: "연락처",
items: [
{
name: "개인 이메일",
value: "me@imnya.ng",
href: "mailto:me@imnya.ng",
icon: "mail",
tone: "pink",
email: true,
},
{
name: "dazzle.st 이메일",
value: "imnyang@dazzle.st",
href: "mailto:imnyang@dazzle.st",
icon: "mail",
tone: "green",
email: true,
},
{
name: "Discord",
value: "@imnyang",
href: "https://discord.com/users/909353223901569035",
icon: "discord",
tone: "purple",
},
],
},
{
id: "social",
title: "소셜",
items: [
{
name: "X (Twitter)",
value: "@imnya_ng",
href: "https://twitter.com/imnya_ng",
icon: "x",
tone: "blue",
},
{
name: "Instagram",
value: "@imnya.ng",
href: "https://instagram.com/imnya.ng",
icon: "instagram",
tone: "pink",
},
{
name: "YouTube",
value: "@imnyang",
href: "https://youtube.com/@imnyang",
icon: "youtube",
tone: "red",
},
],
},
{
id: "work",
title: "코드와 글",
items: [
{
name: "GitHub",
value: "@imnyang",
href: "https://github.com/imnyang",
icon: "github",
tone: "neutral",
},
{
name: "git.mizuki.guru",
value: "@imnyang",
href: "https://git.mizuki.guru/imnyang",
icon: "mizuki",
tone: "orange",
},
{
name: "Blog",
value: "blog.imnya.ng",
href: "https://blog.imnya.ng",
icon: "blog",
tone: "green",
},
],
},
{
id: "game",
title: "Game",
items: [
{
name: "Steam",
value: "@imnyang",
href: "https://steamcommunity.com/id/imnyang/",
icon: "steam",
tone: "blue",
},
{
name: "maimai",
value: "@imnya.ng",
href: "https://mai.sft.sh/imnyang",
icon: "maimai",
tone: "blue",
},
{
name: "Project Sekai KR",
value: "7354623251148069648",
href: "#",
icon: "project-sekai",
tone: "blue",
},
{
name: "Project Sekai JP",
value: "729310364018688008",
href: "#",
icon: "project-sekai",
tone: "blue",
},
{
name: "VRChat",
value: "@imnyang",
href: "https://vrchat.com/home/user/usr_d53ac697-182d-40d0-9fd8-1a7442b0ebfd",
icon: "vrchat",
tone: "blue",
},
],
},
];
// biome-ignore lint/correctness/noUnusedVariables: Used in the Astro template below.
const imageIcons: Record<string, { src: string; monochrome: boolean }> = {
github: { src: "/icon/github.svg", monochrome: true },
discord: { src: "/icon/discord.svg", monochrome: true },
mizuki: { src: "/icon/mizuki.svg", monochrome: false },
// Source: https://github.com/simple-icons/simple-icons/blob/develop/icons/steam.svg
steam: { src: "/icon/steam.svg", monochrome: true },
maimai: { src: "/icon/maimai.webp", monochrome: false },
vrchat: { src: "/icon/vrchat.svg", monochrome: true },
// Source: https://pjsekai.sega.jp/assets/data/webp/icon/icon_app.png.webp
"project-sekai": { src: "/icon/project-sekai.webp", monochrome: false },
github: { src: "/icon/github.svg", monochrome: true },
discord: { src: "/icon/discord.svg", monochrome: true },
mizuki: { src: "/icon/mizuki.svg", monochrome: false },
// Source: https://github.com/simple-icons/simple-icons/blob/develop/icons/steam.svg
steam: { src: "/icon/steam.svg", monochrome: true },
maimai: { src: "/icon/maimai.webp", monochrome: false },
vrchat: { src: "/icon/vrchat.svg", monochrome: true },
// Source: https://pjsekai.sega.jp/assets/data/webp/icon/icon_app.png.webp
"project-sekai": { src: "/icon/project-sekai.webp", monochrome: false },
};
// biome-ignore lint/correctness/noUnusedVariables: Used in the Astro template below.
const paths: Record<string, string> = {
mail: "M22 12a10 10 0 1 0-4 8 M16 8v5a3 3 0 0 0 6 0v-1 M16 12a4 4 0 1 1-8 0 4 4 0 0 1 8 0",
x: "M4 3h4l12 18h-4L4 3Z M20 3l-7 8 M4 21l7-8",
instagram:
"M7 3h10a4 4 0 0 1 4 4v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4Z M16 12a4 4 0 1 1-8 0 4 4 0 0 1 8 0 M17.5 6.5h.01",
youtube:
"M7 5h10a5 5 0 0 1 5 5v4a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5v-4a5 5 0 0 1 5-5Z M10 9l5 3-5 3V9Z",
blog: "M5 3h11l3 3v15H5V3Z M15 3v4h4 M9 11h6 M9 15h6",
mail: "M22 12a10 10 0 1 0-4 8 M16 8v5a3 3 0 0 0 6 0v-1 M16 12a4 4 0 1 1-8 0 4 4 0 0 1 8 0",
x: "M4 3h4l12 18h-4L4 3Z M20 3l-7 8 M4 21l7-8",
instagram:
"M7 3h10a4 4 0 0 1 4 4v10a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4Z M16 12a4 4 0 1 1-8 0 4 4 0 0 1 8 0 M17.5 6.5h.01",
youtube:
"M7 5h10a5 5 0 0 1 5 5v4a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5v-4a5 5 0 0 1 5-5Z M10 9l5 3-5 3V9Z",
blog: "M5 3h11l3 3v15H5V3Z M15 3v4h4 M9 11h6 M9 15h6",
};
---

View file

@ -1,7 +1,7 @@
---
export interface Props {
targetDate: string;
label?: string;
targetDate: string;
label?: string;
}
const { targetDate, label } = Astro.props;

View file

@ -1,6 +1,6 @@
---
const videoUrl =
"https://www.youtube.com/live/5HDW7u3xt6Y?si=SgPxg83YMdeqGo3t&t=8366";
"https://www.youtube.com/live/5HDW7u3xt6Y?si=SgPxg83YMdeqGo3t&t=8366";
const roles = ["Broadcast Manager", "ARG Creator", "Developer"];
---

View file

@ -5,21 +5,21 @@ const sortedEvents = [...events].sort((a, b) => b.date.localeCompare(a.date));
const years = [...new Set(sortedEvents.map((event) => event.date.slice(0, 4)))];
// biome-ignore lint/correctness/noUnusedVariables: Used in the Astro template below.
const eventsByYear = years.map((year) => ({
year,
events: sortedEvents.filter((event) => event.date.startsWith(year)),
year,
events: sortedEvents.filter((event) => event.date.startsWith(year)),
}));
// biome-ignore lint/correctness/noUnusedVariables: Used in the Astro template below.
const getShortDate = (date: string) => {
const [, month, day] = date.split("-");
return `${month}.${day}`;
const [, month, day] = date.split("-");
return `${month}.${day}`;
};
const currentYear = new Date().getFullYear();
// biome-ignore lint/correctness/noUnusedVariables: Used in the Astro template below.
const daysUntilYearEnd = Math.ceil(
(new Date(currentYear + 1, 0, 1).getTime() - Date.now()) /
(1000 * 60 * 60 * 24),
(new Date(currentYear + 1, 0, 1).getTime() - Date.now()) /
(1000 * 60 * 60 * 24),
);
---

View file

@ -1,162 +1,163 @@
interface Event {
description: string;
category: string;
date: string;
link?: string;
description: string;
category: string;
date: string;
link?: string;
}
export const events: Event[] = [
{
description: "제 2회 SSD CTF - 최다 풀이자 SSD상 수상",
category: "Award",
date: "2026-08-30",
link: "https://forge.hspace.io/competitions/6a8b93c72586e8e70978b4df"
},
{
description: "33회 해킹캠프 발표 - LLM에 로그인했더니 내 계정이 아니게 됐다???",
category: "Presentation",
date: "2026-08-22"
},
{
description: "2026 사이버 가디언즈 CMX 대회 장려상 수상",
category: "Award",
date: "2026-08-18"
},
{
description: "선린인터넷고등학교 전공동아리 Layer7 26기 입부",
category: "Education",
date: "2026-04-01"
},
{
description: "선린인터넷고등학교 121기 입학",
category: "Education",
date: "2026-03-03"
},
{
description: "리눅스 마스터 2급",
category: "License",
date: "2026-01-02"
},
{
description: "화이트햇스쿨 3기 이수",
category: "Education",
date: "2025-09-24",
link: "https://whitehatschool.kr/home/kor/main.do",
},
{
date: "2025-09-13",
description: "선린인터넷고 소프트웨어 나눔축제 AnA 이수",
category: "Education",
link: "https://ssf.sunrin.io/",
},
{
date: "2025-07-26",
description: "선린인터넷고 여름방학 중학생 특별교육 우수 이수 (프로그래밍)",
category: "Education",
link: "https://sunrint.sen.hs.kr/",
},
{
date: "2025-01-19",
description: "2025 Sunrin LOGCON(TeamLog 주최) 중등부 3위",
category: "Award",
link: "https://teamlog.kr",
},
{
date: "2025-01-12",
description: "2024 Sunrin Layer7 CTF 중등부 2위",
category: "Award",
link: "https://layer7.kr",
},
{
date: "2025-01-10",
description: "선린인터넷고 겨울방학 중학생 특별교육 이수 (IT경영학과)",
category: "Education",
link: "https://sunrint.sen.hs.kr/",
},
{
date: "2024-12-14",
description:
"2024 글로벌스타트업학교 K-청소년스타트업 경진대회 우수상 수상",
category: "Award",
link: "https://www.ncf.or.kr/projects/'2024-%EA%B8%80%EB%A1%9C%EB%B2%8C%EC%8A%A4%ED%83%80%ED%8A%B8%EC%97%85%ED%95%99%EA%B5%90-k-%EC%B2%AD%EC%86%8C%EB%85%84%EC%8A%A4%ED%83%80%ED%8A%B8%EC%97%85-%EA%B2%BD%EC%A7%84%EB%8C%80%ED%9A%8C'-%EC%B0%B8%EA%B0%80%EC%9E%90-%EB%AA%A8%EC%A7%91",
},
{
date: "2024-12-07",
description: "글로벌 스타트업 학교 팀 1위",
category: "Award",
link: "https://ncf.or.kr",
},
{
date: "2024-12-07",
description: "글로벌 스타트업 학교 개인 최우수상",
category: "Award",
link: "https://ncf.or.kr",
},
{
date: "2024-08-18",
description: "29회 해킹캠프 CTF 1위 (고민중독)",
category: "Award & Conference",
link: "https://ctf.hackingcamp.org/",
},
{
date: "2024-08-01",
description:
"글로벌 스타트업 학교 2기 베트남 해외 연수 데모데이 대상 (1위)",
category: "Award",
link: "http://ncf.or.kr",
},
{
date: "2024-05-16",
description: "글로벌 스타트업 학교 2기 합격",
category: "Education",
link: "http://ncf.or.kr",
},
{
date: "2024-05-11",
description: "LG AI 청소년 캠프 1기 LG 탐색상 수상",
category: "Award",
link: "https://lgaiyouthcamp.or.kr/",
},
{
date: "2024-05-11",
description: "LG AI 청소년 캠프 1기 수료",
category: "Award & Education",
link: "https://lgaiyouthcamp.or.kr/",
},
{
date: "2023-11-14",
description: "인천상정중학교 2023학년도 SW 문제 해결 활동 우수상(2위) 수여",
category: "Award",
},
{
date: "2023-09-02",
description:
"선린인터넷고등학교 제6회 소프트웨어나눔축제 Layer7 부서 과정 이수",
category: "Education",
},
{
date: "2023-07-24",
description: "한국정보기술연구원이 주도하는 사이버 가디언즈 보안캠프 수료",
category: "Education",
},
{
date: "2023-05-15",
description: "한국 코드페어 예선 진출",
category: "Award",
},
{
date: "2022-12-20",
description: "2022 SW영재 창작대회 은상 수상",
category: "Award",
},
{
date: "2022-09-27",
description: "2022 삼성 주니어 SW 창작대회 본선 진출",
category: "Award",
},
{
date: "2022-05-23",
description: "2022학년도 석정초SW영재학급 첫 수업",
category: "Education",
}
{
description: "제 2회 SSD CTF - 최다 풀이자 SSD상 수상",
category: "Award",
date: "2026-08-30",
link: "https://forge.hspace.io/competitions/6a8b93c72586e8e70978b4df",
},
{
description:
"33회 해킹캠프 발표 - LLM에 로그인했더니 내 계정이 아니게 됐다???",
category: "Presentation",
date: "2026-08-22",
},
{
description: "2026 사이버 가디언즈 CMX 대회 장려상 수상",
category: "Award",
date: "2026-08-18",
},
{
description: "선린인터넷고등학교 전공동아리 Layer7 26기 입부",
category: "Education",
date: "2026-04-01",
},
{
description: "선린인터넷고등학교 121기 입학",
category: "Education",
date: "2026-03-03",
},
{
description: "리눅스 마스터 2급",
category: "License",
date: "2026-01-02",
},
{
description: "화이트햇스쿨 3기 이수",
category: "Education",
date: "2025-09-24",
link: "https://whitehatschool.kr/home/kor/main.do",
},
{
date: "2025-09-13",
description: "선린인터넷고 소프트웨어 나눔축제 AnA 이수",
category: "Education",
link: "https://ssf.sunrin.io/",
},
{
date: "2025-07-26",
description: "선린인터넷고 여름방학 중학생 특별교육 우수 이수 (프로그래밍)",
category: "Education",
link: "https://sunrint.sen.hs.kr/",
},
{
date: "2025-01-19",
description: "2025 Sunrin LOGCON(TeamLog 주최) 중등부 3위",
category: "Award",
link: "https://teamlog.kr",
},
{
date: "2025-01-12",
description: "2024 Sunrin Layer7 CTF 중등부 2위",
category: "Award",
link: "https://layer7.kr",
},
{
date: "2025-01-10",
description: "선린인터넷고 겨울방학 중학생 특별교육 이수 (IT경영학과)",
category: "Education",
link: "https://sunrint.sen.hs.kr/",
},
{
date: "2024-12-14",
description:
"2024 글로벌스타트업학교 K-청소년스타트업 경진대회 우수상 수상",
category: "Award",
link: "https://www.ncf.or.kr/projects/'2024-%EA%B8%80%EB%A1%9C%EB%B2%8C%EC%8A%A4%ED%83%80%ED%8A%B8%EC%97%85%ED%95%99%EA%B5%90-k-%EC%B2%AD%EC%86%8C%EB%85%84%EC%8A%A4%ED%83%80%ED%8A%B8%EC%97%85-%EA%B2%BD%EC%A7%84%EB%8C%80%ED%9A%8C'-%EC%B0%B8%EA%B0%80%EC%9E%90-%EB%AA%A8%EC%A7%91",
},
{
date: "2024-12-07",
description: "글로벌 스타트업 학교 팀 1위",
category: "Award",
link: "https://ncf.or.kr",
},
{
date: "2024-12-07",
description: "글로벌 스타트업 학교 개인 최우수상",
category: "Award",
link: "https://ncf.or.kr",
},
{
date: "2024-08-18",
description: "29회 해킹캠프 CTF 1위 (고민중독)",
category: "Award & Conference",
link: "https://ctf.hackingcamp.org/",
},
{
date: "2024-08-01",
description:
"글로벌 스타트업 학교 2기 베트남 해외 연수 데모데이 대상 (1위)",
category: "Award",
link: "http://ncf.or.kr",
},
{
date: "2024-05-16",
description: "글로벌 스타트업 학교 2기 합격",
category: "Education",
link: "http://ncf.or.kr",
},
{
date: "2024-05-11",
description: "LG AI 청소년 캠프 1기 LG 탐색상 수상",
category: "Award",
link: "https://lgaiyouthcamp.or.kr/",
},
{
date: "2024-05-11",
description: "LG AI 청소년 캠프 1기 수료",
category: "Award & Education",
link: "https://lgaiyouthcamp.or.kr/",
},
{
date: "2023-11-14",
description: "인천상정중학교 2023학년도 SW 문제 해결 활동 우수상(2위) 수여",
category: "Award",
},
{
date: "2023-09-02",
description:
"선린인터넷고등학교 제6회 소프트웨어나눔축제 Layer7 부서 과정 이수",
category: "Education",
},
{
date: "2023-07-24",
description: "한국정보기술연구원이 주도하는 사이버 가디언즈 보안캠프 수료",
category: "Education",
},
{
date: "2023-05-15",
description: "한국 코드페어 예선 진출",
category: "Award",
},
{
date: "2022-12-20",
description: "2022 SW영재 창작대회 은상 수상",
category: "Award",
},
{
date: "2022-09-27",
description: "2022 삼성 주니어 SW 창작대회 본선 진출",
category: "Award",
},
{
date: "2022-05-23",
description: "2022학년도 석정초SW영재학급 첫 수업",
category: "Education",
},
];