在macos上安裝部署jekyll
Jekyll是靜態的網站生成器,它依賴於ruby。
①:準備jekyll的運行環境。(我是在我的本機做的ios-10.8.5)
先要安裝xcode,大概有2.3G可以從app store 下載,也可以去developer.apple.com/downloads/ 查找下載。
#xcode-select –p 查看是否安裝成功。
在我的環境上,需要手動安裝Xcode Command Line Tools
②:打開xcode -> Preferences -> Downloads 找到XcodeCommand Line Tools選擇下載。
#xcode-select –switch /Applications/Xcode5.app/Contents/Developer
③:執行以下命令,安裝部署brew(macos上軟件安裝命令)
$ ruby –e “$(curl –fsSL https://raw.github.com/Homebrew/homebrew/go/install)” (一定不能用root用戶來操作。)
$ brew doctor 測試安裝是否成功。
$ brew update 查看是否有更新並安裝。
$ brew install rbenv (rbenv可以用來管理多個版本的ruby在用戶目錄的安裝和使用,只需指定ruby的版本號,便可以直接安裝,很強大的ruby管理工具。)
然後在~/.bash_profile文件裏添加語句:
if which rbenv > /dev/null ; then eval “$(rbenvinit – )”; fi
$ brew install ruby-build
$ rbenv install 1.9.3-p545 也可以使用brewinstall ruby(默認安裝最新版本的)
④:使用ruby安裝jekyll
#gem update –system,如果結果是”nothingto update”則
#gem install rubygems-update
#update_rubygems
$ gem install jekyll
$ jekyll
執行命令時出錯:“require_program”: Program versionrequired(Commander::Runner::CommandError)
解決辦法:
$ gem install json
⑤:使用jekyll
$jekyll website (會生成一個website的目錄。)
$ cd website
$jekyll build (會生成_site目錄,此目錄包含了我們網站需要的所有數據和網頁文件。)
$jekyll server –watch(此命令可以讓我們瀏覽直接的website,並且能夠監控改變,還可以自動再生(不改變配置文件的情況下))
默認打開的地址:http://0.0.0.0:4000,我們可以使用http://localhost:4000或者http://127.0.0.1:4000來訪問。
⑥:配置文件:_config.yml,在website目錄下面。期目錄結構爲:
/website
|-- _config.yml
|-- _includes
|-- _layouts
| |--default.html
| `--post.html
|-- _posts |
| |--2014-04-04-welcome-to-jekyll-markdown
| `--2014-04-204-the-website-to-regina.markdown
|-- _site
`-- index.html
以下是每部分功能的簡述:
_config.yml:
保存Jekyll配置的文件。絕大部分選項可以通過命令行參數指定,但寫入配置文件更方便。
_includes/:
該目錄存放可以與_layouts和_posts混合、匹配並重用的文件。Liquid標籤{% include file.ext %}可以用於嵌入文件_includes/file.ext。
_layouts/:
該目錄存放用來插入帖子的網頁佈局模板。頁面佈局基於類似博客平臺的“一個帖子接一個帖子”的原則,通過YAML前置數據定義。
_posts/:
該目錄下存放的可以說成是你的“動態內容”。這些文件的格式很重要,它們的命名模式必須遵循 YEAR-MONTH-DATE-title.markdown 。帖子的固定鏈接URL可以作彈性的調整,發佈日期和轉換所使用的標記語言會根據且僅根據文件名中的相應部分來識別。
_site/:
這裏是Jekyll用以存放最終生成站點的根路徑位置。
index.html和其他HTML/Markdown/Textile文件
備註:
如果一個文件的頭部存在YAML前置數據的部分,那麼Jekyll將會自動處理轉換該文件並傳送到站點路徑下。這對於站點的根目錄或其他任意子目錄下的所有.html 、.markdown 、.textile 文件都適用。
其他文件/目錄
除了以上提到的文件之外,每一個其他的、不以下劃線開頭的目錄和文件都會被照原樣傳送到站點路徑下。