一.Jekyll本地環(huán)境搭建
本人使用的是Window7 64位系統(tǒng)沙咏,所以搭建的環(huán)境是以Window系統(tǒng)為準(zhǔn),Mac系統(tǒng)可自行百度兽掰。
1.安裝Ruby
Window安裝Ruby需要使用RubyInstaller來進行安裝芭碍,下載地址在這里。我這里安裝的是Ruby2.3.1孽尽。
下載好RubyInstaller點擊安裝窖壕,在安裝界面記得勾選"Add Ruby executables to your PATH",將ruby自動加入到系統(tǒng)的環(huán)境變量中,省去我們自己去手動設(shè)置瞻讽,然后點擊安裝即可鸳吸。
在cmd中輸入:
ruby -v
如果顯示版本號則表示安裝成功。
2.安裝RubyDevKit
DevKit是windows平臺下編譯和使用本地C/C++擴展包的工具速勇。它就是用來模擬Linux平臺下的make,gcc,sh來進行編譯晌砾。但是這個方法目前僅支持通過RubyInstaller安裝的Ruby
點擊這里下載最新的DevKit,雙擊運行解壓到D:\MyBlog\RubyDevKit(路徑可自行定義)烦磁。
打開終端cmd养匈,輸入如下命令進行安裝:
cd D:\MyBlog\RubyDevKit
ruby dk.rb init
接下來需要在D:\MyBlog\RubyDevKit\config.yml 這個文件里面配置Ruby的路徑,如下:
- D:/Ruby23-x64
在cmd中執(zhí)行如下命令進行安裝:
ruby dk.rb install
3.替換rubyGem庫地址
在國內(nèi)使用默認(rèn)的gem源會有問題都伪,需要重新配置gem源呕乎。這里推薦Ruby China。
gem sources --remove https://rubygems.org/
gem sources -a https://gems.ruby-china.org/
gem sources -l
如果遇到 SSL 證書問題陨晶,你又無法解決猬仁,請直接用 http://gems.ruby-china.org 避免 SSL 的問題。
D:\MyBlog\RubyDevKit>gem sources -l
*** CURRENT SOURCES ***
http://gems.ruby-china.org/
4.安裝rails
cmd運行g(shù)em install rails.
cmd運行rails -v顯示rails版本號說明安裝成功.
5.安裝Jekyll
在cmd中輸入如下命令進行jekyll:
gem install jekyll
cmd運行jekyll -v驗證先誉,顯示版本號說明安裝成功.
二.Jekyll創(chuàng)建博客
當(dāng)我們安裝配置好jekyll后就可以進行博客的創(chuàng)建了湿刽,我們使用如下命令來創(chuàng)建一個博客:
D:\GarryBlog>jekyll new .
或者你還可以用如下命令:
D:\jekyll new GarryBlog
我們看到在GarryBlog目錄下面新建了各種相關(guān)文件,但是命令行中報了一個錯誤褐耳,信息如下:
Dependency Error: Yikes! It looks like you don't have bundler or one of its de
pendencies installed. In order to use Jekyll as currently configured, you'll nee
d to install this gem. The full error message from Ruby is: 'cannot load such fi
le -- bundler' If you run into trouble, you can find helpful resources at http:/
/jekyllrb.com/help/!
jekyll 3.3.0 | Error: bundler
這個提示告訴我們沒有安裝bundler诈闺,很簡單,我們在命令行中輸入gem install bundler進行安裝即可漱病。
創(chuàng)建完成后买雾,我們就可以啟動服務(wù)了,輸入如下命令啟動服務(wù):
jekyll server
這時候又報另外一個錯誤(尼瑪)杨帽,信息如下:
D:\GarryBlog>jekyll server
Configuration file: D:/GarryBlog/_config.yml
Configuration file: D:/GarryBlog/_config.yml
Source: D:/GarryBlog
Destination: D:/GarryBlog/_site
Incremental build: disabled. Enable with --incremental
Generating...
done in 0.252 seconds.
Please add the following to your Gemfile to avoid polling for changes:
gem 'wdm', '>= 0.1.0' if Gem.win_platform?
Auto-regeneration: enabled for 'D:/GarryBlog'
Configuration file: D:/GarryBlog/_config.yml
jekyll 3.3.1 | Error: Permission denied - bind(2) for 127.0.0.1:4000
這個錯誤是告訴我們4000端口被占用漓穿,解決方法是:
在_config.yml文件的末尾加上port: 5000,改為5000端口即可注盈。
這樣在瀏覽器中輸入http://127.0.0.1:5000/ 就可以看到我們的博客了晃危。(不容易啊~~)
三.注冊Github帳號
到Github網(wǎng)站上注冊帳號,如果有則可以跳過這一步老客。
四.安裝Git環(huán)境
點這里下載安裝僚饭。
安裝完成后運行Git Bash。在打開的窗口中輸入如下命令設(shè)置你的git用戶名和郵箱:
$ git config --global user.name "{username}" // 用你的用戶名替換{username}
$ git config --global user.email "{name@site.com}" // 用你的郵箱替換{name@site.com}
SSH配置:
為了和Github的遠(yuǎn)程倉庫進行傳輸胧砰,需要進行SSH加密設(shè)置鳍鸵。
$ ssh-keygen -t rsa -C"{name@site.com}" // 用你的郵箱替換{name@site.com}
一路敲回車即可,在C:\Users\admin.ssh 目錄下會生成id_rsa 和 id_rsa.pub 兩個文件尉间,其中 id_rsa 是私鑰偿乖,需要保密击罪, id_rsa.pub 是公鑰,無需保密贪薪。
在瀏覽器中登錄你的github帳號媳禁,點擊右上角的Setting-SSH and GPG keys,在SSH Key中添加 id_rsa.pub里的內(nèi)容画切,然后點擊addkey即可竣稽,這樣SSH配置就完成了。
五.建立個人GitHub 博客
建議基于jekyll的個人博客有兩種路線:
- 自己學(xué)習(xí)Jekyll教程和網(wǎng)頁設(shè)計霍弹,設(shè)計絕對自我基因的網(wǎng)頁毫别。
- Fork已有的開源博客倉庫,在巨人的肩膀上進行符合自我的創(chuàng)作庞萍。
這里介紹第二種路線拧烦,第一種路線請自行百度各種教程。
- 在網(wǎng)上搜索jekyll 網(wǎng)站模版钝计,挑選一個你看上的,我們這里以 https://github.com/mzlogin/mzlogin.github.io 為例齐佳。
-
點擊鏈接進入后私恬,點擊左上角的fork:
- 在你的主頁中點擊剛fork的分支,點擊進入后:
點擊“Settings”炼吴,將“Repository name”改為 {你的Github用戶名}.github.io本鸣,點擊“Rename”。
此時你會發(fā)現(xiàn)已經(jīng)可以通過 http://{你的Github用戶名}.github.io 訪問你fork下來的網(wǎng)站啦硅蹦!
六.寫博客
- 同步倉庫
在Git Bash中切換到你想存放blog文件的目錄下:
cd D:\GarryBlog
輸入如下命令荣德,將遠(yuǎn)程倉庫克隆到本地:
git clone https://github.com/Garry2016/garry2016.github.io.git
撰寫博文
打開本地倉庫的 _posts 文件夾,你的所有博文都將放在這里童芹,寫新博文只需要新建一個標(biāo)準(zhǔn)文件名的文件涮瞻,在文件中編寫文章內(nèi)容。 比如我們fork的模版中 _posts 文件夾里有一篇 2016-03-23-hello-world.markdown假褪,你的文件命名也要嚴(yán)格遵循 年-月-日-文章標(biāo)題.文檔格式 這樣的格式署咽,尤其要注意月份和日期一定是兩位數(shù)。
推薦使用Markdown語言寫文章生音,windows下推薦MarkdownPad這個軟件編寫Markdown文本宁否。
最開始寫可以直接模仿別人的博文語法,更多Markdown語法可參考 認(rèn)識與入門Markdown缀遍。提交修改
當(dāng)你使用Git Bash對你的本地倉庫進行操作時慕匠,先用 cd 命令將你的工作目錄設(shè)置到你要操作的本地倉庫
$ cd {你剛才clone下來的項目文件夾路徑}
每當(dāng)你對本地倉庫里的文件進行了修改,只需在Bash中依次執(zhí)行以下三個命令即可將修改同步到Github域醇,刷新網(wǎng)站頁面就能看到修改后的網(wǎng)頁:
$ git add .
$ git commit -m "statement" //此處statement填寫此次提交修改的內(nèi)容搓幌,作為日后查閱
$ git push origin master
- 實時查看本地修改的內(nèi)容
我們本地已經(jīng)安裝好了jekyll環(huán)境晌梨,我們可以輸入 jekyll server啟動服務(wù)毅该,然后在瀏覽器中查看本地修改內(nèi)容,方便快捷督怜!
七.常見問題及解決方法(持續(xù)更新)
- 運行jekyll server后報如下錯誤"You have already activated addressable 2.5.0, but your Gemfile requires addressable 2.4.0. ":
D:\GarryBlog\garry2016.github.io>jekyll server
WARN: Unresolved specs during Gem::Specification.reset:
listen (< 3.1, ~> 3.0)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/runtime.rb:40:in `block in setup': You have already activated addressable 2.5.0, but your Gemfile r
equires addressable 2.4.0. Prepending `bundle exec` to your command may solve this. (Gem::LoadError)
from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/runtime.rb:25:in `map'
from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/runtime.rb:25:in `setup'
from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler.rb:99:in `setup'
from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/jekyll-3.3.1/lib/jekyll/plugin_manager.rb:36:in `require_from_bundler'
from D:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/jekyll-3.3.1/exe/jekyll:9:in `<top (required)>'
from D:/Ruby23-x64/bin/jekyll:23:in `load'
from D:/Ruby23-x64/bin/jekyll:23:in `<main>'
這個問題說明本地的版本比博客需要的版本要高,只需要實行如下命令即可:
D:\GarryBlog\garry2016.github.io>gem uninstall addressable
Select gem to uninstall:
1. addressable-2.4.0
2. addressable-2.5.0
3. All versions
> 2
Successfully uninstalled addressable-2.5.0
這樣問題就解決了狠角,類似問題也可以這樣解決号杠。
- 解決上面的問題后,再次輸入jekyll server丰歌,報如下錯誤 "SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed":
D:\GarryBlog\garry2016.github.io>jekyll server
WARN: Unresolved specs during Gem::Specification.reset:
listen (< 3.1, ~> 3.0)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
Configuration file: D:/GarryBlog/garry2016.github.io/_config.yml
Configuration file: D:/GarryBlog/garry2016.github.io/_config.yml
Source: D:/GarryBlog/garry2016.github.io
Destination: D:/GarryBlog/garry2016.github.io/_site
Incremental build: disabled. Enable with --incremental
Generating...
GitHub Metadata: No GitHub API authentication could be found. Some fields may be missing or have incorrect data.
Liquid Exception: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed in /_layouts/page.html
jekyll 3.3.0 | Error: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
SSL鏈接問題姨蟋,解決方法是點擊[這里](D:\GarryBlog\garry2016.github.io>set SSL_CERT_FILE=d:\myblog\cacert.pem)下載一個cacert.pem文件保存到指定目錄。然后在命令行中執(zhí)行設(shè)置SSL文件的路徑就可以了立帖。
D:\GarryBlog\garry2016.github.io>set SSL_CERT_FILE=d:\myblog\cacert.pem
好了眼溶,使用jekyll搭建個人博客就寫完了,還涉及一些內(nèi)容這里沒講晓勇,比如評論堂飞,分享等功能。我們fork的博客里面已經(jīng)實現(xiàn)了這些功能绑咱,大家去看源碼應(yīng)該就可以知道了绰筛。
有問題可以在下面留言,歡迎一起交流描融!
七.擴展閱讀
[1]Github Pages
[2]Git教程 - 廖雪峰
[3]Jekyll中文文檔
[4]認(rèn)識與入門Markdown
[5]Ruby和Gem
[6]使用Github Pages建獨立博客
[7]搭建一個免費的铝噩,無限流量的Blog—-github Pages和Jekyll入門