gpt4 book ai didi

c# - Doxygen:HTML 太大

转载 作者:数据小太阳 更新时间:2023-10-29 02:42:16 25 4
gpt4 key购买 nike

我有一个非常大的类,它有很好的记录。 Doxygen 用于生成 HTML 文档,但对于此类,HTML 文件很大~12 MB,这对我来说太大了。

发生这种情况是因为 Doxygen 在一个文件中列出了该类的所有文档,但在这种情况下,最好将类函数文档拆分在单独的页面中,以便有一个合理的页面。

我想问的是:有什么解决办法吗?

也许对此有特殊的选择/技巧?要么...也许我可以禁用此类的“正常”文档,然后将类函数文档复制到组织得更好的页面中?在这种情况下,我应该@copydoc 那些函数,不是吗?

你有什么建议?

最佳答案

这是可能的!

有一个配置键:'SEPARATE_MEMBER_PAGES=YES'。这将为每个类(class)成员创建一个不同的页面。

下一个问题是 Doxygen 生成的文件数量(文件系统的噩梦),但这可以通过设置 'CREATE_SUBDIRS=YES' 来解决:至少将这些稀疏文件放入目录中,所以让它们易于管理。


几天后...


没有。问题仍然存在......不,它比以往任何时候都更糟:每个单独的类(class)成员页面在左侧列出所有类(class)成员: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!

您是否对结果感到好奇:查看来自 this documentation page 的链接页面.

关于c# - Doxygen:HTML 太大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7455471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com