很多人會制作自己的主頁,頁面美觀簡潔,一直很在意是怎么做的。
最近公司需要做個文檔庫的主頁,就研究了一些開源的工具,后面發現了jekyll(讀傑克爾),將純文本轉換為靜態博客網站。
一、Ruby
jekyll提供了很多現成的主題可以使用,里面有很多高大上的款式。
官網上面有專門一節是介紹安裝的,不過在實際安裝中還是會有一些問題。
需要有下載Ruby環境,選最新的那個版本即可,官網上面安裝列中有一個RubyGems,但Ruby1.9.1 以后版本已經自帶了,所以無需額外下載。
二、切換source源
由於國內網絡原因(你懂的),導致 rubygems.org 存放在 Amazon S3 上面的資源文件間歇性連接失敗。
有兩張方法,一種是切換到淘寶,另外一種是切換到ruby-china,網上大部分的教程都是用淘寶的。
在用淘寶的后老是會出現認證錯誤,后面上google查問題,發現淘寶的已經不維護了,詳見《Ruby China的RubyGems 鏡像上線》
我把兩種方法都記錄了一下,
1) ruby-china
將source改成“https://gems.ruby-china.org/”,在打開的頁面中,會告訴你幾個指令。
由於我先用了taobao的source,所以這里remove的是淘寶的。
ruby-china中說道:“如果遇到 SSL 證書問題,你又無法解決,請直接用 http://gems.ruby-china.org 避免 SSL 的問題。”
2) taobao
將source改成“https://ruby.taobao.org/”,在打開的頁面中,會告訴你幾個指令。
如果在輸入指令出錯的話,如下圖所示,就是要讓你下載下載證書文件。
然后放到某個位置,輸入指令set,“D:\Ruby23-x64\cacert.pem”就是文件的具體路徑
set SSL_CERT_FILE=D:\Ruby23-x64\cacert.pem
也可以將“SSL_CERT_FILE”設置為環境變量,這樣就不用每次都要輸入設置的指令。
不知為何,后面我加載包的時候,就是會出現問題,囧,也許是我做了什么操作導致的,額額額。
三、安裝jekyll
在輸入安裝指令后,就會看到默認安裝了14個包。
gem install jekyll
四、啟動
從主題列表中選了兩個,Minimal Mistakes和Jekyll Clean。前者頁面比較全但相對比較復雜,后者頁面少但很簡潔。
輸入指令,
jekyll serve --watch
在顯示的文字中有一句讓你安裝“wdm”,會在下面介紹。
在頁面中輸入“http://localhost:4000/jekyll-clean/index.html”后就能看到頁面了。
五、wdm
從 v2.4.0 開始,Jekyll 本地部署時,會相當於以前版本加 --watch 一樣,監聽其源文件的變化。
而 Windows 似乎有時候並不會奏效,若你碰到,可安裝 wdm (Windows Directory Monitor ) 來改善這個問題。
如果要安裝“wdm”得要先安裝“Devkit”,在打開的網站中下載后,會讓你解壓到某個文件夾,接下來就是進入到這個文件夾中。
執行指令“ruby dk.rb init”。
再執行指令“ruby dk.rb install”,不過提示我先去修改“config.yml”中的路徑。
config.yml文件就在解壓出來的文件中。
再執行install指令。
六、Gemfile文件
Gemfile是一個用於描述gem之間依賴的文件。gem是一堆Ruby代碼的集合,它能夠為我們提供調用。
Gemfile是可通過Bundler創建。
gem install bundler
bundle init
bundle install
Gemfile文件中設置的內容如下:
source "https://rubygems.org" gem "jekyll-paginate" gem "kramdown" gem "jekyll-watch" gem "wdm", "~> 0.1.0" if Gem.win_platform?
七、自動刷新頁面
1)修改Gemfile文件
gem 'guard' gem 'guard-jekyll-plus' gem 'guard-livereload'
要添加三個包,執行“bundle install”,如果執行出錯,那就一個一個加吧。
2)創建guard配置文件
執行指令,將會生成一個Guardfile文件。
guard init
生成的Guardfile文件內有一些代碼,在代碼的最后添加如下代碼:
guard 'jekyll-plus', :serve => true do watch /.*/ ignore /^_site/ end guard 'livereload' do watch /.*/ end
3)添加livereload插件
安裝Live Reload Extension,如果是chrome,就到Chrome Web Store下載。
安裝成功后,在右上角可以看到一個小按鈕
如果是運行狀態,那么會自動添加一個js文件引用:
4)運行
執行運行指令:
bundle exec guard start
這里注意一下,livereload要先關閉。
運行上面指令,當出現下面的內容后,再運行livereload。
然后會出現“connected”連接了,接下來修改內容就會自動刷新頁面了。
試用后發現,有時候會刷新不成功,還是原來的樣子,看來某些地方還需要改進。
demo下載:
http://download.csdn.net/detail/loneleaf1/9508074
參考資料:
Fixing SSL_connect error while installing Ruby Gems on Windows