Doxygen Markdown的代码块与缩进列表冲突问题

3
我注意到在使用doxygen 1.8.2时,无法将围栏代码块放置在缩进级别大于2的缩进列表中(在markdown文件中)。在下面的片段中:
- Level 1

~~~
printf("Hello world Level 1");
~~~

  - Level 2

  ~~~
  printf("Hello world Level 2");
  ~~~

    - Level 3

    ~~~
    printf("Hello world Level 3");
    ~~~

"

在输出中,Hello world Level 1Hello world Level 2以代码片段的形式出现,但Hello world Level 3(以及周围的~)以纯文本输出的形式出现。

我犯了什么错误,还是这是一个已知的限制?

"
1个回答

5

这是一种限制(如果你愿意,也可以称之为 bug)。

通常,所有缩进4个或更多空格的内容都会被显示为文字(代码块),但对于列表而言,相对缩进计算为缩进量(因此,在你的示例中为2个空格)。由于 fenced block 在解决列表之前进行处理,所以在此次处理期间,它不被视为 fenced block(缩进过多),但在稍后不会被转换为文字块(由于此次处理期间的相对缩进)。


@doxygen 有没有什么方法可以解决这个问题,使得围栏代码块可以在列表项之间交错呢? - phoenix
肯定没有真正可用的解决方法。如果你将代码格式化为_非纯文本_(可以通过足够的缩进实现),那么你会失去缩进。 - Donal Fellows

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接