|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: Jekyll |
| 4 | +categories: study |
| 5 | +tags: [Jekyll] |
| 6 | +--- |
| 7 | + |
| 8 | +## Jekyll 이란? |
| 9 | + |
| 10 | +정적 웹사이트 프레임워크, [Jekyll](https://jekyllrb.com/) 이다. |
| 11 | +html, css, md 관리에 편하다. |
| 12 | +이걸 썼던 이유는 나는 옵시디언을 사용하고 있었고 굳이 다른 프론트에 fast API를 붙여서 관리하고 싶지 않았다. |
| 13 | +재밌는 지점은 학술 블로그는 전부 Jekyll 테마 또는 html 하나로 유지되고 있는 걸 확인했다. |
| 14 | +운명같은 프레임워크다. |
| 15 | + |
| 16 | +## Jekyll 테마 |
| 17 | + |
| 18 | +[jekyll-theme-yat](https://github.com/jeffreytse/jekyll-theme-yat)을 커스텀해서 사용하고 있다. 시간이 괜찮을 때 테마 생성자에게 소정의 금액을 지원하고 나만의 테마로 바꿀 예정인데 내가 이 테마에서 가장 좋아했던 것은 커스텀 자유도다. |
| 19 | +테마를 커스텀 한다고 하여도 저장소에 출처를 남기도록 하자. |
| 20 | + |
| 21 | +## 자주 사용하는 명령어 모음 |
| 22 | + |
| 23 | +```shell |
| 24 | +#기본 명령어 |
| 25 | + |
| 26 | + # 로컬 개발 서버 실행 (가장 많이 사용) |
| 27 | + bundle exec jekyll serve |
| 28 | + |
| 29 | + # 개발 서버 + 자동 새로고침 + draft 포함 |
| 30 | + bundle exec jekyll serve --livereload --drafts |
| 31 | + |
| 32 | + # 특정 포트로 실행 |
| 33 | + bundle exec jekyll serve --port 4001 |
| 34 | + |
| 35 | + # 빌드만 실행 (배포용) |
| 36 | + bundle exec jekyll build |
| 37 | + |
| 38 | + # 빌드 + 상세 로그 |
| 39 | + bundle exec jekyll build --verbose |
| 40 | + |
| 41 | +#새 프로젝트/포스트 생성 |
| 42 | + |
| 43 | + # 새 Jekyll 사이트 생성 |
| 44 | + jekyll new my-site |
| 45 | + |
| 46 | + # 특정 테마로 생성 |
| 47 | + jekyll new my-site --blank |
| 48 | + |
| 49 | + # 새 포스트 생성 (플러그인 필요) |
| 50 | + bundle exec jekyll post "My New Post" |
| 51 | + |
| 52 | + # 새 draft 생성 |
| 53 | + bundle exec jekyll draft "My Draft Post" |
| 54 | + |
| 55 | +#개발 시 유용한 옵션 |
| 56 | + |
| 57 | + # 증분 빌드 (변경된 파일만 빌드 - 속도 향상) |
| 58 | + bundle exec jekyll serve --incremental |
| 59 | + |
| 60 | + # future 날짜 포스트도 표시 |
| 61 | + bundle exec jekyll serve --future |
| 62 | + |
| 63 | + # 모든 옵션 조합 (개발 시 추천) |
| 64 | + bundle exec jekyll serve --livereload --drafts --future --incremental |
| 65 | + |
| 66 | + # 특정 환경으로 실행 |
| 67 | + JEKYLL_ENV=production bundle exec jekyll build |
| 68 | + |
| 69 | +#클린/초기화 |
| 70 | + |
| 71 | + # 빌드 캐시 삭제 후 재빌드 |
| 72 | + bundle exec jekyll clean |
| 73 | + bundle exec jekyll build |
| 74 | + |
| 75 | + # 의존성 설치/업데이트 |
| 76 | + bundle install |
| 77 | + bundle update |
| 78 | + |
| 79 | + # 특정 gem 업데이트 |
| 80 | + bundle update jekyll |
| 81 | + |
| 82 | +#디버깅 |
| 83 | + |
| 84 | + # 상세 로그 출력 |
| 85 | + bundle exec jekyll serve --verbose |
| 86 | + |
| 87 | + # 추적 모드 (매우 상세한 로그) |
| 88 | + bundle exec jekyll serve --trace |
| 89 | + |
| 90 | + # 설정 확인 |
| 91 | + bundle exec jekyll doctor |
| 92 | + |
| 93 | + # 버전 확인 |
| 94 | + bundle exec jekyll --version |
| 95 | + |
| 96 | +#자주 쓰는 단축 명령어 |
| 97 | + |
| 98 | + # 가장 기본 (개발 시) |
| 99 | + bundle exec jekyll s |
| 100 | + |
| 101 | + # livereload 포함 |
| 102 | + bundle exec jekyll s -l |
| 103 | + |
| 104 | + # 빌드 |
| 105 | + bundle exec jekyll b |
| 106 | + |
| 107 | + # 도움말 |
| 108 | + bundle exec jekyll help |
| 109 | + bundle exec jekyll serve --help |
| 110 | + |
| 111 | +#실전 팁 |
| 112 | + |
| 113 | + # 1. 일반 개발 시 |
| 114 | + bundle exec jekyll serve --livereload |
| 115 | + |
| 116 | + # 2. draft 작성 중 |
| 117 | + bundle exec jekyll serve --livereload --drafts |
| 118 | + |
| 119 | + # 3. 문제 발생 시 클린 후 재시작 |
| 120 | + bundle exec jekyll clean && bundle exec jekyll serve |
| 121 | + |
| 122 | + # 4. 프로덕션 빌드 (GitHub Pages 배포 전 확인) |
| 123 | + JEKYLL_ENV=production bundle exec jekyll build |
| 124 | + |
| 125 | + # 5. 빌드 속도 느릴 때 |
| 126 | + bundle exec jekyll serve --incremental --livereload |
| 127 | +``` |
0 commit comments