在我们的项目中,我想为我们的 doxygen 输出设置不同的样式。目前生成的 html 如下所示:
<html>
<body>
<h1> Heading 1 </h1>
<h2> Heading 2.1 </h2>
<p> Paragraph 2.1.1 </p>
<p> Paragraph 2.1.2 </p>
<p> Paragraph 2.1.3 </p>
<h2> Heading 2.2 </h2>
<p> Paragraph 2.2.1 </p>
<p> Paragraph 2.2.2 </p>
<p> Paragraph 2.2.3 </p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
该<h2>只与一个样式font-size属性,所有<h2>和<p>标记在文档的左侧对齐。
为了让任何<h2>标签下方的内容在视觉上突出,我想缩进标签直到下一个<h2>标签。
到目前为止,我尝试的是以下 CSS 规则:
h2 + * {
margin-left: 10px;
}
Run Code Online (Sandbox Code Playgroud)
*之所以使用,是因为除了<p>标签之外还存在其他标签。但是,此规则仅缩进<h2>标签后面的第一段,而不是所有标签都缩进到下一个<h2>标签。
还应该提到的是,html 的结构不能更改为将每个部分包裹在<div> …
我观察到,在 doxygen 1.8.2 中,不能将受保护的代码块放置在缩进级别超过 2的缩进列表中(在降价文件中)。在下面的片段中:
- Level 1
~~~
printf("Hello world Level 1");
~~~
- Level 2
~~~
printf("Hello world Level 2");
~~~
- Level 3
~~~
printf("Hello world Level 3");
~~~
Run Code Online (Sandbox Code Playgroud)
的Hello world Level 1和Hello world Level 2出现在输出作为代码段,但Hello world Level 3(和~它周围的多个)显示为明文输出。
我犯了什么错误,或者这是一个已知的限制?
在我的项目中,我想扫描所有源文件以获取文档,但只在生成的文档中包含某些源文件的完整源代码(例如示例代码)。
目前我已将SOURCE_BROWSER和设置VERBATIM_HEADERS为NO,因此不包含源文件。
尽管有这些设置,有什么方法可以提供我想要包含的源文件列表吗?
或者,如果我重新打开这些选项,是否可以通过某种方式提供要排除的源文件列表?
我正在尝试使用doxygen为C#应用程序生成文档.现在,我正在尝试创建一个主页,其中包含指向所记录应用程序的中心类的一些链接.
我使用markdown创建了页面,它看起来像这样:
\mainpage
Project name
==================
bla
Important classes
------------------
* Class1
* Class2
* Class3
Run Code Online (Sandbox Code Playgroud)
出于某种原因,doxygen不会自动生成此页面上相应类的链接.为了让事情变得奇怪,doxygen在代码文档中识别这些类名并生成相应的链接没有问题,因此,据我所知,这是一个主页问题.
有没有办法做到这一点,而不使用生成的类页面的硬编码链接?
第一次在这里使用Doxygen.使用Doxygen向导,我很确定我正在设置所有目录和一切正确但由于某种原因输出的文档只有头文件.我的项目是用C语言编写的,它就像是完全忽略.c源文件而只是从目录中获取.h头文件.
我假设它只是我没有检查我需要的选项之一,或者检查了一个不应该的选项.我的输入FILE_PATTERNS包括.c和.h,以及其他一些,但它仍然不会为.c文件创建文档.
知道为什么这样做吗?我不知道我还能在这里包括哪些内容来帮助你解决我的问题,所以如果你需要我包含其他内容,请告诉我.
更新:我发现一个设置至少显示html输出中的.c文件,但仍然没有源代码文档.我不知道为什么它不能创建源代码文档,但它可以识别并显示其中的所有函数和变量.
Input configuration is as follows:
INPUT = "C:/Users/Me/Desktop/ProjectFoler/Project"
INPUT_ENCODING = UTF-8
FILE_PATTERNS = *.c \
*.cc \
*.cxx \
*.cpp \
*.c++ \
*.java \
*.ii \
*.ixx \
*.ipp \
*.i++ \
*.inl \
*.idl \
*.ddl \
*.odl \
*.h \
*.hh \
*.hxx \
*.hpp \
*.h++ \
*.cs \
*.d \
*.php \
*.php4 \
*.php5 \
*.phtml \
*.inc \
*.m \
*.markdown \
*.md \
*.mm \
*.dox \
*.py …Run Code Online (Sandbox Code Playgroud) Doxygen 有\todo命令,该命令生成的文档显示在它所在的函数中,并聚合到一个全局 Todo 列表文档中。
可以为任意其他标签复制或模拟这种行为吗?我想做类似“\tag XXX”之类的操作,并将该评论汇总到一个全局“XXX 列表”文档中。
我该如何命名Doxygen @ref标签?
我尝试了以下方法:
See @ref hello_world hello for more information
Run Code Online (Sandbox Code Playgroud)
输出以下内容:
See hello_world hello for more information
Run Code Online (Sandbox Code Playgroud)
hello_world链接到哪里hello_world。我正在寻找此输出:
See hello for more information
Run Code Online (Sandbox Code Playgroud)
hello链接到哪里hello_world。Doxygen的文档仅包含有关@ref(\ref)的LaTeX形式的信息,并且我不知道如何将其应用于JavaDoc样式@ref。
我将如何更改链接的“文本”值?
我知道我们可以使用\defgroup关键字在 doxygen 中定义一个组,并使用关键字在该组中添加类\addtogroup。我的问题是如何在文档中引用该组。例如,
/**
* \defgroup abc abc
*/
/**
* \addtogroup auxiliary_functions
* @{
*/
/**
* Introduction to A.
*/
class A
{
};
/*
* @}
*/
Run Code Online (Sandbox Code Playgroud)
那么,在一个page section中,如何引用abc组呢?
/** @page tttt
* how to refer to group abc?
*
*/
Run Code Online (Sandbox Code Playgroud) 我的客户给了我不寻常(且不可协商)的要求,要求他们从 C++ 代码中提供双语言(英语和波兰语)doxygen 文档。
我的第一个想法是对评论使用条件编译,例如:
#if DOXYGEN_ENGLISH
/**
* @brief Sample method
*/
#elif DOXYGEN_POLISH
/**
* @brief Przyk?adowa metoda
*/
#endif
void foo();
Run Code Online (Sandbox Code Playgroud)
然后使用不同的基本语言环境和预定义的常量运行 Doxygen 两次......它确实有效。但是太麻烦了...
有人知道如何改进此解决方案吗?还是用不同的方式解决?
我正在开发一个关于c++的项目,需要执行一个CMakeLists.txt文件来运行它。我安装cmake的,doxygen的,CMake的,咒骂的GUI和化妆使用sudo。然后我尝试运行该文件。
以下是 cmake 代码的一部分 -
if (BUILD_DOC)
find_package(Doxygen)
configure_file(${PROJECT_SOURCE_DIR}/doc/Doxyfile.in
${PROJECT_SOURCE_DIR}/doc/Doxyfile @ONLY)
add_custom_target(${PROJECT_NAME}_doc ALL ${DOXYGEN_EXECUTABLE}
${PROJECT_SOURCE_DIR}/doc/Doxyfile)
endif ()
Run Code Online (Sandbox Code Playgroud)
在这里,它给了我一条错误消息,说
CMakeLists.txt 中的 CMake 错误:77 (configure_file): configure_file 配置文件问题
只是为了让您知道,第 77 行是configure_file(${PROJECT_SOURCE_DIR}/doc/Doxyfile.in.
如果我添加AND DOXYGEN_FOUND到if条件中,它根本不会执行任何操作,这意味着它找不到doxygen 可执行文件。但正如我已经说过的,我已经安装了doxygen。
我是 cmake 的新手。所以,任何人都可以帮我解决这个问题吗
编辑:
我使用的操作系统是 Ubuntu 16.04
在我把它执行if(DOXYGEN_FOUND)的命令放在后面之后find_package(doxygen),但我在第 78 行而不是第 77行得到了相同的cmake 错误
另外,现在因为我从评论中获得了足够的信息,我才意识到我的问题更多是寻找 Doxyfile.in 文件所在的位置,而不是配置文件。有人可以帮我吗?
doxygen ×10
markdown ×2
cmake ×1
css ×1
doxywizard ×1
html ×1
layout ×1
multilingual ×1
syntax ×1