|
439 | 439 |
|
440 | 440 | .course-card:hover .course-link-hint { color: var(--accent-gold); } |
441 | 441 |
|
| 442 | + /* ===== WRITING ===== */ |
| 443 | + .writing-grid { |
| 444 | + display: grid; |
| 445 | + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); |
| 446 | + gap: 1.25rem; |
| 447 | + } |
| 448 | + |
| 449 | + .writing-card { |
| 450 | + background: var(--bg-card); |
| 451 | + border: 1px solid var(--border); |
| 452 | + border-radius: 16px; |
| 453 | + padding: 1.75rem; |
| 454 | + transition: all 0.3s ease; |
| 455 | + text-decoration: none; |
| 456 | + color: inherit; |
| 457 | + display: block; |
| 458 | + } |
| 459 | + |
| 460 | + .writing-card:hover { |
| 461 | + background: var(--bg-card-hover); |
| 462 | + border-color: var(--border-hover); |
| 463 | + transform: translateY(-4px); |
| 464 | + } |
| 465 | + |
| 466 | + .writing-card--featured { |
| 467 | + grid-column: 1 / -1; |
| 468 | + display: flex; |
| 469 | + gap: 2rem; |
| 470 | + align-items: center; |
| 471 | + } |
| 472 | + |
| 473 | + .writing-featured-visual { |
| 474 | + flex-shrink: 0; |
| 475 | + width: 200px; |
| 476 | + height: 140px; |
| 477 | + border-radius: 12px; |
| 478 | + display: flex; |
| 479 | + align-items: center; |
| 480 | + justify-content: center; |
| 481 | + background: linear-gradient(135deg, #a78bfa 0%, #7c3aed 100%); |
| 482 | + position: relative; |
| 483 | + overflow: hidden; |
| 484 | + } |
| 485 | + |
| 486 | + .writing-featured-visual span { |
| 487 | + font-size: 0.9rem; |
| 488 | + font-weight: 700; |
| 489 | + color: white; |
| 490 | + text-align: center; |
| 491 | + padding: 0 1rem; |
| 492 | + line-height: 1.3; |
| 493 | + font-family: 'JetBrains Mono', monospace; |
| 494 | + } |
| 495 | + |
| 496 | + .writing-badge { |
| 497 | + font-family: 'JetBrains Mono', monospace; |
| 498 | + font-size: 0.6rem; |
| 499 | + letter-spacing: 0.1em; |
| 500 | + text-transform: uppercase; |
| 501 | + padding: 0.2rem 0.5rem; |
| 502 | + border-radius: 100px; |
| 503 | + display: inline-block; |
| 504 | + margin-bottom: 0.5rem; |
| 505 | + } |
| 506 | + |
| 507 | + .writing-badge--guide { background: #a78bfa18; color: var(--accent-purple); } |
| 508 | + .writing-badge--blog { background: #d4a85318; color: var(--accent-gold); } |
| 509 | + |
| 510 | + .writing-title { |
| 511 | + font-size: 1.05rem; |
| 512 | + font-weight: 700; |
| 513 | + margin-bottom: 0.4rem; |
| 514 | + line-height: 1.4; |
| 515 | + } |
| 516 | + |
| 517 | + .writing-card--featured .writing-title { font-size: 1.2rem; } |
| 518 | + |
| 519 | + .writing-desc { |
| 520 | + font-size: 0.85rem; |
| 521 | + color: var(--text-secondary); |
| 522 | + font-weight: 300; |
| 523 | + line-height: 1.5; |
| 524 | + } |
| 525 | + |
| 526 | + .writing-meta { |
| 527 | + font-family: 'JetBrains Mono', monospace; |
| 528 | + font-size: 0.6rem; |
| 529 | + color: var(--text-dim); |
| 530 | + margin-top: 0.75rem; |
| 531 | + } |
| 532 | + |
| 533 | + .writing-card:hover .writing-meta { color: var(--accent-gold); } |
| 534 | + |
| 535 | + .writing-more { margin-top: 1.5rem; text-align: center; } |
| 536 | + |
| 537 | + @media (max-width: 768px) { |
| 538 | + .writing-card--featured { flex-direction: column; } |
| 539 | + .writing-featured-visual { width: 100%; height: 120px; } |
| 540 | + } |
| 541 | + |
442 | 542 | /* ===== TALKS ===== */ |
443 | 543 | .talks-grid { |
444 | 544 | display: grid; |
|
605 | 705 | <div class="nav-links"> |
606 | 706 | <a href="#apps">Apps</a> |
607 | 707 | <a href="#teaching">Teaching</a> |
| 708 | + <a href="#writing">Writing</a> |
608 | 709 | <a href="#talks">Talks</a> |
609 | 710 | <a href="#contact">Contact</a> |
610 | 711 | </div> |
@@ -746,6 +847,61 @@ <h3 class="course-title">개발자리 채널</h3> |
746 | 847 | </div> |
747 | 848 | </section> |
748 | 849 |
|
| 850 | +<!-- ===== WRITING ===== --> |
| 851 | +<section id="writing" class="section animate-on-scroll"> |
| 852 | + <div class="container"> |
| 853 | + <p class="section-label">Writing & Guides</p> |
| 854 | + <h2 class="section-title">쓰고 만든 것들</h2> |
| 855 | + <p class="section-desc">경험과 인사이트를 글과 가이드로 정리합니다.</p> |
| 856 | + |
| 857 | + <div class="writing-grid"> |
| 858 | + <a class="writing-card writing-card--featured" href="https://m1zz.github.io/ClaudeCode101/" target="_blank"> |
| 859 | + <div class="writing-featured-visual"> |
| 860 | + <span>Claude Code<br>101</span> |
| 861 | + </div> |
| 862 | + <div> |
| 863 | + <span class="writing-badge writing-badge--guide">Open Guide · 11 Modules</span> |
| 864 | + <h3 class="writing-title">Claude Code 101 — 완전 입문 가이드</h3> |
| 865 | + <p class="writing-desc">비개발자도 따라할 수 있는 Claude Code 한국어 입문서. 터미널 기초부터 실전 앱 제작까지 16~22시간 커리큘럼.</p> |
| 866 | + <div class="writing-meta">→ 가이드 사이트 바로가기</div> |
| 867 | + </div> |
| 868 | + </a> |
| 869 | + |
| 870 | + <a class="writing-card" href="https://leeo.ghost.io/claude-code-101-hangugeo-ibmun-gaideureul-mandeun-iyu/" target="_blank"> |
| 871 | + <span class="writing-badge writing-badge--blog">Blog</span> |
| 872 | + <h3 class="writing-title">Claude Code 101 — 한국어 입문 가이드를 만든 이유</h3> |
| 873 | + <p class="writing-desc">바이브 코딩에 빠진 개발자가 주변의 질문에 답하다 체계적인 한국어 자료를 만들게 된 이야기.</p> |
| 874 | + <div class="writing-meta">2026.02.23 · 9 min read</div> |
| 875 | + </a> |
| 876 | + |
| 877 | + <a class="writing-card" href="https://leeo.ghost.io/naneun-nuguege-mueoseul-eoddeohge-jeondalhal-geosinga-baibeukoding-jeone-cajaya-hal-jilmune-dabeul-cajneun-beob/" target="_blank"> |
| 878 | + <span class="writing-badge writing-badge--blog">Blog</span> |
| 879 | + <h3 class="writing-title">나는 누구에게, 무엇을, 어떻게 전달할 것인가?</h3> |
| 880 | + <p class="writing-desc">바이브코딩 전에 찾아야 할 질문. 돈을 버는 개발자와 그렇지 못한 개발자를 나누는 원초적 요소.</p> |
| 881 | + <div class="writing-meta">2026.02.25 · Blog</div> |
| 882 | + </a> |
| 883 | + |
| 884 | + <a class="writing-card" href="https://leeo.ghost.io/1in-gaebaljaga-doneul-beoneun-jinjja-iyu-seonggong-sarye-haebu/" target="_blank"> |
| 885 | + <span class="writing-badge writing-badge--blog">Blog</span> |
| 886 | + <h3 class="writing-title">1인 개발자가 돈을 버는 진짜 이유 — 성공 사례 해부</h3> |
| 887 | + <p class="writing-desc">실제 수익을 낸 1인 개발자들의 사례를 분석하며, 바이브 코딩 너머의 본질을 이야기합니다.</p> |
| 888 | + <div class="writing-meta">2026.02.24 · Blog</div> |
| 889 | + </a> |
| 890 | + |
| 891 | + <a class="writing-card" href="https://leeo.ghost.io/higlab-apple-gisulyi-jidoreul-sone-neohda/" target="_blank"> |
| 892 | + <span class="writing-badge writing-badge--guide">Project</span> |
| 893 | + <h3 class="writing-title">HIGLab — Apple 기술의 지도를 손에 넣다</h3> |
| 894 | + <p class="writing-desc">Apple 플랫폼 기술을 체계적으로 정리하며 iOS 개발 능력을 한 단계 끌어올리는 프로젝트.</p> |
| 895 | + <div class="writing-meta">2026.02.20 · Blog</div> |
| 896 | + </a> |
| 897 | + </div> |
| 898 | + |
| 899 | + <div class="writing-more"> |
| 900 | + <a href="https://leeo.ghost.io/" target="_blank" class="btn btn--outline">블로그 전체 글 보기 →</a> |
| 901 | + </div> |
| 902 | + </div> |
| 903 | +</section> |
| 904 | + |
749 | 905 | <!-- ===== TALKS ===== --> |
750 | 906 | <section id="talks" class="section animate-on-scroll"> |
751 | 907 | <div class="container"> |
@@ -845,6 +1001,7 @@ <h2 class="contact-title">Let's Connect</h2> |
845 | 1001 | <a href="mailto:leeo@kakao.com" class="contact-link">Email</a> |
846 | 1002 | <a href="https://www.youtube.com/@Leeo25" target="_blank" class="contact-link">YouTube</a> |
847 | 1003 | <a href="https://github.com/M1zz" target="_blank" class="contact-link">GitHub</a> |
| 1004 | + <a href="https://leeo.ghost.io/" target="_blank" class="contact-link">Blog</a> |
848 | 1005 | <a href="https://www.inflearn.com/users/604991/@leeo" target="_blank" class="contact-link">Inflearn</a> |
849 | 1006 | <a href="https://fastcampus.co.kr/dev_online_ios" target="_blank" class="contact-link">Fastcampus</a> |
850 | 1007 | <a href="https://apps.apple.com/us/app/clip-keyboard-quick-phrases/id1543660502" target="_blank" class="contact-link">App Store</a> |
|
0 commit comments