【问题标题】:Unusual Behavior with Markdown Images in Doxygen MainpageDoxygen 主页中 Markdown 图像的异常行为
【发布时间】:2018-08-29 08:57:03
【问题描述】:

对于我的 Doxygen 生成的文档,我计划重用我的 README.md 作为我的主页。这在大多数情况下效果很好,但由于某种原因它不适用于 Markdown 图像。通过降价图像,我的意思是 SVG,例如:

此类图片的降价为:

[![Travis Build Status](https://travis-ci.org/arnavb/cpp14-project-template.svg?branch=master)](https://travis-ci.org/arnavb/cpp14-project-template)

但是,当我尝试在 Doxygen 中显示此内容时,我得到的输出类似于:

如您所见,这些图像被解释为只是指向相应网站的链接。为了尝试解决这个问题,我决定暂时删除图像的链接。但是,当我这样做时,新的输出是:

现在,当图像可见时:

  1. 我无法点击它们来访问它们各自的网站。
  2. 图像有这种奇怪的中心对齐方式,我没有在任何地方指定。

这很糟糕,因为我不想为 Doxygen 主页创建单独的文档,而只需使用我的普通 README.md。除了图像之外,所有其他 Markdown 都可以完美呈现。我不知道为什么。我使用的是 Doxygen 1.8.8,这是我的完整 Markdown(没有链接):

# Project Name

![Travis Build Status](https://travis-ci.org/arnavb/cpp14-project-template.svg?branch=master)
![Appveyor Build Status](https://ci.appveyor.com/api/projects/status/qvt257817g7c66m9/branch/master?svg=true)
![Documentation](https://codedocs.xyz/arnavb/cpp14-project-template.svg)
![Codacy Badge](https://api.codacy.com/project/badge/Grade/1c76469660ca411fa1f92ce0ef0c5cd3)

A simple template I plan on using for all of my C++14 projects.

# Test header

## Nested header

### lol

> Blockquote

这是为上面的 markdown 生成的 HTML:

<div class="image">
<img src="https://travis-ci.org/arnavb/cpp14-project-template.svg?branch=master"  alt="Travis Build Status"/>
</div>
 <div class="image">
<img src="https://ci.appveyor.com/api/projects/status/qvt257817g7c66m9/branch/master?svg=true"  alt="Appveyor Build Status"/>
</div>
 <div class="image">
<img src="https://codedocs.xyz/arnavb/cpp14-project-template.svg"  alt="Documentation"/>
</div>
 <div class="image">
<img src="https://api.codacy.com/project/badge/Grade/1c76469660ca411fa1f92ce0ef0c5cd3"  alt="Codacy Badge"/>
</div>
<p>A simple template I plan on using for all of my C++14 projects.</p>
<h1>Test header</h1>
<h2>Nested header</h2>
<h3>lol</h3>
<blockquote class="doxtable">
<p>Blockquote</p>
</blockquote>

作为比较,这里是使用 SVG 作为链接的降价:

<div class="contents">
<div class="textblock"><p><a href="https://travis-ci.org/arnavb/cpp14-project-template">![Travis Build Status](https://travis-ci.org/arnavb/cpp14-project-template.svg?branch=master)</a> <a href="https://ci.appveyor.com/project/arnavb/cpp14-project-template/branch/master">![Appveyor Build Status](https://ci.appveyor.com/api/projects/status/qvt257817g7c66m9/branch/master?svg=true)</a> <a href="https://codedocs.xyz/arnavb/cpp14-project-template/">![Documentation](https://codedocs.xyz/arnavb/cpp14-project-template.svg)</a> <a href="https://www.codacy.com/app/arnavb/cpp14-project-template?utm_source=github.com&amp;amp;utm_medium=referral&amp;amp;utm_content=arnavb/cpp14-project-template&amp;amp;utm_campaign=Badge_Grade">![Codacy Badge](https://api.codacy.com/project/badge/Grade/1c76469660ca411fa1f92ce0ef0c5cd3)</a></p>
<p>A simple template I plan on using for all of my C++14 projects.</p>
<h1>Test header</h1>
<h2>Nested header</h2>
<h3>lol</h3>
<blockquote class="doxtable">
<p>Blockquote</p>
</blockquote>
</div></div><!-- contents -->

及其Image Markdown:

[![Travis Build Status](https://travis-ci.org/arnavb/cpp14-project-template.svg?branch=master)](https://travis-ci.org/arnavb/cpp14-project-template)
[![Appveyor Build Status](https://ci.appveyor.com/api/projects/status/qvt257817g7c66m9/branch/master?svg=true)](https://ci.appveyor.com/project/arnavb/cpp14-project-template/branch/master)
[![Documentation](https://codedocs.xyz/arnavb/cpp14-project-template.svg)](https://codedocs.xyz/arnavb/cpp14-project-template/)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/1c76469660ca411fa1f92ce0ef0c5cd3)](https://www.codacy.com/app/arnavb/cpp14-project-template?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=arnavb/cpp14-project-template&amp;utm_campaign=Badge_Grade)

为了让这些 Markdown SVG 在 Doxygen 中正确呈现,我应该进行哪些更改?

【问题讨论】:

  • @Waylan 将其粘贴在帖子中。如果我改回链接,那么代码基本上是相同的,除了图像被视为只是链接,而图像降价是链接文本。
  • @Waylan 好的,我也添加了相关的第二个输出,以及相应的降价。
  • 嗯,看起来像是 Markdown 解析器中的错误或 Doxygen 故意使用非标准 Markdown。
  • @Waylan 好吧,我应该预料到最坏的情况;(无论如何,您目前知道任何解决方法吗?
  • 我刚刚找到了这个bug report。当源代码为 HTML 时,似乎存在同样的问题。因此,回退到原始 HTML 可能也不是一种解决方法。

标签: image svg markdown doxygen


【解决方案1】:

从 Doxygen 1.8.18 开始,原来的问题似乎已经解决了。

如上面的 cmets 所示,如果您无法进一步升级,则可以使用 1.8.15 起的内联 html。

【讨论】:

  • 我对这个问题的评论已经表明发生了一些变化(对于 1.8.15 版本)。当仍然有问题时,请创建一个新问题/问题(并预先尝试使用最新的 doxygen 版本,即 1.8.18 甚至更好的 github master)
  • @albert Aha - 检查 1.8.18 原始问题似乎已修复。当我第一次注意到这个问题时,1.8.17 是最新版本,它允许我原来的解决方法感谢(大概)你提到的 1.8.15 修复。我将更新我的解决方案以指明适当的升级路径,因为 Google 仍会在一段时间内将人们聚集到这里。
猜你喜欢
  • 2020-04-28
  • 2013-02-18
  • 2015-01-21
  • 1970-01-01
  • 2019-07-10
  • 1970-01-01
  • 1970-01-01
  • 2020-07-05
  • 2013-11-11
相关资源
最近更新 更多