N=1

主にコンピュータ技術関連のことを投稿。 / 投稿は個人の意見であり所属団体の立場を代表するものではありません。

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