기본기 채우기
Jekyll이란
개굴이모자
2021. 2. 21. 22:34
반응형
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이어야한다.
참고 링크
반응형