[TIL] 2026-05-31 — GitHub.io 블로그 전면 개편 · 팀플 기획(협동+마피아)
[TIL] 2026-05-31 — GitHub.io 블로그 전면 개편 · 팀플 기획(협동+마피아)
2026-05-31 GitHub.io 블로그 전면 개편 — 카테고리 주제화·알고리즘 발행 파이프라인·노션식 사이드바 + 팀플 기획(협동+마피아)
목차
- 오늘 한 일 요약
- 작업 환경
- 1. 카테고리 개편 — 날짜(월) → 주제 기반
- 2. 태그 통제 어휘 + CI lint
- 3. 강의노트·구현계획 카테고리 제거
- 4. 알고리즘 작업물 발행 파이프라인
- 5. 카테고리 UI — 노션식 접이식 트리(페이지·사이드바)
- 6. 팀플 기획 — 강동욱 튜터님 협동+마피아 게임 제안
- 오늘 배운 것 정리
오늘 한 일 요약
- 카테고리를 날짜축 → 주제축으로 개편 —
_postsfrontmatter의categories에서 월 버킷(2026-05)을 제거. 날짜 탐색은 Chirpy의 Archives 탭에 일임하고, 카테고리는CS 면접 준비 / 알고리즘 / TIL등 주제만 남김.tools/migrate-to-posts.ps1§1 수정 +_posts재생성. - 태그 통제 어휘 도입 —
_data/tag_vocab.yml에 canonical 태그 + 별칭(예:운영체제→os,언리얼→ue5) 정의.tools/tag-vocab.ps1(YAML 의존성 없는 파서)·tools/normalize-tags.ps1(정규화 lint) 신설. 배포 워크플로우에-Strictlint 추가로 미등록 태그 유입 차단. (Notion 이관 잔재 293개 태그는 클린 빌드로 자연 정리) - 강의노트·구현계획 카테고리 제거 —
Unreal C++/강의 노트,스크럼 회고/구현계획포스트 10개 삭제 + migrate 섹션 제거. 발행 카테고리를 TIL·CS·알고리즘으로 한정. - 알고리즘 작업물 발행 파이프라인 구축 —
CodeKata/(프로그래머스)·100zun/(플랫폼 자동판별) cpp를 포스트로 발행. CodeKata 8개의 몰린 git 날짜를 빈 평일로 재배치. 4·5월 빈 활동 평일 12일에 프로그래머스 Lv.1 풀이를 새로 작성해 발행. 100zun에 섞여 LeetCode로 오분류돼 있던 백준 8문제 자동 교정. - 카테고리 UI 노션화 — 카테고리 페이지(
_layouts/categories.html)와 왼쪽 사이드바(_includes/sidebar.html)에 접이식 트리 추가. 기본 펼침, 폴더 아이콘 제거, 이름 한 줄 표시. - 팀플 기획 정리 — 강동욱 튜터님이 채팅으로 제안한 “Chained Together” 협동+마피아 게임 아이디어를 기획 노트로 정리.
오늘은 언리얼이 아니라 블로그 인프라(Jekyll Chirpy) 작업 위주. 커밋 8개 + 배포 8회 전부 정상.
작업 환경
- 저장소:
C:\GitHub\Bootcamp-TIL(=GoldBoll.github.io) - 테마:
jekyll-theme-chirpy 7.5.0/ Ruby 3.3 / GitHub Pages Actions 배포 - 도구:
tools/migrate-to-posts.ps1(원본 →_posts변환), 신규tag-vocab.ps1·normalize-tags.ps1
1. 카테고리 개편 — 날짜(월) → 주제 기반
기존엔 TIL 포스트가 categories: ["TIL", "2026-05"]처럼 월을 하위 카테고리로 달고 있었다. 이건 날짜축이라 “주제별 보기”가 안 된다. 날짜 탐색은 Chirpy Archives 탭이 이미 담당하므로 카테고리에서 월을 제거하고 주제만 남겼다.
migrate-to-posts.ps1§1:-Categories @("TIL", $ym)→@("TIL")_posts88개 재생성 — diff는 카테고리 줄 +render_with_liquid: false일관 적용뿐
2. 태그 통제 어휘 + CI lint
Notion 이관 잔재로 태그가 난립(라이브에 293개)했었다. 통제 어휘로 가드레일을 세웠다.
_data/tag_vocab.yml— canonical 태그 + 별칭 매핑tools/tag-vocab.ps1—powershell-yaml모듈 없이 vocab을 파싱/정규화하는 공용 로더tools/normalize-tags.ps1—_posts태그 정규화.-Apply(실제 치환)/-Strict(미등록 시 exit 1, CI용).github/workflows/pages-deploy.yml— 빌드 전normalize-tags.ps1 -Strict단계 추가- 교훈:
Join-Path $Root "_data\tag_vocab.yml"의\는 리눅스 PowerShell Core에서 안 먹는다 →Join-Path $Root "_data" "tag_vocab.yml"로 크로스플랫폼화
3. 강의노트·구현계획 카테고리 제거
블로그에는 팀프로젝트·개인 R&D·알고리즘 같은 결과물 위주로 노출하기로. 강의 노트(언리얼 마스터)·구현계획은 카테고리에서 제외.
- migrate §3·§4(언리얼 마스터·구현계획) 삭제 → 재실행해도 재생성 안 됨
- 기존 포스트 10개(
ue-master2 +plan8) 삭제 - 앞으로 팀프로젝트/개인 R&D 글은 일일 TIL에서 part 마커(
cat="..."형태의 HTML 주석)로 떼어내 발행하는 방식으로 운용 예정
4. 알고리즘 작업물 발행 파이프라인
CodeingTest/CodingTest/ 아래 cpp 풀이들을 블로그에 카테고리별로 발행.
- 소스→카테고리:
CodeKata/→알고리즘/프로그래머스,100zun/→제목 첫 줄의 플랫폼 키워드로 자동 판별(프로그래머스/백준/LeetCode) - 제목/출처: cpp 첫 주석에서 제목·URL 추출, 코드블록으로 본문 구성
- CodeKata 날짜 재배치: 01~08이 git 일괄 커밋(2026-03-05)으로 한 날에 몰려 있던 걸 직전 빈 평일(02-23~03-05)에 하루 1개씩 분배 (
kataDates매핑) - 4·5월 빈 평일 12문제 신규 풀이 발행 — 프로그래머스 Lv.1 (서울에서 김서방 찾기·가운데 글자·행렬 덧셈·3진법 뒤집기·삼총사·크기가 작은 부분문자열·숫자 문자열과 영단어·문자열 정렬·콜라 문제·명예의 전당·과일 장수·모의고사)
- 버그 2건 수정: ① 100zun에 섞인 백준 8문제가 LeetCode로 오분류 → 플랫폼 자동판별로 교정. ② CodeKata 제목 추출이 빈 주석(
//)·주석처리된 코드(// #include)를 제목으로 잡던 문제 → CodeKata는CodeKata NN고정,Get-CodeTitle은 빈 주석·URL·주석코드 스킵하도록 강화
5. 카테고리 UI — 노션식 접이식 트리(페이지·사이드바)
노션 좌측 사이드바처럼 카테고리를 바로 펼쳐보고 싶다는 요구.
- 카테고리 페이지(
_layouts/categories.html): 카드 헤더 행 전체를 collapse 토글 버튼화 - 왼쪽 사이드바(
_includes/sidebar.html): “카테고리” 항목에 2단 접이식 트리 삽입. 기본 펼침, 글 수 표시 - 삽질 기록(레이아웃):
overflow-wrap: anywhere+ flexmin-width:0→ 좁은 폭에서 글자가 한 자씩 세로로 쪼개짐- 이어서
text-overflow: ellipsis→ 이름이 0폭으로 사라짐 - 최종: 테마
.nav-link대신 전용.cat-link클래스 +word-break: keep-all, 폴더 아이콘 제거, 들여쓰기 축소로 해결
- 교훈: 테마의 기존 컴포넌트 클래스(
.nav-link)를 그대로 재사용하면 그 스타일(라운드 박스·우측 치우침)에 끌려간다. 트리는 전용 클래스로 분리하는 게 깔끔.
6. 팀플 기획 — 강동욱 튜터님 협동+마피아 게임 제안
(상세: scrum/팀플_기획_Chained-Together_협동마피아.md)
- 튜터님이 “Chained Together” 게임을 보고 8조에 협동 게임 제작 제안 (리소스·퀄리티 부담 낮음)
- 컨셉: 협력 클리어 + 어몽어스식 배신자 1명(미션 실패가 목적). 마지막에 지목당하면 배신자 패배
- 보상: 클리어+배신자 색출 → 최대 / 실패해도 배신자 색출 → 소정
- 다음: “Chained Together” 직접 확인 후 8조 기획 회의 안건으로
오늘 배운 것 정리
- 분류 축을 분리하라 — 날짜(언제)와 주제(무엇)는 다른 축이다. Chirpy는 날짜=Archives, 주제=Categories로 이미 분리돼 있는데 카테고리에 월을 끼워 넣어 축이 섞였던 것. 도구가 주는 축을 존중하면 분류가 단순해진다.
- 가드레일은 단일 출처 + CI에서 — 태그 난립은 “허용 목록(vocab) + 자동 정규화 + CI 차단” 3단으로 막는다. 사람 규율에 기대지 않는다.
- 메타데이터는 콘텐츠 가까이 — cpp 첫 주석 한 줄(
// 플랫폼 제목)로 카테고리·제목·출처가 자동 결정되게 하면, 별도 설정 파일 없이 글 작성만으로 분류가 끝난다. - PowerShell 크로스플랫폼 — 로컬(Windows)에선
\경로가 되지만 CI(Linux PowerShell Core)에선 깨진다.Join-Path는 인자를 나눠 주자. - 테마 커스텀은 전용 클래스로 — 기존 컴포넌트 클래스 재사용은 그 스타일을 떠안는다. 새 UI는 전용 클래스로 분리해야 의도대로 통제된다.
- CSS 줄바꿈 함정 — 좁은 flex 컨테이너에서
overflow-wrap:anywhere는 글자 단위 줄바꿈을,min-width:0 + ellipsis는 0폭 소실을 일으킨다. 짧은 라벨은word-break:keep-all로 단어 단위 줄바꿈이 안전.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.