2014-02-28 80 views
6

我在杰基尔5.0上的Windows使用降价,而我现在有我摘录的标签设置为“< --excerpt - >”杰基尔/降价HTML注释标签转换为文字

然而,当我把注释标记在我.markdown文件,如下所示:

blog entry excerpt is here 
<!--excerpt--> 

blog entry continues 

哲基尔转换<和>注释标签>和<,和注释显示在我的最终的HTML,它看起来像这样:

<p> blog entry excerpt is here &lt;!--excerpt&gt;</p> 
<p> blog entry continues</p> 

有趣地,标签仍是公认并摘录在博客

作品要获得标签作为一个实际的评论,我必须这样做:

blog entry excerpt is here 

<!--excerpt--> 

blog entry continues 

这给了我:

<p> blog entry excerpt is here</p> 
<!--excerpt--> 
<p> blog entry continues</p> 

这是Jekyll的预期行为吗?我找不到这个问题的其他人,我花了数小时才弄清楚,所以希望至少这是帮助别人。

回答

3

看起来这是Jekyll及其Markdown处理器的预期行为。根据Markdown specification for Paragraph elements,

段落只是一个或多个连续的文本行,由一个或多个空行分隔。

基本上,您的摘录被解释为段落元素的一部分。当您在评论和上一行之间添加空白行时,它将被放置在关闭</p>标记之后,并按您的意图显示。

+1

不幸的是,“Markdown”规范不存在(另请参阅Jeff Atwood的[The Mark of Markdown](http://blog.codinghorror.com/the-future-of-markdown/))。在这种情况下,很可能会认为''的语法是* inline * HTML,因此“不需要为它加上序号或分隔它以表明您正在从Markdown切换到HTML;您只是使用标签。“ (根据相同的规格)。评论不是“块级HTML元素”,所以不应该需要空行。 – usr2564301

0

使用redcarpet markdown解析器......它非常容易使用,更容易让您在.md文件中使用HTML。 (无HTML标记显示出来,你不希望它)

  1. CD你的/项目/ DIR
  2. gem install redcarpet
  3. bundle install
  4. 这一行添加到您的Gemfilegem 'redcarpet'
  5. 加此行发送给您_config.ymlmarkdown: redcarpet

当我想在.md中使用HTML时,这对我有用,但是html标记本身被渲染到了服务页面中。

希望它适合你!