Jekyll搭建github個人博客

一.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)作庞萍。

這里介紹第二種路線拧烦,第一種路線請自行百度各種教程。

  1. 在網(wǎng)上搜索jekyll 網(wǎng)站模版钝计,挑選一個你看上的,我們這里以 https://github.com/mzlogin/mzlogin.github.io 為例齐佳。
  2. 點擊鏈接進入后私恬,點擊左上角的fork:


  3. 在你的主頁中點擊剛fork的分支,點擊進入后:
    點擊“Settings”炼吴,將“Repository name”改為 {你的Github用戶名}.github.io本鸣,點擊“Rename”。

    此時你會發(fā)現(xiàn)已經(jīng)可以通過 http://{你的Github用戶名}.github.io 訪問你fork下來的網(wǎng)站啦硅蹦!

六.寫博客

  1. 同步倉庫
    在Git Bash中切換到你想存放blog文件的目錄下:
cd D:\GarryBlog

輸入如下命令荣德,將遠(yuǎn)程倉庫克隆到本地:

git clone https://github.com/Garry2016/garry2016.github.io.git
  1. 撰寫博文
    打開本地倉庫的 _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缀遍。

  2. 提交修改
    當(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
  1. 實時查看本地修改的內(nèi)容
    我們本地已經(jīng)安裝好了jekyll環(huán)境晌梨,我們可以輸入 jekyll server啟動服務(wù)毅该,然后在瀏覽器中查看本地修改內(nèi)容,方便快捷督怜!

七.常見問題及解決方法(持續(xù)更新)

  1. 運行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

這樣問題就解決了狠角,類似問題也可以這樣解決号杠。

  1. 解決上面的問題后,再次輸入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入門

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市窿克,隨后出現(xiàn)的幾起案子骏庸,更是在濱河造成了極大的恐慌,老刑警劉巖年叮,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件具被,死亡現(xiàn)場離奇詭異,居然都是意外死亡谋右,警方通過查閱死者的電腦和手機硬猫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來改执,“玉大人啸蜜,你說我怎么就攤上這事”补遥” “怎么了衬横?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長终蒂。 經(jīng)常有香客問我蜂林,道長遥诉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任噪叙,我火速辦了婚禮矮锈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘睁蕾。我一直安慰自己苞笨,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布子眶。 她就那樣靜靜地躺著瀑凝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪臭杰。 梳的紋絲不亂的頭發(fā)上粤咪,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機與錄音渴杆,去河邊找鬼寥枝。 笑死,一個胖子當(dāng)著我的面吹牛磁奖,可吹牛的內(nèi)容都是我干的脉顿。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼点寥,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了来吩?” 一聲冷哼從身側(cè)響起敢辩,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎弟疆,沒想到半個月后戚长,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡怠苔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年同廉,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柑司。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡迫肖,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出攒驰,到底是詐尸還是另有隱情蟆湖,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布玻粪,位于F島的核電站隅津,受9級特大地震影響诬垂,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜伦仍,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一结窘、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧充蓝,春花似錦隧枫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至娜谊,卻和暖如春确买,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背纱皆。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工湾趾, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人派草。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓搀缠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親近迁。 傳聞我的和親對象是個殘疾皇子艺普,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容