Hakyll生成奇怪的HTML - 任何人都可以解释原因吗?

时间:2010-10-08 17:55:33

标签: html markup template-engine hakyll

我使用Hakyll生成一些文档,我注意到它有一种奇怪的方式来关闭它生成的代码中的HTML标记。

有一个页面,他们说你必须像他们那样生成标记,否则你的页面布局会在某些条件下被破坏,但我现在找不到它。

我创建了一个小测试页面(下面的代码),它有一个带有“普通”HTML标记的红色图层,以及一个带有类似于hakyll生成的标记的黄色图层。

我看不出两个div之间在Firefox中存在任何差异。

有人可以解释他们说的是真的吗?

<html>
<body>
<!-- NORMAL STYLE -->
<div style="background: red">
<p>Make available the code from the library you added to your application. Again, the way to do this varies between languages (from adding import statements in python to adding a jar to the classpath for java)</p>
<p>Create an instance of the client and, in your code, make calls to it through this instance's methods.</p>
</div>
<!-- HAKYLL STYLE -->
<div style="background: yellow"
><p
>Make available the code from the library you added to your application. Again, the way to do this varies between languages (from adding import statements in python to adding a jar to the classpath for java)</p
><p
>Create an instance of the client and, in your code, make calls to it through this instance's methods.</p
></div
>
</body>
<html>

3 个答案:

答案 0 :(得分:5)

实际上pandoc正在生成HTML代码。 Pandoc问题跟踪器中有一个很好的解释:

http://code.google.com/p/pandoc/issues/detail?id=134

  

原因是   因为HTML标记之间的任何空格(包括换行符和制表符)都会导致   浏览器在这些元素之间插入空格字符。它更容易   机器逻辑将这些空间排除在外,因为那时你不需要考虑   HTML文本格式化可能会混淆浏览器添加的方式   额外的空间。

答案 1 :(得分:0)

有时,剥离两个标签之间的空白区域会有所不同,特别是在处理内联元素时。

答案 2 :(得分:0)

我对它进行了整理,并修复了不寻常的换行符。