Doxygen Markdown如何防止在围栏代码块中进行语法高亮?

3
我希望能够显示一个没有语法高亮的带有围栏的代码块。以下是需要显示的代码:
~~~
Behold this, for this is an orange.
~~~

我看到了forthis的颜色。请注意,我没有指定文件扩展名。我需要指定特定的扩展名吗?我尝试使用{.txt},但这并没有帮助。


use {.unparsed} - Christian Chapman
4个回答

3
你有几个选择:
  • 可以使用 <pre> </pre> 区块。里面的任何内容都将显示为类似控制台的等宽字体。

  • 你可以使用 <blockquote> </blockquote>,它会缩进并在左侧放置一条垂直蓝线。
    • 或者你可以使用markdown,在你想要显示为输出的文本前放置“>”和一个空格。

  • 2

    Doxygen会根据显式语言({.cpp})或隐式语言(当前正在解析的代码的语言)对围栏代码块应用语法高亮。如果不识别该语言,它似乎会假定为C/C++语法高亮规则。

    不幸的是,这意味着代码将按照Doxygen支持的一种语言格式化,而没有一种方法可以欺骗它以不带语法高亮的方式显示围栏代码块。


    谢谢您的回复。我正在尝试编写一个文档,展示特定命令运行时的控制台输出。语法高亮看起来相当丑陋和分散注意力。 - Masked Man

    2

    在当前版本的doxygen中(我使用的是1.8.13),如果不指定语言,使用~~~语法将生成没有语法高亮的代码块。 常见的语言规范包括

    • ~~~{.cpp}(C++)
    • ~~~{.c}(C)
    • ~~~{.py}(Python)

    0

    你可以尝试模仿doxygen使用的样式,方法如下:

    /**
     * <div class="fragment">
     * <div class="line">Behold this, for this is an orange.</div>
     * <div class="line">General use:</div>
     * <div class="line">   ./SLAM_plus_plus -i <filename> --no-detailed-timing</div>
     * <div class="line"></div>
     * <div class="line">To run the pose-only datasets more quickly:</div>
     * <div class="line">   ./SLAM_plus_plus -i <filename> --pose-only --no-detailed-timing</div>
     * <div class="line"></div>
     * <div class="line">To run incrementally:</div>
     * <div class="line">   ./SLAM_plus_plus -nsp <optimize-each-N-verts> -fL -i <filename> --no-detailed-timing</div>
     * </div>
     */
    

    虽然有点繁琐(每行文本都需要用自己的<div>包围),但它可以让你得到想要的结果,而没有高亮。您可能希望使用\htmlonly\endhtmlonly将此块包围起来,以避免空格凝聚(否则,多个制表符/空格的序列将被Doxygen替换为单个空格-调整css将无济于事)。

    或者,您可以使用一些更晦涩的语言,例如{.f}{.vhdl},Doxygen知道但是在您的文本中没有关键字出现太多。


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