본문 바로가기
개인프로젝트 후기/github pages만들기

jekyll로 포스팅을 해보자-04

by GiraffeB 2016. 8. 10.
jekyll로 포스팅하기.

jekyll로 포스팅하기.

1. 머리말 쓰기

Jekyll의 수 많은 멋진 기능들 중 그 첫 번째는 바로 머리말 입니다. Jekyll은 YAML 머리말 블록을 가진 모든 파일을 특별한 파일로 인식하여 처리합니다. 머리말은 반드시 올바른 YAML 형식으로 작성 되어야 하며, 대시문자 3개로 감싸서 파일의 맨 첫 부분에 위치해야 합니다. 가장 기본적인 형태는 아래와 같습니다.

---
layout: post
title: Blogging Like a Hackr
---

이 대시문자 사이에 사전-정의 변수( 설명은 아래를 참고하세요)를 사용할 수 있고, 심지어 자신만으 고유 변수를 정의하는 것도 가능합니다. 해당 파일은 물론 해당 페이지 또는 포스트에 연결된 페이아웃이나 include파일에서도 Liquid태그를 사용하여 이 변수들에 접근할 수 있습니다.

머리말의 변수는 필수가 아니라고 합니다. 3중 대시( — ) 사이에 아무 내용이 없어도, Jekyll으느 해당 파일을 처리한다고 하는 군요.
그런데 사실상 있어야 블로그 형태가 유지되요.

2. 사전-정의 전역 변수

페이지 또는 포스트의 머리말에 사용할 수 있는 다양한 사전-정의 전역 변수가 있습니다.

변수 설명
layout 사용할 레이아웃 파일을 지정한다. 레이아웃 파일명에서 확장자를 제외한 나머지 부분만 입력한다. 레이아웃 파일은 반드시 _layouts디렉토리에 존재해야 한다.

sample : jekyll flex theme
의 소스인데요.
_layout폴더에 post.html의 sample 형태입니다.


변수 설명
permalink 생성된 블로그 포스트 URL을 사이트 전역 스타일 (디폴트 설정 : /year/month/day/title.html)이 아닌 다른 스타일로 만드려면, 이 변수를 사용하여 최종 URL을 설정하면 된다.

뒤에 나오겠지만 _post 디렉토리에 업로드할 원본 텍스트를 저장하게 되는데, 저장할때 이름 규칙이 2016-08-10-hello-new-world.md이런 형태로 저장하고, 이게 각각 파싱되어서 https://giraffeb.github.io/2016/08/10/hello-new-world.htm 으로 최종적인 주소를 가지게 된다.
이 설정을 기본값으로 쓰는 중.

변수 설명
published 사이트가 생성되었을 때 특정 포스트가 나타나지 않게 하려면 false로 설정하라.

포스트를 써놓고 안보이게 하는 마법


변수 설명
category categories 포스트를 특정 폴더에 넣지 않고, 포스트사 속해야 하는 카테고리를 하나 또는 그 이상 지정할 수 있다. 사이트가 생성될 때, 포스트는 그냥 평범하게 이 카테고리들에 속한 것처럼 동작한다. 두개 이상의 카테고리들을 지정할 때에는 YAML리스트 또는 쉼표로 구분된 문자열로 지정할 수도 있다.
---
layout: post
title: hello new world
catogory: jekyll
---

---
layout: post
title: hello new world
categories: jeykll blog post
---

작성형태는 이런식으로 되겠습니다.
카테고리 리스트 적용시 주소는 아래처럼 됩니다.
http://giraffeb.github.io/jekyll/posting/new/2016/08/10/cate.html


변수 설명
tags 카테고리와 유사하게, 하나 이상의 태그를 포스트에 추가 할 수 있따. 또 카테고리와 동일하게, YAML 리스트 또는 쉼표로 구분된 문자열로 지정할 수도 있다.

이 부분은 잘 모르겠다. 다른 포스트를 참고해봐야 될 듯 하다.


사용자-정의 변수

변환 작업 중, 사전-정의된 변수가 아닌 모든 머리말 변수들은 데이터로 정리되어 Liquid 템플릿 엔진에 전달됩니다. 예를 들어, title변수를 설정하면 레이아웃에서 페이지 제목을 입력할 때 사용 할 수 있습니다.

<!DOCTYPE HTML>
<html>
<head>
<title>
{{ page.title }}</title>
</head>
<body>
...

실제로 해보기전에 몰랐는데 무슨 소리냐면,
아래처럼

---
layout: post
title: Hello new world
category: jekyll
whatisthis: this..is..blog..
---

layout, title, category 같이 미리 정의된 변수들 말고, whatisthis같은 변수는 저장되서 아래 처럼 사용가능하다.

<!DOCTYPE HTML>
<html>
<head>
<title>
{{ page.whatisthis }}</title>
</head>
<body>




3. 간단하게 포스팅을 해보자.

그러니까 결국 포스팅을 하려면,
jekyll의 디렉토리 구조에서
_post디렉토리에 2016-08-10-first-posting.md와 같은 형태의 파일이름으로 아래 같이 작성할 수 있다.

---
layout: post
title: first bloging은 넘나 힘든 것
category: nojekyll
garbage: 의미없음
---


### 포스팅을 해보자.
마크다운 문법은 신경쓰지 말자. 차차 배워도 포스팅 할 수 있다.

{{ page.garbage }}

그리고 프로젝트 디렉토리에서
jekyll serve명령어를 써서 확인해보자.

사족

이제 내가 뭐라는 건지 모르겠다. 나중에 한번더 정리 해야겠다.
다음엔 지킬의 작동원리와 디렉토리 구조와 같은 이해파트로 넘어가보겠다.