読者です 読者をやめる 読者になる 読者になる

Jekyllを試してみた

Jekyll基本チュートリアル

参考: http://melborne.github.io/2013/05/20/now-the-time-to-start-jekyll/

インストール

$ rbenv exec gem install jekyll

開発サーバの起動とファイル監視

$ mkdir tut
$ cd tut
$ rbenv exec jekyll serve --watch

生成

以下は作成、変更するたびに自動的にコンパイルされる。

最小
$ vim index.md
---
---
#Hello World
レイアウト作成

index.md (---に囲まれた部分はYAML)

---
layout: default
title: hi
---
# Welcome

_layouts/defaults.html

<!DOCTYPE html>
<head>
  <meta http-equiv="Content-type" content="text/html; charset=utf-8">
  <title>{{ page.title }}</title>
</head>
<body>
  {{ content }}
</body>
設定

_configに書く。

慣れてきたら

開発

開発マシン
$ rbenv exec gem install jekyll
$ rbenv exec jekyll new mysite
$ cd mysite
$ rbenv exec jekyll serve --watch #しながら、ファイルを編集

デプロイ

https://www.digitalocean.com/community/tutorials/how-to-deploy-jekyll-blogs-with-git

サーバ側
$ cd ~/
$ mkdir -p repos/mysite.git
$ cd repos/mysite.git
$ git init --bare

hooks/post-receive

#!/bin/bash -l
GIT_REPO=$HOME/repos/mysite.git
TMP_GIT_CLONE=$HOME/tmp/git/mysite.git
PUBLIC_WWW=/var/www/nginx-default

git clone $GIT_REPO $TMP_GIT_CLONE
jekyll build --source $TMP_GIT_CLONE --destination $PUBLIC_WWW
rm -Rf $TMP_GIT_CLONE
exit

./hooks/post-receiveを実行してみてうまく行くか試してみる。パッケージの不足やパーミッション設定の見直しが必要になるかもしれない。

開発マシン側
$ git init
$ git add .
$ git commit -m “initial commit”
$ git remote add mysite [repository] #書式はgit help remoteに書いてる
$ git push mysite