Thứ năm, 12/09/2013 | 00:00 GMT+7

Cách triển khai blog Jekyll với Git

Jekyll là một công cụ tạo các trang HTML tĩnh từ folder file Markdown. Điều này là thuận lợi vì trang web kết quả là nhanh, di động và dễ dàng cho các server như nginx phục vụ đồng thời cho nhiều user mà không cần dùng đến bộ nhớ đệm.


Cách phổ biến nhất để sử dụng Jekyll là giữ các file trên trang web trong repository lưu trữ Git , chỉnh sửa chúng local và sử dụng git push để triển khai trang web cho VPS của bạn.

Cài đặt local


Nếu chưa có, bạn cần cài đặt Ruby, Jekyll và Git trên máy local của bạn .

Đối với Ruby, bạn có thể cài đặt version mới nhất của Ruby 2.0 với RVM bằng một lệnh duy nhất:

curl -L https://get.rvm.io | bash -s stable --ruby=2.0.0 

Sau khi hoàn tất (sẽ mất vài phút), hãy đăng xuất và đăng nhập lại. Việc cài đặt Jekyll chỉ đơn giản là lấy được jekyll gem.

gem install jekyll 

Đến đây bạn cần Git, bạn có thể download từ trang web chính thức hoặc sử dụng trình quản lý gói để cài đặt. ( User Mac có thể sử dụng Homebrew , những người trên Linux có thể đã biết họ đang làm gì…)

Tạo một Blog


Trang web Jekyll có hướng dẫn bắt đầu nhanh để sử dụng công cụ cũng như tài liệu hướng dẫn kỹ . Ta sẽ đề cập đến những điều cơ bản tuyệt đối ở đây, nhưng để sử dụng và tùy chỉnh hàng ngày, bạn nên tham khảo hướng dẫn của họ.

Điều hướng đến bất kỳ nơi nào bạn muốn lưu trữ các file blog của bạn trên máy local và tạo một blog mới như vậy:

jekyll new awesomeblog 

Thao tác này sẽ tạo một folder awesomeblog chứa các file cấu hình, folder bài đăng và các bit cần thiết khác. Đến đây bạn có thể thay đổi folder đó và kích hoạt một quy trình server để xem trước nó trong trình duyệt của bạn.

cd awesomeblog jekyll serve 

Jekyll sẽ xây dựng blog của bạn và sau một vài giây, bạn có thể truy cập http://localhost:4000 trong trình duyệt của bạn .

Bây giờ, hãy khởi tạo repository Git trong cùng một folder , vì vậy mọi thay đổi bạn thực hiện đều có thể được theo dõi.

git init git add . git commit -m "Initial commit" 

Chuẩn bị VPS


Để ngắn gọn, tôi sẽ giả sử bạn đã có một VPS chạy một web server như nginx hoặc Apache. (Tôi cũng sẽ giả sử folder HTML công cộng của bạn là /var/www , mặc dù nó có thể khác nhau tùy thuộc vào bản phân phối và cấu hình của bạn.) Nếu bạn chưa làm được điều này, hãy tham khảo nhiều hướng dẫn có sẵn trên nginx .

Đầu tiên, cài đặt Git trên VPS của bạn. Trong trường hợp của Ubuntu hoặc Debian, bạn cài đặt gói git-core bằng lệnh sau.

apt-get install git-core 

Nếu bạn đang sử dụng một bản phân phối khác, điều này có thể thay đổi. Fedora, chẳng hạn, sử dụng yum install git-core để thay thế.

Bạn cũng cần cài đặt Ruby và Jekyll. Giống như trước đây:

curl -L https://get.rvm.io | bash -s stable --ruby=2.0.0 gem install jekyll 

Thứ hai, thay đổi folder chính của bạn và tạo một “kho lưu trữ trống” mới để triển khai.

cd ~/ mkdir repos && cd repos mkdir awesomeblog.git && cd awesomeblog.git git init --bare 

Sau đó, ta cần cài đặt một móc sau nhận. Đây là một tập lệnh shell mà Git chạy khi các file được đẩy đến một repository . Tạo nó như vậy:

cd hooks touch post-receive nano post-receive 

Bây giờ paste vào tập lệnh sau, điều chỉnh các biến cho phù hợp. GIT_REPO là đường dẫn đến repository trống được tạo ở bước trước, TMP_GIT_CLONE là vị trí mà tập lệnh sẽ kiểm tra các file và xây dựng blog trước khi sao chép chúng vào /var/www . PUBLIC_WWW là đường dẫn nơi trang web cuối cùng sẽ cư trú. Trong ví dụ này (giả sử web root của bạn là /var/www ), trang web sẽ xuất hiện tại http://example.org/awesomeblog , trong khi nó sẽ xuất hiện tại http://example.org nếu thay vào đó PUBLIC_WWW đọc /var/www .

#!/bin/bash -l GIT_REPO=$HOME/repos/awesomeblog.git TMP_GIT_CLONE=$HOME/tmp/git/awesomeblog PUBLIC_WWW=/var/www/awesomeblog  git clone $GIT_REPO $TMP_GIT_CLONE jekyll build --source $TMP_GIT_CLONE --destination $PUBLIC_WWW rm -Rf $TMP_GIT_CLONE exit 

Lưu file bằng cách nhấn Control + O và nhấn phím enter. Sau đó cấp quyền thực thi file .

chmod +x post-receive 

Thêm điều khiển từ xa Git


Quay lại máy local của bạn, thêm điều khiển từ xa vào repository Git của blog.

git remote add server user@example.org:repos/awesomeblog.git 

Bây giờ, bạn có thể đẩy các commit mới nhất của bạn lên server bằng lệnh sau:

git push server master 

Khi nào bạn tạo một bài đăng blog mới trong Jekyll, hãy commit các thay đổi đối với repository Git và đẩy lên VPS của bạn. Server cloud sẽ xây dựng trang web và các thay đổi sẽ có hiệu lực trong vòng vài giây.

<div class = “author”> Bài viết được gửi bởi: <a href=p>https://twitter.com/redwall_hp[> Matt Harzewski </a> </div>


Tags:

Các tin liên quan