들어가며…
3,4년전만 해도 ‘git’이란 단어를 처음 들어봤을 때, 단순히 svn과 같은 소스코드 관리하는 툴정도로만 알았다. 회사에서 svn을 종료하고 전사적으로 git을 도입하겠다고 해서, 어쩔수 없이 git이란 도구를 사용하게 되었다. 그런데 단순히 svn처럼 소스코드를 관리하는 툴정도로만 알았는데, git은 정말 많은 기능을 가지고 있는 도구였다. 지금 정리할 git-page의 경우, git에서 제공하기보다 github에서 제공해주는 기능이다.
몇달 전, 한번 블로그를 해보리라 마음을 먹고 세팅을 해보았지만, 테스트 페이지 정도 만들어 보는 수준에서 끝났었다. 최근에 정말 기록을 잘해야겠다는 다짐을 하면서 처음부터 차근차근 따라해서, 성공하였다. 마침, 첫 포스트로 내가 세팅한 내용을 기록해두면 좋겠다는 생각이 들어서, 이 내용을 정리해보도록 한다. 더불어 kramdown마크다운 연습도 해보도록 하자.
github pages
github에서 제공하는 웹호스팅 서비스이다. 사용법은 간단하다. github계정이 “hubert-lee”인 경우 “hubert-lee.github.io”라는 이름으로 저장소를 생성한다. 그리고 master branch에 index.html을 생성하고 간단하게 “hello world”를 출력하도록 작성한다. 그리고 “http://hubert-lee.github.io”라고 접속하면 아까 작성한 index.html을 볼 수 있다.
jekyll
jekyll은 위에 github에서 제공하는 pages기능으로 블로깅을 쉽게 해주는 도구이다. 루비 기반으로 되어있고,자체 웹서버도 내장하고 있어서 글을 작성할때마다 미리 확인을 할 수도 있다. 그리고 jinja2 문법을 지원하기 때문에 html파일을 다양하게 꾸밀 수 있도록 해준다. 최신 버전은 아니지만 한글화된 사이트도 있으니, 참고하면 좋을 듯 하다.
jekyll theme
jekyll에서 사용할 수 있는 테마를 많은 사람들이 만들어 두었다. http://jekylltheme.org를 방문하면 다양한 테마가 있고, 이것을 이용해서 원하는 모양의 블로그를 만들 수 있다.
jekyll theme를 이용하여 블로그 꾸미기
$ theme.zip // 다운로드 받은 테마
$ unzip theme.zip
$ cd ./theme
$ jekyll serve --watch // 해당 테마를 jekyll로 로드하여 웹페이지에서 볼수 있도록 해준다.
$ // 이후 브라우저에서 "localhost:4000"으로 접속하면 해당 테마 페이지를 볼 수 있다.
배포하기
$ git clone https://github.com/hubet-lee/hubert.lee-github.com.git
$ cp -r ~/theme/* ./ // 테마에서 생성된 모든 파일을 복사한다.
$ git add *
$ git commit -m"apply theme"
$ git push origin master
// 약간의 시간을 두고 http://hubert-lee.github.io 로 접속하면 해당 테마가 적용된 페이지를 볼 수 있다.
디렉토리 구조
| Name | Description |
|---|---|
| _layout\default.html | default.html은 블로그 전체 레이아웃 |
| _layout\post.html | 각 post마다 적용될 레이아웃 |
| _posts | 이 디렉토리안에 YYYY-MM-DD.title.md 형식으로 파일을 생성한다. 그러면 jekyll이 자동으로 읽어들여서 post.html 레이아웃으로 페이지를 랜더링한다. |
| _config.yml | 환경설정 파일이다. 블로그 이름이나 경로, 필요한 내용을 정의해서 사용한다. |
포스팅하기
_posts 디렉토리 하위에 YYYY-MM-DD.title.md 파일을 생성한다. 그리고 이 파일은 다음과 같은 yml 포맷으로 시작해야한다.
---
layout: entry // _layout/entry.html 파일을 레이아웃으로 사용
title: 기록을 남기자!
author: 이동훈
author-email: voidtype@gmail.com
description: 생전 안쓰던 글을 쓰게 된 계기를 간략하게 남긴다.
publish: true
categories : diary
tags : ['write']
---
이후에 markdown으로 블로그를 작성하고, 커밋, push하면 된다.
장점
- 개발자 입장에서 코드, 블로그, 이슈 등 git으로 통합해서 관리할 수 있다.
- 별도로 호스팅 비용이 들지 않는다.
- makrdown으로 글을 적는 것이 편리하다.(마우스를 덜 사용할 수 있다.)
- 테마를 바꾸고 싶으면 “_posts”디렉토리에 써놓은 글만 교체하면 된다.
- 댓글은 facebook의 개발자 API나 disqus을 이용하면 쉽게 적용할 수 있다.
단점
- 글을 수정하려면, 코드를 수정하듯 터미널이 필요하다.(모바일에서는 조금 힘들 듯)
- 카테고리별로 글을 보는 기능이나, 태그별로 글을 보는 기능이 필요하면 직접 구현해야한다. 아니면 구현된 테마를 찾아서 사용해야한다.
마무리… git-page를 이용해서 블로그를 하기로 마음먹고, 처음 쓰는 글이라 잘 적고 싶었는데.. 역시 글을 쓰는 것은 어려운 일인 것 같다. 머리속에는 막 적고싶은 말이 많은데, 100% 모두 다 글로 표현하지 못한 것 같다. 그래도 마크다운도 좀 써보고, 글쓰는 훈련이 많이 된 것 같다. 욕심 부리지 말고 하나씩 하나씩 해봐야겠다.