删除 Markdown 中列表前的空格

问题描述 投票:0回答:3

我有以下 Markdown 字符串:

`log-level` (optional)<br>
Sets the minimal log level messages need in order to be printed to stdout.

Allowed values:
- `debug`
- `warning`
- `error` (default)

GitHub 和 Stack Overflow 像这样渲染它(添加了块引用以进行视觉区分):

log-level
(可选)
设置所需的最小日志级别消息 命令打印到标准输出。

允许值:

  • debug
  • warning
  • error
    (默认)

来自 GitHub 的截图


如此处和屏幕截图所示,Markdown 渲染器在最后一段(“允许的值”)和第一个列表项之间添加了间距。

检查生成的 HTML 可以了解原因:

<p><code>log-level</code> (optional)<br>
Sets the minimal log level messages need in order to be printed to stdout.</p>
<p>Allowed values:</p>
<ul>
<li><code>debug</code></li>
<li><code>warning</code></li>
<li><code>error</code> (default)</li>
</ul>

文本“允许的值”放置在自己的

<p>
标签中,并且
<p>
和后面的
<ul>
之间有一个边距。


有没有办法减少或消除该空间,使其大致匹配列表项之间的空间?

markdown
3个回答
4
投票

间距是由包裹每个段落的

<p></p>
标签的下边距引起的。

如果您的 Markdown 解析器支持 HTML,有一个解决方法:当您将文本直接放在另一个显式 <p></p> 标记下方时,某些解析器(例如 Stack Overflow 使用的

Markdig
)不会生成
<p></p>
标记:

<p>...</p>
Allowed values:

* `debug`
* `warning`
* `error` (default)

生成

...

允许值:
  • debug
  • warning
  • error
    (默认)

(截图)

从可访问性方面来看,这是否真的看起来更好或有意义,是另一个问题。


2
投票

这可能不完全是您正在寻找的,但据我所知,没有办法做到您所要求的。一个可能的解决方法是通过在子项目符号中添加等量的空格来使您的列表成为子列表。见下图:

`log-level` (optional)<br>
Sets the minimal log level messages need in order to be printed to stdout.

- Allowed values:
  - `debug`
  - `warning`
  - `error` (default)

log-level
(可选)
设置所需的最小日志级别消息 命令打印到标准输出。

  • 允许值:
    • debug
    • warning
    • error
      (默认)

0
投票

尝试将此标头添加到您的 Markdown 文件中:

<style>
p:has(+ ul) {
  margin-bottom: 0;
}
p + ul {
  margin-top: 0;
}
</style>
© www.soinside.com 2019 - 2024. All rights reserved.