在 Linux 上搭建Jekyll靜態部落格

搜雲庫技術團隊發表於2017-12-27

CentOS,Ubuntu 按照同樣步驟安裝,Ruby Gems 往往都無法搭建成,每次都是依賴不對,各種奇葩原因,解決辦法就是使用 RVM 安裝,解決 Ruby 的環境依賴管理,而且每次安裝Jekyll基本不會出錯

本文主要介紹如何用一條靠譜的路子快速安裝 Ruby 環境 搭建Jekyll部落格。

一、Jekyll介紹

jekyll是一個簡單的免費的Blog生成工具,類似WordPress。但是和WordPress又有很大的不同,原因是Jekyll只是一個生成靜態網頁的工具,不需要資料庫支援。但是可以配合第三方服務,例如Disqus。最關鍵的是jekyll可以免費部署在Github上,而且可以繫結自己的域名。

二、環境準備

CentOS 7.3 / Ubuntu 16.04  
rvm 1.29.3  
gem 2.5.1  
ruby 2.3.0  
jekyll 3.6.2  
複製程式碼

三、系統需求

首先確定作業系統環境,不建議在 Windows 上面搞,如果你一定想在Windows上安裝Jekyll

參考:www.ymq.io/2017/07/22/…

  • Mac OS X
  • 任意 Linux 發行版本(Ubuntu,CentOS, Redhat, ArchLinux ...)

強烈新手使用 Ubuntu 省掉不必要的麻煩!

四、RVM 安裝

RVM 是幹什麼的這裡就不解釋了,自行Google,這裡所有的命令都是再使用者許可權下操作的,任何命令最好都不要用 sudo

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash -s stable

# 如果上面的連線失敗,可以嘗試: 
curl -L https://raw.githubusercontent.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash -s stable
複製程式碼

期間可能會問你 sudo 管理員密碼,以及自動通過 Homebrew 安裝依賴包,等待一段時間後就可以成功安裝好 RVM

然後,載入 RVM 環境(新開 Termal 就不用這麼做了,會自動重新載入的)

source /usr/local/rvm/scripts/rvm
複製程式碼

修改 RVM 的 Ruby 安裝源到 Ruby China 的 Ruby 映象伺服器,這樣能提高安裝速度

echo "ruby_url=https://cache.ruby-china.org/pub/ruby" >> /usr/local/rvm/user/db
複製程式碼

檢查一下是否安裝正確

$ rvm -v

rvm 1.29.3 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
複製程式碼

五、安裝 Ruby

用 RVM 安裝 Ruby 環境

$ rvm requirements
$ rvm install 2.3.0
複製程式碼

等待漫長的下載,編譯過程,完成以後,Ruby, Ruby Gems 就安裝好了,國內速度很慢,國外伺服器,不到一分鐘就下載完了,檔案大概100兆

設定 Ruby 版本,同樣,也可以用其他版本號,前提是你有用 rvm install 安裝過那個版本

rvm use 2.3.0 --default
複製程式碼

這個時候你可以測試是否正確

$ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]

$gem -v
2.5.1
複製程式碼

六、安裝 Bundler

gem install bundler
複製程式碼

七、搭建 Jekyll

搭建Jekyll部落格,需要找一套主題模板,這裡可以參考:www.zhihu.com/question/20… ,以下以 mzlogin.github.io 的主題為例

1、安裝 Git

CentOS

yum install git
複製程式碼

Ubuntu

apt install git
複製程式碼

2、克隆主題

git clone https://github.com/mzlogin/mzlogin.github.io.git
複製程式碼

3、安裝 Jekyll

cd souyunku.github.io/
bundle install
複製程式碼

4、啟動 jekyll

jekyll serve -H 0.0.0.0 -P 80
複製程式碼

效果如下

訪問服務

5、報錯解決

Ubuntu 16.04

## Configuration file: /root/mzlogin.github.io/_config.yml
  Dependency Error: Yikes! It looks like you don't have jekyll-remote-theme or one of its dependencies installed. In order to use Jekyll as currently configured, you'll need to install this gem. The full error message from Ruby is: 'Could not open library 'libcurl': libcurl: cannot open shared object file: No such file or directory. Could not open library 'libcurl.so': libcurl.so: cannot open shared object file: No such file or directory. Could not open library 'libcurl.so.4': libcurl.so.4: cannot open shared object file: No such file or directory' If you run into trouble, you can find helpful resources at https://jekyllrb.com/help/! 
jekyll 3.6.2 | Error:  jekyll-remote-theme
複製程式碼

執行

apt-get install libcurl3
複製程式碼

八、jekyll 文件

jekyll 基本用法 官方中文文件

九、部落格使用指南

部落格搭建成功之後,還需要做一些事情才能讓你的頁面「正確」跑起來。

以下內容摘自 碼志 部落格主題的,Fork 指南

  1. 正確設定專案名稱與分支。

    按照 GitHub Pages 的規定,名稱為 username.github.io 的專案的 master 分支,或者其它名稱的專案的 gh-pages 分支可以自動生成 GitHub Pages 頁面。

  2. 修改域名。

    如果你需要繫結自己的域名,那麼修改 CNAME 檔案的內容;如果不需要繫結自己的域名,那麼刪掉 CNAME 檔案。

  3. 修改配置。

    網站的配置基本都集中在 _config.yml 檔案中,將其中與個人資訊相關的部分替換成你自己的,比如網站的 url、title、subtitle 和第三方評論模組的配置等。

    評論模組: 目前支援 disqus、gitment 和 gitalk,選用其中一種就可以了,推薦使用 gitalk。它們各自的配置指南連結在 _config.yml 檔案的 Comments 一節裡都貼出來了。

    注意: 如果使用 disqus,因為 disqus 處理使用者名稱與域名白名單的策略存在缺陷,請一定將 disqus.username 修改成你自己的,否則請將該欄位留空。我對該缺陷的記錄見 [Issues#2][3]。

  4. 刪除我的文章與圖片。

    如下資料夾中除了 template.md 檔案外,都可以全部刪除,然後新增你自己的內容。

    • _posts 資料夾中是我已釋出的部落格文章。
    • _drafts 資料夾中是我尚未釋出的部落格文章。
    • _wiki 資料夾中是我已釋出的 wiki 頁面。
    • images 資料夾中是我的文章和頁面裡使用的圖片。
  5. 修改「關於」頁面。

    pages/about.md 檔案內容對應網站的「關於」頁面,裡面的內容多為個人相關,將它們替換成你自己的資訊,包括 _data 目錄下的 skills.yml 和 social.yml 檔案裡的資料。

貼心提示

  1. 排版建議遵照一定的規範,推薦 中文文案排版指北(簡體中文版)

  2. 在本地預覽部落格效果可以參考 [Setting up your Pages site locally with Jekyll][2]。

經驗與思考

  • 簡約,儘量每個頁面都不展示多餘的內容。

  • 有時一圖抵千言,有時可能只會拖慢網頁載入速度。

  • 言之有物,不做無痛之呻吟。

  • 如果寫技術文章,那先將技術原理完全理清了再開始寫,一邊摸索技術一邊組織文章效率較低。

  • 杜絕難斷句、難理解的長句子,如果不能將其拆分成幾個簡潔的短句,說明腦中的理解並不清晰。

  • 可以學習一下那些高質量的博主,他們的行文,內容組織方式,有什麼值得借鑑的地方。

致謝作者

我的個人部落格外觀基於 DONGChuan 的修改,感謝 Zhuang Ma !

Contact

  • 作者:鵬磊
  • 出處:www.ymq.io
  • Email:admin@souyunku.com
  • 版權歸作者所有,轉載請註明出處
  • Wechat:關注公眾號,搜雲庫,專注於開發技術的研究與知識分享

關注公眾號-搜雲庫
搜雲庫

相關文章