我们的SDKs目前(和其他一些)都是使用沙城堡生成的CHM文件来记录的。它们的大小约为40 is。最近,我们一直试图将API文档与其他形式的文档(如教程、示例和通用信息)一起托管在我们的网站上。不幸的是,第一次尝试让沙堡生成MarkDown或HTML的结果是在一个大约5GB的文件夹中,这对我们来说有点太大了。我们说的大概是50.000到75.000个文件。40 of的CHM代表大约。37.000份文件。
是否有任何好的替代品可以产生可接受大小的API文档,或者CHM是好的呢?(或者沙堡只是不擅长制作html呢?)
发布于 2016-07-15 17:05:14
很短的故事-没有其他的选择。CHM是好的,Sandcastle制作了干净的HTML。我对这样大的CHM文件没有什么经验,但是下面有一些想法。
我认为您已经有了很好的沙堡配置,例如,未经检查的Indent rendered HTML,在编译这么大的CHM时,帮助创作没有问题的一个很好的工作流。
马可在他的评论中提到,CHM压缩是不错的。他是对的--正如您在自己的测试中看到的那样,通过使用基于web的帮助(40‘t> 5GB),您无法获得更好的压缩。
基于web的帮助和编译的帮助之间有不同的观点。开发人员通常希望将封闭文档作为CHM文件,而不是基于web的帮助。另一方面,外部客户经常在Internet上要求文档(有时也是内部用户)。
最后一点允许您压缩CHM中的死区(如果有的话)。大多数CHM都不会压缩太多。事实上,一些CHM实际上可能以几个KBytes的速度增长。为了压缩CHM文件,我们只需使用Istorage函数复制到一个临时文件,然后将文件重命名为原始的CHM文件。得到的CHM具有相同的文件内容,但没有一个空填充。

那为什么要压缩?真正的优势是减少CHW文件。CHW文件保存所有合并(或集合)CHM的组合索引。它们是动态创建的,不需要速度压缩。您可以安全地删除CHW,因为HTML帮助将在下次打开CHM时重新创建它。发送它们是有意义的,因为一个10 MB的文件将减少80%左右,降至2MB。如果合并的CHW中没有索引,那么就看不到CHW文件。
https://stackoverflow.com/questions/38275063
复制相似问题