chadchae.github.io 운영 매뉴얼
새 포스트 작성부터 배포까지 전체 절차 최종 갱신: 2026-06-29
0. 핵심 요약 (TL;DR)
# 1) 프로젝트 루트에서 R 콘솔 열기 → .Rprofile이 new_post() 자동 로드
new_post("새 글 제목", "posts_kr", "Research") # 한글 글
new_post("New Post Title", "posts_en", "Research") # 영문 미러# 2) 본문 작성 후 keywords / description 수정 → 렌더 & 배포
quarto render
git add docs
git commit -m "new article"
git push origin main1. 사이트 개요
- 성격: Chad(채충일, Chungil Chae) 교수 개인 학술 웹사이트
- 생성기: Quarto (
type: website,output-dir: docs,freeze: true) - 렌더링: R + renv (
renv.lock,.Rprofile),_freeze/에 캐시 - 테마: flatly(light) / darkly(dark) + 커스텀 SCSS
- 배포: GitHub Pages (main 브랜치의
docs/서빙) - 도메인: https://chadchae.github.io
2. 배포 구조 (반드시 이해할 것)
.gitignore가 모든 소스(.qmd 등)를 무시하고docs/(렌더링 HTML)만 추적한다.- git 추적
.qmd= 0개 / 추적docs/파일 = 다수
- git 추적
- 즉 소스는 로컬에만 존재하고, 빌드된 HTML만 push된다.
- ⚠️ 이 로컬 폴더가 유일한 원문 백업이다. 폴더 유실 시 복구 불가 → 별도 백업 권장.
- 이
manual.md와.Rprofile도 소스이므로 git 추적 대상이 아니다 (로컬 전용).
3. 새 포스트 생성 — new_post() 헬퍼
3.1 정체
.Rprofile에 정의된 사용자 함수. 프로젝트 루트에서 R/RStudio를 켜면 자동 로드되고, 시작 시 다음 안내가 출력된다:
📝 Blog helper loaded. Usage: new_post("title", "posts_kr", "tag")
distill 패키지가 아니다. 과거 distill을 떠올렸으나 실제 워크플로는 이 자체 헬퍼다.
3.2 시그니처
new_post(title, category = "posts_kr", tags = "일반", lang = "kr")| 인자 | 설명 | 기본값 |
|---|---|---|
title |
글 제목 (슬러그·description 자동 생성에 사용) | (필수) |
category |
대상 폴더 (아래 목록) | "posts_kr" |
tags |
front-matter categories: 항목 1개 |
"일반" |
lang |
현재 함수 본문에서 미사용 (무시됨) | "kr" |
3.3 사용 가능한 category 폴더
posts_kr, posts_en, posts_small_talk,
posts_research, posts_lecture, posts_consulting,
posts_product, posts_presentationandtalk,
posts_group_study, posts_project
3.4 생성 결과
new_post("새 글 제목", "posts_kr", "Research") 실행 시:
posts_kr/2026-06-29-새-글-제목/
├── 새-글-제목.qmd # 최신 글과 동일한 full front-matter 템플릿
├── images/ # 그림 폴더 (front-matter image: images/f1.png)
└── bib/
└── reference1.bib # 빈 참고문헌 파일
- 슬러그: 제목을 소문자화 + 한글 유지, 특수문자는
-로 치환 - 날짜: 오늘(
Sys.Date()) - 인터랙티브 R이면 생성된
.qmd를 편집기에서 자동 오픈
4. 한·영 이중 발행
new_post()는 EN 미러를 자동 생성하지 않는다 (lang 인자 미사용). 두 번 호출한다:
new_post("보이는 것은 키우고, 사람은 줄인다", "posts_kr", "Research")
new_post("Grow What's Visible, Reduce the Workforce", "posts_en", "Research")단독 발행도 가능 (예: 2026-04 분석 시리즈 일부는 KR 단독).
5. front-matter 작성 — 발행 전 필수 수정
new_post()가 만든 템플릿에는 placeholder가 있으므로 반드시 손본다.
| 항목 | 템플릿 기본 | 해야 할 일 |
|---|---|---|
title |
입력값 | 그대로 OK |
categories: |
tags 인자 1개 |
필요 시 추가 |
author: |
Chungil Chae / WKU / ORCID 블록 | 그대로 OK |
description: |
제목으로 채워짐 | 실제 요약문으로 교체 |
keywords: |
keyword1 / keyword2 | 실제 SEO 키워드로 교체 |
image: |
images/f1.png |
대표 이미지 넣고 경로 확인 |
bibliography: |
bib/reference1.bib |
인용 없으면 줄 삭제 가능 |
date |
오늘 | 그대로 OK |
모범 템플릿
가장 최근 글의 front-matter를 참고: posts_kr/2026-06-29-보이는것은-키우고-사람은-줄인다/보이는것은-키우고-사람은-줄인다.qmd
6. 본문 작성
- Quarto Markdown(
.qmd) 문법 - 그림: 글 폴더의
images/에 넣고참조 - 인용:
bib/reference1.bib에 BibTeX 추가 후[@key]사용 - 코드 청크 결과는
freeze: true로 캐시됨 (_freeze/)
7. 렌더링 & 배포
# 프로젝트 루트에서
quarto render # docs/ 에 HTML 출력 (변경 없으면 생략 가능)
git add docs
git commit -m "new article"
git push origin main- GitHub Pages가 main 브랜치
docs/를 자동 서빙 update.sh도 있으나git init/add/commit 'update'/push를 거칠게 수행 → 메시지 제어가 필요하면 위 수동 명령 권장
8. 콘텐츠 카테고리 & 연구축
| 카테고리 | 핵심 키워드 |
|---|---|
| 분석 / Analysis (SME DT 시리즈) | 중소기업 디지털 전환, 잠재전이분석(LTA), ML/AI, 직무만족 |
| people analytics · hr analytics | HR 애널리틱스, 비즈니스 애널리틱스 |
| Knowledge Management | 지식 공유, 이론-실천 |
| reflective / integrated essay | 성찰 에세이 |
| 한해를 마치며 (small talk) | 회고 |
- 연구축: People/HR Analytics · 중소기업 디지털 전환 · 머신러닝 · 지식 공유 (capability upgrading 연구 라인과 직결)
9. 알려진 정리 대상
10. 주의사항 (HARD)
- 한글 파일명/경로 사용 가능하나 한자(Hanja) 치환 금지 — 한글(Hangul)만 사용
- git
init/add/commit/push는 프로젝트 루트에서 (이 리포는 루트 자체가 Pages 소스) - 소스는 git에 없으므로 로컬 폴더를 별도 백업할 것
- 새 글 슬러그는 가능하면 의미 명확하게, 날짜 접두사
YYYY-MM-DD-유지
참고 파일
.Rprofile—new_post()함수 정의_quarto.yml— 사이트 전역 설정 (네비·사이드바·테마)_project.yaml— 프로젝트 메타 (오너·URL·상태)index.qmd— 홈/바이오update.sh— 배포 스크립트CLAUDE.md— 프로젝트 컨텍스트