用 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!
问题:
- 有没有办法让它看起来干净?
- 我应该如何处理更大的 HTML 原始代码?
- 我应该使用任何其他 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 函数替换您自己的占位符。
我有一个使用 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!
问题:
- 有没有办法让它看起来干净?
- 我应该如何处理更大的 HTML 原始代码?
- 我应该使用任何其他 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 函数替换您自己的占位符。