Notice
Recent Posts
Recent Comments
Link
- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- errorhandling
- PR
- 코틀린
- CustomTab
- 책리뷰
- n3문법
- coroutine
- 진짜일본어
- GIT
- KotlinInAction
- Android
- 안드로이드
- rxjava
- github
- blog
- 진짜학습지후기
- androidstudio
- jlpt
- 일본어기초
- Kotlin
- 일본어문법
- pullrequest
- 학습지
- 책추천
- suspend
- posting
- 인공지능
- ai
- webflux
- 진짜학습지
Archives
코딩하는 개굴이
Jekyll이란 본문
반응형
Jekyll이란?
- 텍스트 변환 엔진으로, 마크업 언어로 글을 작성하면 미리 정의해 놓은 규칙에 따라서 정적인 웹사이트를 만들어준다. 이 과정에서 원하는 기능들을 구현할 수 있다.
- 정적 웹사이트를 만들기 때문에, PHP 등의 서버 소프트웨어가 필요 없어, 매우 빠르고 가볍다.
- 기본적인 형식
- 마크다운 언어로 작성한 포스트를 github에서 commit & push한다.
디렉토리 구조
파일/디렉토리 | 기능/역할 |
---|---|
includes | 재사용을 위한 파일들을 담는 디렉토리로, 포스트나 레이아웃을 쉽게 삽입할 수 있다 |
posts | 내가 만든 컨텐츠를 담는 디렉토리로, 파일들의 명명 규칙에 따라 네이밍한다 |
layouts | 포스트를 포장, 레이아웃을 선택을 위한 파일들을 담는 디렉토리 |
site | JIKILL의 변환을 마친 파일들이 들어가는 DEFAULT 디렉토리 |
sass | Sass 조각파일들로 main.scss에 임포트 할 수 있으며 그 후에는 하나의 스타일 시트로 가공된다 |
config.yml | 환경설정 정보들을 보관한다 (명령어를 실행 시, 여러 옵션들을 그때마다 적용할 필요가 없어진다 |
sitemap.xml | 검색 엔진에서 보다 쉽게 crawl 해 찾을 수 있도록 돕는다 |
Jekyll의 매커니즘
파일 기반의 데이터를 정적인 리소스로 빌드해서 서비스
- 게시글마다 md 파일이나 html 파일을 생성한다.
- 글을 작성하고 배포하기 위한 빌드를 jekyll에서 진행하면 응답할 html 화면을 만들고 파일로 저장해서 준비한다.
- 유저가 특정 화면을 요청하면 미리 생성한 html 파일을 찾아 꺼내준다.
- DB를 조회하고 HTML 양식으로 응답하는 과정과 같다.
모든 화면을 미리 만든다.
- 유저가 요청할 수 있는 모든 화면을 미리 빌드해 두는 방식을 상용
- 따라서 글이 많을 수록 길어지는 글 목록 화면이 많아지고 미리 만들어야하는 페이지 수도 많아진다.
검색 기능
- 클라이언트 스크립트를 사용해서 작성된 모든 글의 제목과 내용에 키워드를 조회한다.
- 최상위 경로에 검색에 필요한 정보인 search.json을 생성하고 자바스크립트를 이용해 검색한다.
추가
- git에서는 post의 확장자가 무조건 markdown이어야 정상적으로 html로 변환된다.
- mdwn이면 다운로드되고, md면 안나오고 markdown이어야한다.
참고 링크
반응형
'기본기 채우기' 카테고리의 다른 글
개발자의 초기 세팅, 필요한 모든 것들! (0) | 2023.02.06 |
---|---|
변수/메서드 네이밍 TIP! (0) | 2022.10.03 |
Map-HashMap, Set-HashSet, Array-List-ArrayList 의 관계 (0) | 2022.09.24 |
JWT 토큰 인증이란? (1) | 2022.09.16 |
정규식을 마스터하자 (0) | 2021.02.21 |
Comments