feat: OG image, sitemap update, Neo-Slasher, design polish
- Add OG image for social sharing (og:image meta tags) - Update sitemap data: add Hongik, update descriptions/names - Add Neo-Slasher project (2D roguelike, ExP game dev club) - Add Unity client mention to One of the Plans - Footer border-top, responsive hero photo sizing Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -370,10 +370,12 @@ img { max-width: 100%; display: block; }
|
|||||||
|
|
||||||
/* === Footer === */
|
/* === Footer === */
|
||||||
.footer {
|
.footer {
|
||||||
padding: 40px 0;
|
padding: 48px 0;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: #999;
|
color: #999;
|
||||||
font-size: 0.85rem;
|
font-size: 0.85rem;
|
||||||
|
border-top: 1px solid #eee;
|
||||||
|
margin-top: 16px;
|
||||||
}
|
}
|
||||||
.footer a { color: #666; }
|
.footer a { color: #666; }
|
||||||
.footer a:hover { color: #333; }
|
.footer a:hover { color: #333; }
|
||||||
@@ -385,8 +387,10 @@ img { max-width: 100%; display: block; }
|
|||||||
.nav-inner { gap: 16px; }
|
.nav-inner { gap: 16px; }
|
||||||
.nav-link { font-size: 0.8rem; }
|
.nav-link { font-size: 0.8rem; }
|
||||||
.hero { padding: 80px 0 56px; }
|
.hero { padding: 80px 0 56px; }
|
||||||
|
.hero-photo { width: 120px; }
|
||||||
.hero-name { font-size: 2rem; }
|
.hero-name { font-size: 2rem; }
|
||||||
.hero-role { font-size: 1rem; }
|
.hero-role { font-size: 1rem; }
|
||||||
|
.hero-tagline { font-size: 0.9rem; }
|
||||||
.section { padding: 56px 0; }
|
.section { padding: 56px 0; }
|
||||||
.card-grid { grid-template-columns: 1fr; }
|
.card-grid { grid-template-columns: 1fr; }
|
||||||
.infra-grid { grid-template-columns: 1fr 1fr; }
|
.infra-grid { grid-template-columns: 1fr 1fr; }
|
||||||
|
|||||||
@@ -47,6 +47,17 @@ const projects = [
|
|||||||
category: "웹",
|
category: "웹",
|
||||||
period: "2025.09 ~ 진행 중"
|
period: "2025.09 ~ 진행 중"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "Neo-Slasher",
|
||||||
|
description: "게임 개발 동아리 ExP에서 8인 팀으로 제작한 모바일 2D 로그라이크 게임. 프로그래밍 디렉터로서 데이터 관리 시스템, UI/인터페이스 설계, 전투 로직 등 전체 프로그래밍 아키텍처를 주도.",
|
||||||
|
tags: ["Unity", "C#"],
|
||||||
|
links: [
|
||||||
|
{ label: "GitHub", url: "https://github.com/Neo-Slasher" },
|
||||||
|
{ label: "Refactoring", url: "https://github.com/Neo-Slasher/Neo-Slasher_Refactoring" }
|
||||||
|
],
|
||||||
|
category: "게임",
|
||||||
|
period: "2023.06 ~ 2023.12"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "No-ill",
|
name: "No-ill",
|
||||||
description: "독거노인 낙상 감지 및 케어 서비스. 6인 팀 PM으로 개발 총괄. React 프론트엔드, Java Spring 백엔드(OpenVidu 연동), 인프라(Jira, Git, CI/CD) 담당.",
|
description: "독거노인 낙상 감지 및 케어 서비스. 6인 팀 PM으로 개발 총괄. React 프론트엔드, Java Spring 백엔드(OpenVidu 연동), 인프라(Jira, Git, CI/CD) 담당.",
|
||||||
|
|||||||
@@ -1,17 +1,22 @@
|
|||||||
const sites = {
|
const sites = {
|
||||||
projects: [
|
projects: [
|
||||||
{ name: "Blog", url: "https://blog.tolelom.xyz", icon: "📝", description: "개인 블로그" },
|
{ name: "Blog", url: "https://blog.tolelom.xyz", icon: "📝", description: "개인 블로그" },
|
||||||
{ name: "One of the Plans", url: "https://a301.tolelom.xyz", icon: "🎮", description: "MMORPG Unity 게임" },
|
{ name: "Hongik", url: "https://hongik.tolelom.xyz", icon: "🔤", description: "한글 프로그래밍 언어 플레이그라운드",
|
||||||
|
subLinks: [
|
||||||
|
{ label: "문서", url: "https://hongik.docs.tolelom.xyz" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{ name: "One of the Plans", url: "https://a301.tolelom.xyz", icon: "🎮", description: "블록체인 연동 게임 플랫폼" },
|
||||||
{
|
{
|
||||||
name: "No-ill",
|
name: "No-ill",
|
||||||
url: "https://no-ill.tolelom.xyz",
|
url: "https://no-ill.tolelom.xyz",
|
||||||
icon: "🏥",
|
icon: "🏥",
|
||||||
description: "노인 낙상감지 · 외로움방지",
|
description: "독거노인 낙상 감지 · 케어 서비스",
|
||||||
subLinks: [
|
subLinks: [
|
||||||
{ label: "보호자 앱", url: "https://no-ill-app.tolelom.xyz" }
|
{ label: "보호자 앱", url: "https://no-ill-app.tolelom.xyz" }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{ name: "SION", url: "https://sion.tolelom.xyz", icon: "🚗", description: "Jetson 자율주행 모니터링" }
|
{ name: "SION", url: "https://sion.tolelom.xyz", icon: "🚗", description: "AGV 실시간 경로 제어 · 모니터링" }
|
||||||
],
|
],
|
||||||
infra: [
|
infra: [
|
||||||
{ name: "Git", url: "https://git.tolelom.xyz", icon: "🗃️", description: "셀프호스팅 Git" },
|
{ name: "Git", url: "https://git.tolelom.xyz", icon: "🗃️", description: "셀프호스팅 Git" },
|
||||||
|
|||||||
BIN
images/og.png
Normal file
BIN
images/og.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 40 KiB |
@@ -8,6 +8,7 @@
|
|||||||
<meta property="og:title" content="김성민 — 풀스택 & 게임 개발자">
|
<meta property="og:title" content="김성민 — 풀스택 & 게임 개발자">
|
||||||
<meta property="og:description" content="김성민의 포트폴리오. 풀스택 개발자이자 게임 개발자.">
|
<meta property="og:description" content="김성민의 포트폴리오. 풀스택 개발자이자 게임 개발자.">
|
||||||
<meta property="og:url" content="https://tolelom.xyz">
|
<meta property="og:url" content="https://tolelom.xyz">
|
||||||
|
<meta property="og:image" content="https://tolelom.xyz/images/og.png">
|
||||||
<meta property="og:type" content="website">
|
<meta property="og:type" content="website">
|
||||||
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>👨💻</text></svg>">
|
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>👨💻</text></svg>">
|
||||||
<link rel="stylesheet" as="style" crossorigin href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css">
|
<link rel="stylesheet" as="style" crossorigin href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css">
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
<meta property="og:title" content="Sitemap — tolelom.xyz">
|
<meta property="og:title" content="Sitemap — tolelom.xyz">
|
||||||
<meta property="og:description" content="tolelom.xyz 서비스 및 인프라 목록">
|
<meta property="og:description" content="tolelom.xyz 서비스 및 인프라 목록">
|
||||||
<meta property="og:url" content="https://tolelom.xyz/sitemap/">
|
<meta property="og:url" content="https://tolelom.xyz/sitemap/">
|
||||||
|
<meta property="og:image" content="https://tolelom.xyz/images/og.png">
|
||||||
<meta property="og:type" content="website">
|
<meta property="og:type" content="website">
|
||||||
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>👨💻</text></svg>">
|
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>👨💻</text></svg>">
|
||||||
<link rel="stylesheet" as="style" crossorigin href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css">
|
<link rel="stylesheet" as="style" crossorigin href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css">
|
||||||
|
|||||||
Reference in New Issue
Block a user