Jekyll产生的输出不同于直接使用kramdown

时间:2014-08-12 09:28:29

标签: jekyll kramdown

我想使用jekyll创建一个包含编号项目列表的HTML文档;即HTML中的<ol>。有些项目包含一个表格。该列表在表之后停止,但前提是我使用jekyll,而不是直接使用kramdown。

我正在运行jekyll版本2.2.0和kramdown版本1.4.1。

为了重现这一点,我使用jekyll new that创建了一个新网站。然后,我创建了一个名为this.md的新降价文档:

---
layout: page
title: This
permalink: /this/
---

1. first

   |table|table|
   |-----|-----|
   |conte|nt   |

1. second
1. third

并运行jekyll serve

这会为http://localhost:4000/this/生成以下HTML代码(仅引用相关部分):

  <ol>
  <li>first</li>
</ol>

<table>
  <thead>
    <tr>
      <th>table</th>
      <th>table</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>conte</td>
      <td>nt</td>
    </tr>
  </tbody>
</table>

<ol>
  <li>second</li>
  <li>third</li>
</ol>

这显然不是我想要的。运行kramdown this.md可以得到我想要的内容:

<ol>
  <li>
    <p>first</p>

    <table>
      <thead>
        <tr>
          <th>table</th>
          <th>table</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>conte</td>
          <td>nt</td>
        </tr>
      </tbody>
    </table>
  </li>
  <li>second</li>
  <li>third</li>
</ol>

即。我希望一个<ol>列表包含多个项目,而不是每个表格后的新列表。

杰基尔有什么不同?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

kramdown doc所示,多行列表很棘手,你需要调整列表和表的缩进:

1. first (0 space indentation) NOT WORKING

   |table|  - 3 spaces indent|
   |-----|-----|
   |conte|nt   |

2. second (0 space indentation) NOT WORKING

    |table|  - 4 spaces indent|
    |-----|-----|
    |conte|nt   |

 3. third (1 space indentation) NOT WORKING

   |table|  - 3 spaces indent|
   |-----|-----|
   |conte|nt   |

 4. fourth (1 space indentation) **WORKS GOOOOOD !!**

    |table|  - 4 spaces indent|
    |-----|-----|
    |conte|nt   |


 5. fifth - tip of the day - add a class to table

    {:.table}
    |table|  - 4 spaces indent|
    |-----|-----|
    |conte|nt   |