鍍金池/ 教程/ Java/ Pages 中使用 Jekyll
手動創(chuàng)建項目 Pages
Pages 中使用 Jekyll
添加 CNAME 文件到你的存儲庫中
GitHub Pages 是什么
設(shè)置 GitHub Pages 的自定義域名
在你的 DNS 提供者上配置 A 記錄的技巧
關(guān)于 GitHub Pages 的自定義域名
在 DNS 提供者上配置 CNAME 記錄的技巧
用自動生成器生成 Pages
用戶、組織和項目 Pages
進(jìn)一步了解 GitHub Pages

Pages 中使用 Jekyll

除了支持常規(guī)的 HTML 內(nèi)容之外,GitHub Pages 也支持 Jekyll,一個簡單的,博客風(fēng)格的靜態(tài)網(wǎng)頁生成器。Jekyll 使創(chuàng)建站點(diǎn)范圍內(nèi)的頭部和底部變得簡單,不需要在每個頁面復(fù)制它們。它也提供一些其他更深入的模板功能。

使用 Jekyll

當(dāng)你將內(nèi)容推送到一個特別命名的分支版本庫中運(yùn)行,每個 GitHub Pages 是通過 Jekyll 處理。對于 User Pages,使用在 username.github.io 庫的 master 分支。對于 Project Pages,使用項目中存儲庫中的 gh-pages 分支。因為一個普通的 HTML 網(wǎng)站也是一個有效的 Jekyll 網(wǎng)站,你不需要做什么特別的事情讓您的標(biāo)準(zhǔn) HTML 文件不變。 Jekyll 完整的文檔,涵蓋其功能和使用方法。只需啟動提交 Jekyll 格式的文件,你就會在任何時間使用 Jekyll。

安裝 Jekyll

我們強(qiáng)烈建議您的計算機(jī)上安裝 Jekyll 預(yù)覽您的網(wǎng)站,并在發(fā)布你的網(wǎng)站之前幫助檢測出有問題的 GitHub Pages。

很幸運(yùn)的是,在你的電腦上安裝 Jekyll,并確保你的計算機(jī)最匹配 GitHub Pages 設(shè)置很容易,多虧了 the GitHub Pages Gem和我們的依賴版本的頁面。要安裝 Jekyll,你需要做幾件事情:

  1. Ruby - Jekyll 需要 Ruby 語言。如果你有一個蘋果電腦,你很可能已經(jīng)有 Ruby。如果你打開??終端應(yīng)用程序,然后運(yùn)行命令ruby --version,可以證實這一點(diǎn)。你的 Ruby 版本至少應(yīng)該是 2.0.0。如果你已經(jīng)有了,你就已經(jīng)完成這一步。跳至步驟 #2。否則,請按照以下說明安裝 Ruby。

  2. Bundler - 捆綁器的軟件包管理器。它使 Ruby 軟件版本像 Jekyll 一樣。如果你將要在本地建設(shè)的 GitHub Pages,它能令你容易得多。如果你還沒有安裝 Bundler,你可以通過運(yùn)行命令 gem install bundler 安裝它。

  3. Jekyll - 主要做的事。你將要創(chuàng)建一個名為 Gemfile 的文件在你的網(wǎng)站的庫中并添加行 gem 'github-pages 。在此之后,只需運(yùn)行命令,bundle install 就可以了。如果你決定跳過步驟#2,你仍然可以使用命令 gem install github-pages 安裝 Jekyll,但你可能會碰到了命令行的麻煩。這里有一個 Gemfile 的例子,你可以使用(放置在存儲庫的根目錄):
source 'https://rubygems.org'
gem 'github-pages'

運(yùn)行 Jekyll

為了以符合 GitHub Pages 構(gòu)建服務(wù)器的方式運(yùn)行 Jekyll,需要通過 Bundler 運(yùn)行 Jekyll。在庫的根目錄使用命令 bundle exec jekyll serve(在切換到項目庫的 gh-pages 分支之后),然后應(yīng)該能在 http://localhost:4000 訪問你的網(wǎng)站。完整的 Jekyll 命令列表,請參見 Jekyll 文檔。

保持 Jekyll 是最新的

Jekyll 是一個動態(tài)開源項目,它會頻繁地更新。當(dāng) GitHub Pages 服務(wù)器更新了,在你電腦上的軟件就會過時,導(dǎo)致你的網(wǎng)站出現(xiàn)本地和發(fā)布在 GitHub 的樣子不一致。保持 Jekyll 的更新,你可以輸入命令bundle(或者如果你選擇跳開第二步,運(yùn)行gem update github-pages)。

配置 Jekyll

你可以通過創(chuàng)建一個 _config.yml配置 Jekyll 大部分屬性。

默認(rèn)值

以下的默認(rèn)值是 GitHub 設(shè)置的,你可以自由地重寫 _config.yml 文件:

highlighter: pygments
github: [Repository metadata]

對于存儲庫的元數(shù)據(jù)對象的內(nèi)容,請參閱 GitHub Pages 庫的元數(shù)據(jù)。

配置重寫

我們可以重寫下面的 _config.yml 中你不可以配置的值:

safe: true
lsi: false
source: your top-level directory

記住,如果你改變了 source 的設(shè)置,你的頁面可能不能正確地建立。 GitHub Pages 把源文件作為最高級別的庫目錄來考慮。

Frontmatter 是必須的

Jekyll 需要 Markdown 文件有一個 front-matter 定義在所有文件之上。Front-matter 只是一系列的元數(shù)據(jù),由三個破折號劃定:

---
title: This is my title
layout: post
---

Here is my page.

如果你喜歡,你可以選擇從你的文件中刪除 Front-matter,但是你仍然需要這三個破折號:

---
---

Here is my page.

如果你的文件在 _posts 目錄中,你可完全刪除這些破折號。 希望獲取更過信息可以查看 Jekyll 文檔。

問題解決

如果你的 Jekyll 網(wǎng)站在你 push 它到 GitHub 后沒有表現(xiàn)為合適的形式,在本地運(yùn)行 Jekyll 對你檢查錯誤很有用。為了做到這件事,你將會希望使用 Jekyll 的相同版本和其它依賴。

為了保證你的本地開發(fā)環(huán)境是使用 Jekyll 的相同版本和 GutHub 網(wǎng)站的依賴,一旦 Jekyll 安裝了,你可以定期地運(yùn)行命令gem update github-pages(或者bundle update github-pages如果使用Bundler)。更多的信息,請參看 GitHub Pages Gem 庫。

如果你的頁面并沒有建立在你 push 到 GitHub 之后,請參看 GitHub Pages 建立失敗問題解決

如果你 Jekyll 網(wǎng)頁正在出現(xiàn)問題,請確定你沒有使用和其它項目相同名字的分類,這個會引起路徑?jīng)_突。例如,你有一個博客站點(diǎn)叫“簡歷”在你的用戶網(wǎng)頁庫中,和一個項目名叫“簡歷”也有一個 gh-pages 的分支,它們會引起雙方的沖突。

關(guān)閉 Jekyll

你可以通過在頁面庫的根目錄下創(chuàng)建一個名為 .nojekyll 的文件并將其 push 到 GitHub 來完全退出 Jekyll。只有當(dāng)您的站點(diǎn)使用以下劃線開頭的目錄,這才是必要的。Jekyll 把這些當(dāng)作特殊的目錄,并且不將它們復(fù)制到最終目的地。

貢獻(xiàn)

如果你希望 Jekyll 擁有某些功能,請自由地 fork,并發(fā)送一個 pull 請求。我們很高興接受到用戶的意見。