【问题标题】:Why are markdown bullet points separated by an extra newline?为什么降价项目符号点被一个额外的换行符分隔?
【发布时间】:2013-03-10 14:20:27
【问题描述】:

我的降价页面包含以下几行:

- [Section1](#section1)  
  - [Subsection1](#subsection1)
  - [Subsection2](#subsection2)
- [Section2](#section2)
- [Section3](#section3)
- [Section4](#section4)

预期输出(假设每个项目符号都是一个超链接)

  • 第 1 节
    • 第 1 小节
    • 第 2 小节
  • 第 2 节
  • 第 3 节
  • 第 4 节

实际输出(假设每个项目符号都是一个超链接)

  • 第一节

    • 第 1 小节
    • 第 2 小节
  • 第 2 节

  • 第 3 节

  • 第 4 节

我不知道为什么 Github/Jekyll 服务器没有生成预期的输出。

当我在浏览器 (Chrome) 中查看源代码时,我发现了这个(不是预期的):

<ul>
<li>
<p><a href='#section1'>Section1</a></p>

<ul>
<li><a href='#subsection1'>Subsection1</a></li>

<li><a href='#subsection2'>Subsection2</a></li>
</ul>
</li>

<li>
<p><a href='#section2'>Section2</a></p>
</li>

<li>
<p><a href='#section3'>Section3</a></p>
</li>

<li>
<p><a href='#section4'>Section4</a></p>
</li>
</ul>

为什么我在这里看到&lt;p&gt; 标签?生成器或我的降价代码有问题吗?

我应该如何解决它?

【问题讨论】:

  • 您的 MarkDown 代码没问题。我在MarkdownPadMarkdown Dingus 中都检查了它,它生成了预期的代码。一定是 Github/Jekyll 出了问题。
  • 在什么情况下它可能会生成带有额外行的输出?某些空格组合(否则在代码中不可见)可能会影响输出?
  • 既然你提到了它,我看到你的 Markdown 源代码的第一行有两个尾随空格。在 Dingus 中,这会导致在第二个 &lt;ul&gt; 之前插入一个 &lt;br /&gt; 元素。在有和没有这两个空间的情况下自己在 Dingus 中尝试。但是,&lt;br /&gt; 似乎不会影响呈现的 HTML 输出 - 不像您在 Github 上获得的 &lt;p&gt; 标签。
  • 我想知道&lt;p&gt; 是否可能是降价源错误的一种可能输出。如果&lt;p&gt;无论如何都不可能发生,那么Github生成器肯定存在错误。
  • 您使用的是哪个降价引擎?

标签: html github markdown jekyll


【解决方案1】:

我刚刚运行了一些测试,看起来是降价处理引擎导致了问题。

  • 使用 Maruku 降价引擎会添加空行。
  • 使用 redcarpet markdown 引擎不会添加额外的行。
  • 使用 kramdown 降价引擎不会添加额外的行。

(无法使用 rdiscount 进行测试,因为它未安装在 Windows 上)

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-04
  • 1970-01-01
  • 2021-06-25
  • 2019-11-26
  • 2015-12-21
  • 2018-11-23
  • 2018-12-21
相关资源
最近更新 更多