사이트 전체 기능과 설정 색인 (4.10.2)
설정 원본 파일: blog.config.js가 conf/*.config.js를 모아 사용합니다. 환경 변수는 대부분 NEXT_PUBLIC_키명 형식입니다. 서버 전용 키에는 이 접두사가 없으며, 자세한 내용은 각 파일 주석을 참고하세요.
사이트 기본 설정 (blog.config.js)
| 키 / 변수 | 설명 |
|---|---|
THEME | 테마 ID. themes/ 아래 폴더명과 같습니다. |
LANG | 기본 언어. 예: zh-CN, en-US |
AUTHOR / BIO / LINK | 작성자, 소개, 사이트 URL. 공유, RSS, Sitemap에 영향을 줍니다. |
KEYWORDS | SEO 키워드 |
APPEARANCE | light / dark / auto |
APPEARANCE_DARK_TIME | 자동 다크 모드 시간대. 예: [18, 6] |
NEXT_REVALIDATE_SECOND | ISR 캐시 초. 값이 클수록 Vercel 사용량을 아낄 수 있습니다. |
PSEUDO_STATIC | URL을 .html로 끝나게 합니다. |
ENABLE_RSS | RSS 생성 |
CUSTOM_MENU | Menu/SubMenu 내비게이션 사용 |
CAN_COPY | 본문 복사 허용 여부 |
GREETING_WORDS | 환영 문구 타이핑 효과. 일부 테마에서 사용합니다. |
LAYOUT_SIDEBAR_REVERSE | 사이드바 좌우 반전. hexo/next 등에서 사용합니다. |
UUID_REDIRECT | UUID를 slug로 리다이렉트 |
CUSTOM_EXTERNAL_JS / CSS | 외부 스크립트와 스타일 |
BEI_AN / BEI_AN_GONGAN | 등록 번호 |
글과 목록 (conf/post.config.js)
| 키 | 설명 |
|---|---|
POST_URL_PREFIX | 글 경로 접두사. %year%/%month%/%day% 지원. 빈 값이면 /slug입니다. |
POST_SCHEDULE_PUBLISH | 발행 시간 기준 예약 발행 |
POST_LIST_STYLE | page 페이지네이션 / scroll 스크롤 로딩 |
POST_LIST_PREVIEW | 목록에서 미리보기 표시 여부 |
POSTS_PER_PAGE | 페이지당 글 수 |
POSTS_SORT_BY | notion 또는 date |
POST_RECOMMEND_COUNT | 글 끝 추천 글 수 |
POST_SHARE_BAR_ENABLE | 하단 공유 바 |
POSTS_SHARE_SERVICES | 공유 채널 목록 |
ARTICLE_EXPIRATION_* | 글 만료 안내. HEO 등 테마에서 사용합니다. |
TAG_SORT_BY_COUNT | 태그를 글 수 기준으로 정렬 |
Notion (conf/notion.config.js)
notion-4x.md를 참고하세요.
상단 고정 (conf/top-tag.config.js)
| 키 | 설명 |
|---|---|
TOP_TAG | 전역 상단 고정 태그명. 여러 고정 글은 최근 업데이트 시간순으로 정렬합니다. |
댓글 (conf/comment.config.js)
여러 댓글 플러그인을 동시에 켤 수 있으며, 댓글 영역에서 탭으로 전환합니다. 자세한 내용은 comments/overview.md를 참고하세요.
| 키 접두사 | 플러그인 |
|---|---|
COMMENT_TWIKOO_* / NEXT_PUBLIC_COMMENT_ENV_ID | Twikoo |
COMMENT_WALINE_* / NEXT_PUBLIC_WALINE_* | Waline. Notion Config에서는 WALINE_* 별칭 사용 가능, 4.9+ |
COMMENT_VALINE_* / NEXT_PUBLIC_VALINE_* | Valine |
COMMENT_GISCUS_* | Giscus |
COMMENT_UTTERRANCES_REPO | Utterances |
COMMENT_CUSDIS_* | Cusdis |
COMMENT_GITALK_* | Gitalk |
COMMENT_ARTALK_* | Artalk |
COMMENT_WEBMENTION_* | Webmention |
COMMENT_HIDE_SINGLE_TAB | 댓글 시스템이 하나뿐일 때 탭 숨김 |
통계 (conf/analytics.config.js)
| 키 | 설명 |
|---|---|
ANALYTICS_GOOGLE_ID | GA4 |
ANALYTICS_BAIDU_ID | Baidu Analytics |
ANALYTICS_CNZZ_ID | Umeng/CNZZ |
ANALYTICS_51LA_ID / ANALYTICS_51LA_CK | 51LA |
ANALYTICS_ACKEE_* | 자체 호스팅 Ackee |
UMAMI_HOST / UMAMI_ID | Umami |
CLARITY_ID | Microsoft Clarity |
ANALYTICS_VERCEL | Vercel Analytics |
ANALYTICS_BUSUANZI_ENABLE | Busuanzi 조회 수 |
MATOMO_* | Matomo |
SEO_GOOGLE_SITE_VERIFICATION / SEO_BAIDU_* | 웹마스터 검증 |
위젯과 채팅 (conf/widget.config.js)
| 키 | 설명 |
|---|---|
THEME_SWITCH | 온라인 테마 전환 패널 |
MUSIC_PLAYER_* | APlayer / Meting. plugins/music-player.md 참고 |
WIDGET_PET / WIDGET_PET_LINK | Live2D 펫 |
CHATBASE_ID | Chatbase |
WEB_WHIZ_* | Webwhiz 봇 |
DIFY_CHATBOT_* | Dify 임베드 |
FACEBOOK_PAGE_* | Facebook Page / Messenger |
SPOILER_TEXT_TAG | spoiler 숨김 태그. 예: [sp]text[sp] |
동작 효과 (conf/animation.config.js)
| 키 | 설명 |
|---|---|
FIREWORKS | 클릭 불꽃 효과 |
MOUSE_FOLLOW | 마우스 따라가기 입자 |
SAKURA / NEST / RIBBON / FLUTTERINGRIBBON | 벚꽃, 선, 리본 효과 |
STARRY_SKY | 별하늘 효과. 다크 모드에서 사용 |
ANIMATE_CSS_URL | Animate.css |
이미지 (conf/image.config.js)
| 키 | 설명 |
|---|---|
IMAGE_COMPRESS_WIDTH | 목록/본문 압축 너비 |
IMAGE_ZOOM_IN_WIDTH | 클릭 확대 너비 |
RANDOM_IMAGE_URL | 랜덤 이미지 API |
RANDOM_IMAGE_REPLACE_TEXT | 대체할 URL 키워드. 예: images.unsplash.com |
IMG_SHADOW | 이미지 그림자 |
NOTION_HOST | Notion 이미지 호스팅 도메인. reverse proxy에 사용 |
코드 블록 (conf/code.config.js)
| 키 | 설명 |
|---|---|
PRISM_THEME_* | 하이라이트 테마와 라이트/다크 전환 |
CODE_MAC_BAR | Mac 창의 세 가지 색 점 |
CODE_LINE_NUMBERS | 줄 번호 |
CODE_COLLAPSE | 긴 코드 접기 |
MERMAID_CDN | Mermaid 차트 |
광고 (conf/ad.config.js)
| 키 | 설명 |
|---|---|
ADSENSE_GOOGLE_* | Google AdSense 광고 위치 |
AD_WWADS_* | WWAds |
확장 플러그인 (conf/plugin.config.js)
| 키 | 설명 |
|---|---|
ALGOLIA_* | 전문 검색. config/algolia.md 참고 |
AI_SUMMARY_* | AI 글 요약 API |
TianliGPT_* | TianliGPT 요약 |
MAILCHIMP_* | 이메일 구독. plugins/mailchimp.md 참고 |
공식 계정 유입 (conf/techgrow.config.js)
| 키 | 설명 |
|---|---|
TECH_GROW_* | TechGrow 전문 보기 / 인증 코드 유입 |
성능 (conf/performance.config.js)
lazy loading, prefetch, Web Vitals, 압축 등을 다룹니다. 프로덕션 환경에서는 보통 Next/Vercel과 ENABLE_CACHE가 함께 동작합니다.
빌드 / export 전용 환경 변수
yarn build, yarn export, 즉 BUILD_MODE / EXPORT 시에만 적용됩니다. 전체 설명은 배포: 빌드 성능 튜닝을 참고하세요.
| 환경 변수 | 기본값 | 설명 |
|---|---|---|
BUILD_PREFETCH_ENABLED | 켜짐 | false이면 전체 block 예열을 끕니다. |
BUILD_PREFETCH_CONCURRENCY | 8 | 예열 동시성 |
NOTION_BUILD_RATE_MAX_PER_MINUTE | 50 | 빌드 중 Notion 분당 요청 상한 |
NOTION_BUILD_RATE_MIN_INTERVAL_MS | 300 | 빌드 중 요청 최소 간격, ms |
STATIC_PAGE_GENERATION_TIMEOUT | 300 | 단일 페이지 SSG timeout, 초 |
캐시와 디버깅 (conf/dev.config.js)
| 키 | 설명 |
|---|---|
REDIS_URL | Redis 캐시 |
ENABLE_CACHE | 파일/메모리 캐시 |
ENABLE_FILE_CACHE | 파일 캐시 |
DEBUG | 디버그 버튼 |
연락처 (conf/contact.config.js)
CONTACT_EMAIL, CONTACT_GITHUB, CONTACT_TWITTER 등입니다. 값은 URL을 입력하며, 일부 테마의 사이드바에 표시됩니다.
우클릭 메뉴 (conf/right-click-menu.js)
CUSTOM_RIGHT_CLICK_CONTEXT_MENU: 브라우저 우클릭 메뉴 항목을 사용자 지정합니다.
라우트 레이아웃 (conf/layout-map.config.js)
특정 라우트에 다른 Layout을 지정합니다. 고급 설정입니다.
테마 전용 설정
각 테마의 themes/{id}/config.js 안에 있는 THEME_* 키는 해당 테마에서만 적용됩니다. 전체 표는 themes/THEMES_CATALOG.md를 참고하세요.
온라인 미리보기
https://preview.tangly1024.com/?theme={theme-id}
