鍍金池/ 教程/ Java/ 撰寫博客
Assets
相關(guān)資源
創(chuàng)建頁面
基本用法
常見問題
模板
升級
配置
部署方法
使用 Jekyll 的站點
頭信息
插件
博客遷移
永久鏈接
使用草稿
貢獻(xiàn)
分頁功能
安裝
目錄結(jié)構(gòu)
Data Files
常用變量
GitHub Pages
撰寫博客
快速指南
附加功能

撰寫博客

Jeklly 的一個最好的特點是“關(guān)注 blog 本身”。這是指什么呢?簡單的說就是寫博客的過程被 鑄造進(jìn)了 Jekyll 的功能中。你只需簡單的管理你電腦中的一個文件夾下的文本文件就 可以寫文章并方便的在線上發(fā)布。與繁瑣的配置和維護(hù)數(shù)據(jù)庫和基于網(wǎng)站的內(nèi)容管理系統(tǒng)(CMS)相比, 這是一個非常受歡迎的改變。

文章文件夾

目錄結(jié)構(gòu)介紹中說明過,所有的文章都在 _posts 文件夾中。 這些文件可以用 Markdown 編寫, 也可以用 Textile 格式編寫。只要文件中有 YAML 頭信息,它們就會從源格式轉(zhuǎn)化成 HTML 頁面,從而成為 你的靜態(tài)網(wǎng)站的一部分。

創(chuàng)建文章的文件

發(fā)表一篇新文章,你所需要做的就是在 _posts文件夾中創(chuàng)建一個新的文件。 文件名的命名非常重要。Jekyll 要求一篇文章的文件名遵循下面的格式:

年-月-日-標(biāo)題.MARKUP

在這里,是4位數(shù)字,都是2位數(shù)字。MARKUP擴(kuò)展名代表了這篇文章 是用什么格式寫的。下面是一些合法的文件名的例子:

2011-12-31-new-years-eve-is-awesome.md
2012-09-12-how-to-write-a-blog.textile

內(nèi)容格式

所有博客文章頂部必須有一段 YAML 頭信息(YAML front- matter)。 在它下面,就可以選擇你喜歡的格式來寫文章。Jekyll 支持2種流行的標(biāo)記語言格式: Markdown 和 Textile. 這些格式都有自己的方式來標(biāo)記文章中不 同類型的內(nèi)容,所以你首先需要熟悉這些格式并選擇一種最符合你需求的。

Be aware of character sets

Content processors can modify certain characters to make them look nicer. For example, the smart extension in Redcarpet converts standard, ASCII quotation characters to curly, Unicode ones. In order for the browser to display those characters properly, define the charset meta value by including <meta charset="utf-8">in the <head> of your layout.

引用圖片和其它資源

很多時候,你需要在文章中引用圖片、下載或其它數(shù)字資源。盡管 Markdown 和 Textile 在鏈接這些資源時的語法并不一樣,但你只需要關(guān)心在站點的哪些地方保存這些文件。

由于 Jekyll 的靈活性,有很多方式可以解決這個問題。一種常用做法是在工程的根目錄下 創(chuàng)建一個文件夾,命名為 assets 或者 downloads,將圖片文件,下載文件或者其它的 資源放到這個文件夾下。然后在任何一篇文章中,它們都可以用站點的根目錄來進(jìn)行引用。 這和你站點的域名/二級域名和目錄的設(shè)置相關(guān),下面有一些例子(Markdown 格式) 來演示怎樣利用 site.url變量來解決這個問題。

在文章中引用一個圖片

… 從下面的截圖可以看到:
![有幫助的截圖]({{ site.url }}/assets/screenshot.jpg)

鏈接一個讀者可下載的 PDF 文件:

… 你可以直接 [下載 PDF]({{ site.url }}/assets/mydoc.pdf).

提示?: 鏈接只使用站點的根 URL

如果你確信你的站點只在域名的根 URL 下做展示,你可以不使用 {{ site.url }}變量。在這種情況下, 直接使用/path/file.jpg即可。

文章的目錄

所有文章都在一個目錄中是沒有問題的,但是如果你不將文章列表列出來博客文章是不會被人看到 。在另一個頁面上創(chuàng)建文章的列表(或者使用模版)是很簡單的。 感謝 Liquid 模版語言和它的標(biāo)記,下面 是如何創(chuàng)建文章列表的簡單例子:

<ul>
  {% for post in site.posts %}
    <li>
      <a href="{{ post.url }}">{{ post.title }}</a>
    </li>
  {% endfor %}
</ul>

當(dāng)然,你可以完全控制怎樣(在哪里)顯示你的文章,如何管理你的站點。如果你想了解 更多你需要讀一下 Jekyll 的模版是怎樣工作的這篇文章。

文章摘要

Jekyll 會自動取每篇文章從開頭到第一次出現(xiàn) excerpt_separator 的地方作為文章的摘要, 并將此內(nèi)容保存到變量 post.excerpt 中。拿上面生成文章列表的例子,你可能想在每個標(biāo)題下給出文章內(nèi)容的提示,你可以在每篇文章 的第一段加上如下的代碼:

<ul>
  {% for post in site.posts %}
    <li>
      <a href="{{ post.url }}">{{ post.title }}</a>
      {{ post.excerpt }}
    </li>
  {% endfor %}
</ul>

Because Jekyll grabs the first paragraph you will not need to wrap the excerpt inp tags, which is already done for you. These tags can be removed with the following if you’d prefer:

{{ post.excerpt | remove: '<p>' | remove: '</p>' }}

如果你不喜歡自動生成摘要,你可以在文章的 YAML 中增加 excerpt 來覆蓋它。完全禁止掉可以 將 excerpt_separator設(shè)置成"".

Also, as with any output generated by Liquid tags, you can pass the | strip_html flag to remove any html tags in the output. This is particularly helpful if you wish to output a post excerpt as a meta="description" tag within the post head, or anywhere else having html tags along with the content is not desirable.

高亮代碼片段

Jekyll 自帶語法高亮功能,它是由 Pygments 來實現(xiàn)的。在文章中插入一段高亮代碼非常 容易,只需使用下面的 Liquid 標(biāo)記:

{% highlight ruby %}
def show
  @widget = Widget(params[:id])
  respond_to do |format|
    format.html # show.html.erb
    format.json { render json: @widget }
  end
end
{% endhighlight %}

將輸出下面的效果:

def show
  @widget = Widget(params[:id])
  respond_to do |format|
    format.html # show.html.erb
    format.json { render json: @widget }
  end
end

提示?:顯示行數(shù)

你可以在代碼片段中增加關(guān)鍵字 linenos 來顯示行數(shù)。 這樣完整的高亮開始標(biāo)記將會是:{% highlight ruby linenos %}。 有了這些基礎(chǔ)知識就可以開始你的第一篇文章了。當(dāng)你準(zhǔn)備更深入的了解還可以做什么的 時候,你可能會對如何定制文章的永久鏈接或在文章和站點的其它位 置中使用定制變量感興趣。

上一篇:模板下一篇:頭信息