[英]Doxygen: HTML too large
我有一个非常大的课程,非常详细。 Doxygen用于生成HTML文档,但是对于这个类,HTML文件很大~12 MB,这对我来说太过分了。
这种情况发生了,因为Doxygen在一个文件中列出了该类的所有文档,但在这种情况下,为了拥有合理的页面,需要在单独的页面中拆分类函数文档。
我在问:这有什么解决方案吗?
也许这有一个特殊的选择/技巧? 或者......也许我可以禁用此类的“普通”文档,并将类函数文档复制到更有组织的页面中? 在这种情况下我会@copydoc那些功能,不是吗?
你有什么建议吗?
有可能的!
. 有一个配置键: 。 这将为每个类成员创建一个不同的页面。
: at least this sparse files into directories, so make them manageable. 下一个问题是Doxygen生成的文件数量(文件系统噩梦),但这可以通过设置 :至少将这些稀疏文件放入目录中,因此使它们易于管理。
几天后......
不会。问题仍然存在......不,它比以往更糟糕:每个单独的类成员页面列出左侧的所有类成员:4K成员页面,每个1 MB使... 4 GB? 我的天啊。
所以,我决定从结果HTML中删除该表列表(如此广泛)。 幸运的是,此部分在所有生成的文件上都是统一的 我制作了一个实用程序来实现这一目标。 这是最有用的代码片段(使用HtmlAgilityPack ):
HtmlAgilityPack.HtmlNode divNode = htmlDoc.DocumentNode.SelectSingleNode("//body/div[@class='contents']/table/tr/td/div[@class='navtab']");
if (divNode != null) {
divNode.ParentNode.RemoveChild(divNode, false);
Console.WriteLine("Queued {0}", htmlPath);
lock (sReducedHtmlPathsLock) {
sReducedHtmlPaths.Add(htmlPath, htmlDoc);
sReducedHtmlPathsSemaphore.Release();
}
}
当然我构建了一个多线程程序,它将一堆HTML文件加载到不同的线程上,并将它们写在不同的线程中(否则需要太长时间)。
结果:从4 GB传递到60 MB!
您对结果感到好奇:请参阅此文档页面中的链接页面。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.