2014-02-26 93 views
8

我正在爲Jekyll創建鳥瞰視圖教程,並將在Github頁面上(在我的博客上運行的Jekyll上)進行託管。所以,我想在那裏放一些代碼。如果我輸入以下內容:Jekyll中的Jekyll代碼

{% for post in site.posts %} 
{% if post.categories contains '<categoryname>' %} 
    <h2> 
     <a href="{{ post.url }}">{{ post.title }}</a> 
    </h2> 
{% endif %} 
{% endfor %} 

(標籤空間後的所有行),它不呈現爲代碼,而是執行。如何阻止它執行並將其呈現爲代碼?

+0

看看http://jekyllrb.com/docs/templates/和http://stackoverflow.com/questions/6761990/highlight-with-jekyll-and-pygments-doesnt-上的'代碼段突出顯示部分「作品 –

+0

我也試過。我如何突出jekyll?雖然 – Ranveer

回答

22

由化身所使用的{%...%}語法是Liquid templating engine的一部分。爲了逃避這些標籤,並從字面上顯示它們,您應該使用raw tag

您可能希望將其與代碼塊的降格語法結合使用。使用Redcarpet,您可以使用三重反引號語法。如果你把反引號中的raw標籤或其他方式輪內沒關係:

{%raw%} 
``` 
{% for post in site.posts %} 
{% if post.categories contains '<categoryname>' %} 
    <h2> 
     <a href="{{ post.url }}">{{ post.title }}</a> 
    </h2> 
{% endif %} 
{% endfor %} 
``` 
{%endraw%} 
+0

Wonderful !這工作。 – Ranveer

2

括代碼在反引號:

(與隆重的接待降價發動機測試)

``` 
{% for post in site.posts %} 
{% if post.categories contains '<categoryname>' %} 
    <h2> 
     <a href="{{ post.url }}">{{ post.title }}</a> 
    </h2> 
{% endif %} 
{% endfor %} 
``` 
+0

工作在這個沒有工作:( – Ranveer

+0

你使用什麼降價引擎? – njk

+0

降價引擎是在你的_config.yml中指定的。我有我的這一行:markdown:redcarpet – njk

0

至少有三個選項存在,taht您可以使用傑基爾格式化代碼:

  1. 亮點 - 傑基爾已建成
 
{% highlight java %} 
ValidationResult validationResult = NetLicensing.LicenseeService.validate(context, licenseeNumber); 
{% endhighlight %} 

例如:https://raw.githubusercontent.com/Labs64/netlicensing.io/gh-pages/_drafts/2010-09-16-post-template.md(見語法突出顯示部)

  • 反引號 - GitHub的風格
  •  
    ```java 
    ValidationResult validationResult = NetLicensing.LicenseeService.validate(context, licenseeNumber); 
    ``` 
    
  • HTML前/代碼 - HTML能被包括在降價以及
  • <pre><code> ValidationResult validationResult = NetLicensing.LicenseeService.validate(context, licenseeNumber); <code/></pre>