通过 _config.yml、_data/profile.yml、_data/theme.yml、_data/series.yml 集中管理站点信息、界面开关与系列定义
jekyll-theme-velog — Jekyll 博客模板
作者 woonyong-choi
基于 Jekyll 的 Velog 风格博客模板,通过配置文件管理站点信息、界面选项与系列,支持本地搜索、深色模式,并提供 GitHub Pages Actions 部署流程。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
目前有 1 张原始预览,可打开完整图片查看设计细节。
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
内置本地搜索、标签筛选、系列归档与无限滚动
支持浅色/深色主题切换,并提供 RSS、sitemap 与 SEO metadata
可选集成 Giscus 或 Disqus 评论、Algolia DocSearch、Google Analytics
可选同步 GitHub 个人资料与贡献图,未启用时不调用外部 API
提供 GitHub Actions 部署流程,并在构建时检查 HTML 结构、内部链接与未替换占位符
模板详细介绍
这是一个面向 GitHub Pages 的 Jekyll 博客模板,视觉风格参考 Velog。站点信息、界面开关和系列定义分别放在 _config.yml、_data/profile.yml、_data/theme.yml 与 _data/series.yml 中,文章使用 Markdown 与 front matter 编写。模板内置本地搜索、标签筛选、系列归档、无限滚动、RSS、sitemap 与浅色/深色主题;评论、Algolia DocSearch、Google Analytics、GitHub 个人资料与贡献图同步均为可选,默认关闭。
部署方面,仓库提供 GitHub Actions workflow,在 push 到 main 时构建并部署到 GitHub Pages,pull request 只做构建与验证。构建流程会检查生成 HTML 结构、必要产物、内部链接以及未替换的占位符。本地运行需要 Ruby、Bundler 与 Python 3,验证脚本依赖 Python。
使用限制:模板代码采用 MIT 许可,但演示图片、字体、图标等第三方素材需单独核对许可;GitHub 贡献图同步、Giscus、Disqus、Algolia 与 Google Analytics 等外部服务可能涉及额外配置或费用。模板未声明生产环境下的性能或稳定性保证。
适合你的项目吗?
适用场景
- 在 GitHub Pages 上搭建个人技术博客,并以系列和标签组织文章
- 需要本地搜索、深色模式与 RSS 的静态博客项目
- 希望用配置文件控制界面元素显示与否,而不修改模板代码
- 需要按系列归档文章,并在文章 front matter 中只引用系列标识符
- 希望通过 GitHub Actions 自动构建、验证并部署站点
适合人群
- 熟悉 Markdown 与 Jekyll 基本目录结构的博客作者
- 使用 GitHub Pages 托管静态站点、接受 GitHub Actions 部署流程的用户
- 需要系列、标签、本地搜索等博客组织功能的开发者
- 希望以配置文件而非代码改动来定制界面与集成的用户
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
点击 Use this template 创建新仓库,然后修改 _config.yml、_data/profile.yml 与 _data/theme.yml
- 2
在仓库 Settings → Pages → Build and deployment → Source 中选择 GitHub Actions
- 3
本地运行需要 Ruby、Bundler 与 Python 3,执行 bundle install 后可用 bundle exec jekyll serve 预览
- 4
评论、Algolia、Google Analytics、GitHub 贡献图同步等可选功能默认关闭,需在配置中显式启用并填写凭据
- 5
部署 workflow 会自动注入仓库地址与路径,仅在自定义域名时才需要手动设置 _config.yml 中的 url
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- GitHub 贡献图同步为可选功能,默认关闭;若需包含私有仓库贡献,必须额外配置仓库 secret GH_PAT,否则仅能获取公开贡献数据。
- 使用 Giscus 评论为可选功能,默认关闭;启用前必须先在公开仓库开启 Discussions 并安装 giscus 应用,否则评论脚本不会加载。
- Algolia DocSearch 为可选功能,默认关闭;配置时只能使用仅搜索权限的 API key,禁止将具有写权限的 Admin API key 放入公开仓库。
- Jenkins 部署为独立可选路径,需要单独的凭据并使用 gh-pages 分支作为源;不建议与默认 GitHub Pages Actions 工作流同时启用。
- 模板代码采用 MIT 许可,但演示图片等第三方素材的来源与许可单独记录在 NOTICE.md 中,需自行核对,不随代码许可一并授予。
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
private contribution을 포함하려면 저장소 secret `GH_PAT`를 추가합니다.
README 原文
public 저장소의 Discussions와 [giscus 앱](https://github.com/apps/giscus)을 먼저 활성화해야 합니다.
README 原文
쓰기 권한이 있는 Admin API key를 공개 저장소에 넣지 마세요.
README 原文
Jenkins 배포는 별도 credential과 `gh-pages` source를 사용하는 독립 경로이며, 기본 GitHub Pages workflow와 동시에 사용하지 않는 것을 권장합니다.
README 原文
https://github.com/woonyong-choi/jekyll-theme-velog/blob/main/LICENSEhttps://github.com/woonyong-choi/jekyll-theme-velog/blob/main/README.md이미지 출처와 고지는 [NOTICE.md](NOTICE.md)에 정리되어 있습니다.
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-03。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 85 / 100
- 技术栈
- Jekyll
- 网站类型
- 博客 · 启动器
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-08-03
- 截图检查日期
- 2026-10-03
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Jekyll。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: [email protected] · 2026-10-04
查看当时使用的来源资料
SHA-256: 704576d6638e9721ecd9b7a300585eb06c96e581749131c27bc086b5cd91d521
2026-10-03T17:58:53.854Z
来源文件 / 仓库# jekyll-theme-velog
[](https://github.com/woonyong-kr/jekyll-theme-velog/actions/workflows/deploy.yml)
[](https://woonyong-kr.github.io/jekyll-theme-velog/)
[](https://jekyllrb.com/)
[](LICENSE)
Velog-style Jekyll starter for GitHub Pages.
글·시리즈·태그·로컬 검색, 라이트/다크 테마, 선택형 GitHub 프로필 동기화와 댓글·검색 연동. 소유자 URL이나 저장소 경로를 코드에 고정하지 않고 GitHub Pages Actions가 배포 경로를 주입합니다.
[라이브 데모](https://woonyong-kr.github.io/jekyll-theme-velog/) · [설정 파일](#설정) · [배포](#github-pages-배포) · [검증](#검증)
## 미리보기
| 홈 | 시리즈 | 글 |
|---|---|---|
|  |  |  |
## 기능
- 글 카드, 시리즈, 태그 필터, 로컬 검색, 무한 스크롤
- 반응형 레이아웃, 라이트/다크 모드, RSS, sitemap, SEO metadata
- GitHub 프로필·기여 그래프 동기화(선택)
- Giscus 또는 Disqus 댓글(선택)
- Algolia DocSearch와 Google Analytics 연동(선택)
- GitHub Pages 공식 artifact 배포, pull request 빌드 검증
- 생성 HTML 구조, 필수 산출물, 내부 링크, 미치환 placeholder 자동 검사
## 빠른 시작
1. **Use this template**을 눌러 새 저장소를 만듭니다.
2. `_config.yml`, `_data/profile.yml`, `_data/theme.yml`을 수정합니다.
3. `Settings → Pages → Build and deployment → Source`에서 **GitHub Actions**를 선택합니다.
4. `main`에 push하고 **Actions → Pages**가 통과했는지 확인합니다.
프로젝트 페이지와 사용자 페이지 모두 기본 로컬 URL을 유지할 수 있습니다. 배포 workflow가 저장소 주소와 경로를 자동으로 적용합니다. 커스텀 도메인을 사용할 때만 `url`을 직접 지정합니다.
```yaml
# _config.yml
title: 내 블로그
description: 개발 기록
url: "http://localhost:4000"
baseurl: ""
```
커밋 이력을 유지한 채 upstream 변경을 추적하려면 fork를 사용해도 됩니다. 새 블로그에는 **Use this template**이 더 단순합니다.
## 로컬 실행
요구 환경: Ruby `3.4.10`, Bundler, Python 3(검증 스크립트)
```bash
bundle install
bundle exec jekyll doctor
bundle exec jekyll serve
```
기본 주소는 `http://127.0.0.1:4000/`입니다. 배포 경로까지 재현하려면 다음처럼 실행합니다.
```bash
bundle exec jekyll serve --baseurl /my-blog
# http://127.0.0.1:4000/my-blog/
```
## 설정
| 파일 | 책임 |
|---|---|
| `_config.yml` | 사이트 metadata, 댓글, 검색, 분석, 플러그인 |
| `_data/profile.yml` | 이름, 소개, avatar, GitHub 링크 fallback |
| `_data/theme.yml` | 헤더, 탭, 홈, 기여 그래프, footer UI |
| `_data/series.yml` | 시리즈 식별자, 표시 이름, 설명 |
### 프로필
```yaml
# _data/profile.yml
display_name: 이름
bio: 한 줄 소개
intro: 추가 정보
avatar: /assets/images/avatar-placeholder.svg
github: https://github.com/my-id
```
`github`이 비어 있으면 헤더의 GitHub 버튼은 렌더링하지 않습니다.
### 화면 옵션
```yaml
# _data/theme.yml
header:
show_github_link: true
show_rss_link: true
show_theme_toggle: true
tabs:
show_about: false
home:
initial_post_count: 12
```
각 boolean은 `false`를 그대로 보존합니다. 사용하지 않는 버튼이나 탭은 설정만으로 제거할 수 있습니다.
### 시리즈
```yaml
# _data/series.yml
data-engineering:
title: 데이터 엔지니어링
description: 수집·정규화·품질 검증 기록
```
포스트 front matter에는 시리즈 식별자만 사용합니다.
```yaml
series: data-engineering
```
## 포스트 작성
파일명: `_posts/YYYY-MM-DD-slug.md`
```markdown
---
title: 글 제목
description: 카드 설명
date: 2026-01-01 09:00:00 +0900
updated_at: 2026-01-02 21:00:00 +0900
thumbnail: /assets/images/posts/cover.png
series: data-engineering
tags: [Jekyll, GitHub Pages]
---
본문
```
미래 날짜의 포스트는 기본 빌드에서 제외됩니다. 이미지 경로는 `assets/images/` 아래 절대 경로 형식을 권장합니다.
## 선택 연동
기본값은 모두 비활성화되어 있으며, 필요한 기능만 설정합니다.
### GitHub 프로필·기여 그래프
```yaml
# _data/theme.yml
hero:
github_contributions:
enabled: true
username: my-id
profile:
github_sync:
enabled: true
```
workflow는 `GITHUB_TOKEN`을 기본 사용합니다. private contribution을 포함하려면 저장소 secret `GH_PAT`를 추가합니다. 로컬 갱신:
```bash
GITHUB_GRAPHQL_TOKEN=... ruby scripts/fetch_github_contributions.rb
```
동기화를 끈 상태에서는 외부 API를 호출하지 않고 fallback 프로필로 빌드합니다.
### Giscus
```yaml
# _config.yml
comments:
provider: giscus
giscus:
repo: owner/repository
repo_id: R_...
category: Announcements
category_id: DIC_...
```
public 저장소의 Discussions와 [giscus 앱](https://github.com/apps/giscus)을 먼저 활성화해야 합니다. 값이 하나라도 비어 있으면 댓글 스크립트를 로드하지 않습니다.
### Disqus
```yaml
comments:
provider: disqus
disqus:
shortname: my-shortname
```
### Algolia DocSearch
```yaml
search:
provider: algolia
algolia:
app_id: APP_ID
api_key: SEARCH_ONLY_API_KEY
index_name: INDEX_NAME
```
쓰기 권한이 있는 Admin API key를 공개 저장소에 넣지 마세요. 설정이 불완전하면 로컬 검색으로 자동 전환합니다.
### Google Analytics
```yaml
analytics:
google:
measurement_id: G-XXXXXXXXXX
```
production 빌드에서만 스크립트를 로드합니다.
## GitHub Pages 배포
`.github/workflows/deploy.yml`의 흐름:
```text
checkout
→ Pages 경로 계산
→ Jekyll build
→ 구조·링크·placeholder 검증
→ Pages artifact 업로드
→ github-pages 환경 배포
```
- `push main`: 빌드·검증·배포
- `pull_request`: 빌드·검증, 배포 없음
- `schedule`: 선택형 GitHub 프로필 데이터 갱신
- `workflow_dispatch`: 수동 배포
저장소 설정의 Pages source는 **GitHub Actions**여야 합니다. `gh-pages` 브랜치는 만들지 않습니다.
Jenkins 예시는 `Jenkinsfile`에 분리되어 있습니다. Jenkins 배포는 별도 credential과 `gh-pages` source를 사용하는 독립 경로이며, 기본 GitHub Pages workflow와 동시에 사용하지 않는 것을 권장합니다.
## 검증
```bash
bundle exec jekyll doctor
bundle exec jekyll build
python3 scripts/verify_site.py _site
node --check assets/js/site.js
```
Pages URL까지 재현하는 production 검증:
```bash
bundle exec ruby scripts/build_site.rb \
--url https://username.github.io \
--baseurl /repository
python3 scripts/verify_site.py _site \
--baseurl /repository \
--expected-origin https://username.github.io
```
`verify_site.py` 검사 범위:
- `index.html`, `404.html`, `feed.xml`, `sitemap.xml`, `posts.json`
- 페이지당 하나의 `<main>` landmark
- 내부 링크와 정적 asset target
- `posts.json` 형식
- 샘플 GitHub URL·댓글 ID의 미치환 노출
GitHub Actions 상태는 README 상단 **Pages** 배지에서 바로 확인할 수 있습니다.
## 구조
```text
_layouts/ 페이지 골격
_includes/ 재사용 UI와 외부 연동 경계
_data/ 사용자 설정과 선택형 캐시
assets/css/ 테마 스타일
assets/js/site.js 테마·검색·필터·무한 스크롤
scripts/ GitHub 동기화·빌드 검증
_posts/ 데모와 사용 가이드
.github/workflows/ 검증·배포
```
## 기여
버그 재현, 문서 교정, 접근성·반응형 개선과 설정 일반화를 받습니다. 변경 범위와 로컬 검증 절차는 [CONTRIBUTING.md](CONTRIBUTING.md)에서 확인할 수 있습니다.
## 라이선스
[MIT](LICENSE). 이미지 출처와 고지는 [NOTICE.md](NOTICE.md)에 정리되어 있습니다.
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

al-folio
al-folio 是一个面向学者与研究人员的 Jekyll 作品集主题,设计简洁、响应式,适合搭建个人学术主页。
Jekyll · 作品集

minimal-mistakes
:triangular_ruler: Jekyll theme for building a personal site, blog, project documentation, or portfolio.
Jekyll · 作品集

Beautiful Jekyll
Beautiful Jekyll 是一个在 Jekyll 生态中经过长期打磨的博客主题,由 Dean Attali 维护,自 2015 年起积累了超过 5 万用户。
Jekyll · 博客

jekyll-TeXt-theme
💎 🐳 A super customizable Jekyll theme for personal site, team site, blog, project, documentation, etc.
Jekyll · 博客

startbootstrap-clean-blog-jekyll
A Jekyll version of the Clean Blog theme by Start Bootstrap
Jekyll · 博客

So Simple
So Simple 是 Michael Rose 开发的 Jekyll 主题,定位清晰:为文字和图片提供一个干净、可读性强的展示框架。
Jekyll · 博客
