用 HTML 制作一个干净的 Doxygen ALIAS

Making a clean looking Doxygen ALIAS with HTML

我有一个使用 HTML 的有效 Doxygen ALIAS 代码(通过 @htmlonly),为了显示 youtube 视频,我只需在 (".markdown")-文件中写入:

Youtube Link:

https://www.youtube.com/watch?v=**CODE**

使用别名:

@youtube{**CODE**}

没有别名:

@htmlonly

<div align="center">
<iframe
    title="my title" width="560" height="349"
    src="http://www.youtube.com/embed/**CODE**?rel=0&loop=1"
    frameborder="0" allowfullscreen align="middle">
</iframe>
</div>

@endhtmlonly

通过将以下 ALIAS 添加到 Doxyfile:

ALIASES               += youtube{1}="@htmlonly<div align='center'><iframe title='my title' width='560' height='349' src='http://www.youtube.com/embed/?rel=0&loop=1' frameborder='0' allowfullscreen align='middle'></iframe></div>@endhtmlonly"

我的问题是你从上面看到的宏是 HUGE 并且看起来真的 CONFUSING!

问题:

  1. 有没有办法让它看起来干净?
  2. 我应该如何处理更大的 HTML 原始代码?
  3. 我应该使用任何其他 Doxygen 替代 ALIAS 吗?

我想通了。

而不是:

ALIASES               += youtube{1}="@htmlonly<div align='center'><iframe title='my title' width='560' height='349' src='http://www.youtube.com/embed/?rel=0&loop=1' frameborder='0' allowfullscreen align='middle'></iframe></div>@endhtmlonly"

我可以使用:

@youtube{link},其中:

ALIASES+=addyoutube{1}="@htmlonly</p><div class='addYoutube'></div>@endhtmlonly"
ALIASES+=youtube{1}="@addyoutube{} @htmlinclude add_youtube.html"

EXAMPLE_PATH          += @CMAKE_CURRENT_SOURCE_DIR@/add_youtube.html

并在当前目录下的一个文件中添加如下javascript代码,add_youtube.html:

<script type="text/javascript">

var $getDiv = $('div.addYoutube').last();

var filmId = $getDiv.html()
filmId = filmId.replace("https://","")
filmId = filmId.replace("www.","")
filmId = filmId.replace("youtube.com/watch?v=","")

document.write("<div align='center'><iframe title='my title' width='560' height='349' src='http://www.youtube.com/embed/"+filmId+"?rel=0&loop=1' frameborder='0' allowfullscreen align='middle'> </iframe> </div>");
$getDiv.remove()
</script>

派对有点晚了,但在 Doxygen 1.8.12 中,可以创建一些 doxygen 标签 @brief 和 HTML 元素的组合。
当您为 HTML 元素定义属性时,可以使用撇号 class='someClass' 或者您也可以使用带反斜杠的引号 class=\"someClass\"
要缩进 html,请使用带反斜杠符号的字符串连接 \

ALIASES +=               "briefWithImage{3} = @brief \
                            @htmlonly \
                                <span><img class='imgBriefImage' src='' alt=''></span> \
                                </span><span class='spanBriefText'>(<b></b>)</span> \
                            @endhtmlonly"  

我不确定别名的替代品。一种方法是为每个页面定义自定义 HTML header 并在加载页面时使用自定义 JS 函数替换您自己的占位符。