邂逅Jekyll
1、認識Jekyll
Jekyll is a simple, blog aware, static site generator.。 It takes a template directory (representing the raw form of a website), runs it through Markdown or Textile and Liquid converters, and produces a static website suitable for any web server.
????上面是摘自github上Jekyll的說明.簡單的說,Jekyll 是一個簡潔的、特別針對博客平臺的靜態網站生成器。它使用一個模板目錄作為網站布局的基礎框架,并在其上運行 Textile 、 Markdown 或 Liquid 標記語言的轉換器,最終生成一個完整的靜態Web站點。jekyll+markdown+Liquid成為很簡單,很舒服的寫作方式。
一個典型的Jekyll站點通常具有如下結構:
config.yml
??保存Jekyll配置的文件。雖然絕大部分選項可以通過命令行參數指定,但將它們寫入配置文件可以使你在每次執行時不必記住它們。 比如里面寫:
description: "freestyle21\'s Blog"
那么我們在源碼中就可以通過下面這種方式去訪問了:
site.description
includes
該目錄存放可以與_layouts和_posts混合、匹配并重用的文件。 用的不多,沒有深入接觸。。。
layouts
??該目錄存放用來插入帖子的網頁布局模板。頁面布局基于類似博客平臺的“一個帖子接一個帖子”的原則,通過YAML前置數據定義。Liquid標簽用于在頁面上插入帖子的文本內容。這個用的特多,可以大大減少代碼量。
posts
??該目錄下存放的可以說成是你的“動態內容”。這些文件的格式很重要,它們的命名模式必須遵循 year-month-date-title.markdown。每一個帖子的固定鏈接URL可以作彈性的調整,但帖子的發布日期和轉換所使用的標記語言會根據且僅根據文件名中的相應部分來識別。
site
??這里是Jekyll用以存放最終代碼生成站點的根路徑位置。也許把它加到你的.gitignore列表中會是個不錯的主意。這個文件夾是Jekyll自動生成的,所以我們一般不用管。
其他文件/目錄
??除了以上提到的文件之外,每一個其他的、不以下劃線_開頭的目錄和文件都會被照原樣傳送到站點路徑下。例如,你可以在網站根目錄下面添加一個 css ,js,img目錄,一個 favicon.ico ,等等等等。
2、windows搭建Jekyll本地測試環境
??你可以修改了代碼,然后上傳到github上面去,然后在刷新刷新看剛才改動的效果。不過如果能夠堅持調試下來的不是大牛就是高富帥=-=。。于是在本地測試就師出有名了,改好了再上傳到github上面,事半功倍。
??看了好多別人寫的博客,不過都沒有一次成功的,為了方便同仁和自己,把自己的過程記錄下來吧。。中間遇到好多問題,反正各種google、stackoverflow。做好過后,那些問題也都忘了怎么解決的了,所以事后寫博客質量不是很好,=-=||..好了,少扯蛋,多做事:
安裝Jekyll
??Jekyll使用Ruby編寫的,所以要先配置Ruby環境,通過Ruby安裝Jekyll。
??下載RubyInstaller,(我下載的是rubyinstaller-1.9.3-p194.exe
??下載 DevKit(下載的是DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe
RubyInstaller安裝開始的時候,有三個多選按鈕,都選上~path神馬的都會自動加上,不用擔心。
解壓DevKit,然后打開cmd,進入剛才的DevKit解壓目錄,輸入以下命令:
Ruby dk.rb init
Ruby dk.rn install
??DevKit是windows平臺下編譯和使用本地C/C++擴展包的工具。它就是用來模擬Linux平臺下的make,gcc,sh來進行編譯。但是這個方法目前僅支持通過RubyInstaller安裝的Ruby。
下面就可以安裝Jekyll了:
gem install Jekyll
等待。。。這個時候不要關閉Git Bash。
最后,我們可以檢查一下安裝Jekyll成功沒有:
Jekyll --version
如果輸出下面的結果就說明我們成功了。。
Jekyll 0.12.0
接下來讀者朋友可以把我的博客clone到本地,一般都clone到在C:\Users\Administrator這個目錄下面:
git clone git://github.com./freestyle21/freestyle21.github.com.git
然后進入剛才的目錄里面:
cd freestyle21.github.com
執行:
Jekyll --server --auto
如下如:
??最后就是檢驗成果的時候了,在瀏覽器中輸入:localhost:4000,就可以看到你的頁面在本地跑起來了。。 這樣以后調試就方便多了,在代碼中修改后,只要ctrl+s保存一下,jekyll就會自動在瀏覽器里面更新了。。
一般都在github里面寫代碼的,很久沒有在本地調試了,這幾天有點想法,想把博客改變一下樣子。但是這次居然jekyll居然不聽話了,各種報錯,然后就是不斷的找錯誤。。
現在記錄一下遇到的錯誤,以后不要在這里耽誤時間了。
問題:
Liquid error: incompatible character encodings: UTF-8 and IBM437”
編碼問題,直接在path里面添加:LC_ALL=en_US.UTF-8 和 LANG=en_US.UTF-8然后重啟或者注銷。
還是不行的話就將 convertible.rb 的第29行改為:
self.content = File.read(File.join(base, name), :encoding => "utf-8")
問題:
Liquid Exception: No such file or directory - python c:/Ruby193/lib/ruby/gems/1.9.1/gems/pygments.rb-0.3.7/lib/pygments/mentos.py in 2013-01-06-octopress.markdown
首先可以嘗試一下更新Pygments,
把python里面的script目錄加載path里面,然后就可以直接通過easy_install Pygments來安裝了。
其次Pygments是通過python來工作的,所以還要安裝python。需要注意的是一定要把python的路徑加到path下面。
總結
- 上一篇: 斐讯K2P刷固件教程斐讯路由器k2p如何
- 下一篇: win10我的电脑图标怎么调出来win1