diff --git a/.agent/skills/git-manager/cheatsheet.md b/.agent/skills/git-manager/cheatsheet.md
index de59287..21dadbc 100644
--- a/.agent/skills/git-manager/cheatsheet.md
+++ b/.agent/skills/git-manager/cheatsheet.md
@@ -15,8 +15,8 @@ root 폴더에 .bare 폴더를 생성하고 그 안에 워크트리 폴더를
```bash
git -C .bare worktree list # 현재 생성된 모든 워크트리(작업 폴더) 목록 확인
-git -C .bare worktree add ../<폴더명> <브랜치명> # 새 브랜치를 따면서 새 폴더 생성
-git -C .bare worktree add ../<폴더명> # 기존 브랜치를 새 폴더로 체크아웃
+git -C .bare worktree add ../<폴더명> <브랜치명> # 기존 브랜치를 새 폴더로 체크아웃
+git -C .bare worktree add -b <브랜치명> ../<폴더명> # 새 브랜치를 따면서 새 폴더 생성
git -C .bare worktree remove <폴더명> # 작업 폴더 삭제 (Git 연결 해제)
git -C .bare worktree prune # 폴더를 강제 삭제(rm -rf)했을 때 찌꺼기 정리
git -C .bare worktree move <구폴더> ../<신폴더> # 워크트리 폴더 경로/이름 변경
diff --git a/messages/en.json b/messages/en.json
index 3e8aa0e..ad7c8de 100644
--- a/messages/en.json
+++ b/messages/en.json
@@ -23,6 +23,7 @@
"privacy": "Privacy Policy",
"about": "About",
"terms": "Terms of Use",
+ "contact": "Contact",
"copyright": "© {year} VXD Blog. Built with Next.js & Notion."
},
"Privacy": {
@@ -48,7 +49,8 @@
"aboutAuthorTitle": "About the Author",
"aboutAuthorContent": "Hello! I'm an engineer who loves development. I enjoy exploring new technologies and sharing what I've learned.",
"contactTitle": "Contact",
- "contactContent": "If you have any inquiries, please reach out through GitHub."
+ "contactContent": "If you have any inquiries, please reach out through GitHub or email.",
+ "emailLabel": "Send Email"
},
"Terms": {
"back": "Home",
diff --git a/messages/ko.json b/messages/ko.json
index 4b6a4dd..e20fb1a 100644
--- a/messages/ko.json
+++ b/messages/ko.json
@@ -23,6 +23,7 @@
"privacy": "개인정보처리방침",
"about": "소개",
"terms": "이용약관",
+ "contact": "문의하기",
"copyright": "© {year} VXD Blog. Built with Next.js & Notion."
},
"Privacy": {
@@ -48,7 +49,8 @@
"aboutAuthorTitle": "운영자 소개",
"aboutAuthorContent": "안녕하세요! 개발을 좋아하는 엔지니어입니다. 새로운 기술을 탐구하고 배운 것을 정리하여 공유하는 것을 즐깁니다.",
"contactTitle": "연락처",
- "contactContent": "문의사항이 있으시면 GitHub를 통해 연락해 주세요."
+ "contactContent": "문의사항이 있으시면 GitHub 또는 이메일을 통해 연락해 주세요.",
+ "emailLabel": "이메일 보내기"
},
"Terms": {
"back": "홈으로",
diff --git a/src/app/[locale]/about/page.tsx b/src/app/[locale]/about/page.tsx
index 40ea022..78f15b5 100644
--- a/src/app/[locale]/about/page.tsx
+++ b/src/app/[locale]/about/page.tsx
@@ -1,7 +1,7 @@
import { getTranslations } from 'next-intl/server';
import { Link } from '@/i18n/routing';
import { Metadata } from 'next';
-import { ExternalLink } from 'lucide-react';
+import { ExternalLink, Mail } from 'lucide-react';
type Props = {
params: Promise<{ locale: string }>;
@@ -70,6 +70,13 @@ export default async function AboutPage() {
VXD's GitHub
{t('copyright', { year })}
diff --git a/src/lib/notion.ts b/src/lib/notion.ts
index d4c51be..03bb535 100644
--- a/src/lib/notion.ts
+++ b/src/lib/notion.ts
@@ -2,4 +2,5 @@ import { Client } from "@notionhq/client";
export const notion = new Client({
auth: process.env.NOTION_API_KEY,
+ timeoutMs: 180000,
});
diff --git a/src/lib/services/posts.service.ts b/src/lib/services/posts.service.ts
index 9adab50..a57f666 100644
--- a/src/lib/services/posts.service.ts
+++ b/src/lib/services/posts.service.ts
@@ -44,6 +44,19 @@ const getCachedAllPosts = unstable_cache(async (): Promise