【问题标题】:Preserve link breaks with marked.js使用marked.js 保留链接中断
【发布时间】:2014-06-16 19:13:09
【问题描述】:

Markdown 很棒,但它有一些关于换行符的非常时髦的规则。我想在渲染的 html 中保留原始文本中的换行符,但我花了很多时间来解决如何做到这一点。在以下示例中,5 到 6 之间有两个空行,但 stackoverflow 使用的 Markdown 渲染器在输出中仅显示一个空行。

  • 一个
  • 两个
  • 三个

四个

五个

六个

我现在对任何事情都持开放态度,任何 javascript markdown 引擎,任何黑客,只要能让这个工作正常的东西......

【问题讨论】:

  • 有人愿意解释否决票吗?

标签: javascript markdown


【解决方案1】:

Markdown 中的段落是separated by "one or more blank lines",因此您看到的行为应该是预期的:

段落和换行符

段落只是一个或多个连续的文本行,由一个或多个空行分隔。 (空行是任何看起来像空行的行——只包含空格或制表符的行被视为空白。)普通段落不应使用空格或制表符缩进。

为了记录,我认为这根本不是“时髦”。 Markdown 旨在针对 HTML,它会折叠连续的空格。

<br>标签可以通过以两个或多个空格结束一行来生成:

当您确实想使用 Markdown 插入 <br /> 中断标记时,请以两个或多个空格结束一行,然后键入 return。

但请注意,只有两个空格的行将不起作用,因为“看起来像一个空白行”,因此被视为段落分隔符。

至少在某些实现中,Unicode NO-BREAK SPACEs 可以与两个或多个常规尾随空格一起使用以创建额外的“空白”行,例如使用下划线表示不间断空格,使用句点表示常规空格:

one..
_..
_..
two

在 Stack Overflow 上呈现为

<p>one <br>
&nbsp; <br>
&nbsp; <br>
two</p>

【讨论】:

  • 这是关于 html 折叠空白的好点。 Markdown 被用于很多地方,您希望为用户提供一些格式但不能完全访问 html 属性(颜色、字体等)。在这些情况下,用户会发现折叠多个空行会让人感到困惑。
  • 我想我只需要找到一个可以控制这种破坏行为的实现(如果有人有任何建议,我正在寻找一个 js 实现)。
猜你喜欢
  • 2015-07-10
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 2013-01-04
  • 1970-01-01
  • 1970-01-01
  • 2021-12-23
  • 1970-01-01
相关资源
最近更新 更多