默认情况下,Parsedown会忽略所有空行。
如果您没有以安全模式运行它或将标记转义,则可以在任何需要空行的地方添加<br>
。否则(安全模式或标记已转义),没有令人愉快的出路。
根据开发人员的说法:"It's not a very big change"包括此类功能。乍一看,该分步指南似乎可以正常工作。但是,进一步研究,在某些情况下会提供错误的HTML。例如:
输入:
# Test Cases
| header 1 | header 2 |
| -------- | -------- |
| cell 1.1 | cell 1.2 |
| cell 2.1 | cell 2.2 |
<?php
// code snippet
echo 'Hello World!";
?>
- list 1
- list 2
- list 3
# End of Test
输出:
<h1>Test Cases</h1>
<p><br />
<br />
| header 1 | header 2 |<br />
| -------- | -------- |<br />
| cell 1.1 | cell 1.2 |<br />
| cell 2.1 | cell 2.2 |<br />
<br />
<br />
<br />
<?php<br />
// code snippet<br />
echo 'Hello World!";<br />
?><br />
<br />
</p>
<ul>
<li>list 1</li>
<li>list 2</li>
<li>
<p>list 3<br />
<br />
</p>
<h1>End of Test</h1>
</li>
</ul>
错误的简要说明:
有什么办法解决吗?
注释
将setLiteralBreaks(false)
设置为Parsedown可以提供正确的HTML输出(当然,没有空行):
<h1>Test Cases</h1>
<table>
<thead>
<tr>
<th>header 1</th>
<th>header 2</th>
</tr>
</thead>
<tbody>
<tr>
<td>cell 1.1</td>
<td>cell 1.2</td>
</tr>
<tr>
<td>cell 2.1</td>
<td>cell 2.2</td>
</tr>
</tbody>
</table>
<pre><code><?php
// code snippet
echo 'Hello World!";
?></code></pre>
<ul>
<li>list 1</li>
<li>list 2</li>
<li>list 3</li>
</ul>
<h1>End of Test</h1>