기본기 채우기

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이어야한다.




참고 링크

반응형