在ddoc中生成符号列表(带dub)
我有一个相当大的单文档页面,我想生成一个符号列表(在ddoc中生成符号列表(带dub),d,dub,ddoc,D,Dub,Ddoc,我有一个相当大的单文档页面,我想生成一个符号列表(跳到:在火卫一文档上,请参阅),使用dub--build=ddoc,因为默认情况下它不在那里() 出于明显的原因,我不想在代码中包含所有带有链接的符号的列表 我知道这在ddox或javascript中是可能的,但是有没有办法只使用普通的ddoc来做到这一点,从而将维护工作量保持在最低限度?谢谢 编辑:我想为全局符号和类成员生成一个列表,并将表放在类附近。Ddoc是一个宏系统。它只是用别的东西代替了一件东西。编译器为您定义某些宏(您可以重新定义),
跳到:
在火卫一文档上,请参阅),使用dub--build=ddoc
,因为默认情况下它不在那里()
出于明显的原因,我不想在代码中包含所有带有链接的符号的列表
我知道这在ddox或javascript中是可能的,但是有没有办法只使用普通的ddoc来做到这一点,从而将维护工作量保持在最低限度?谢谢
编辑:我想为全局符号和类成员生成一个列表,并将表放在类附近。Ddoc是一个宏系统。它只是用别的东西代替了一件东西。编译器为您定义某些宏(您可以重新定义),为了使用ddoc实际生成文档页面,编译器从模块中获取文档注释、文档符号列表等,并基本上生成一个.dd页面,就像创建dlang.org网站时一样。这是一堆带有ddoc标记的文本。然后,该ddoc标记将替换为定义为替换的ddoc宏。默认情况下,这是一组用于创建网页的html,但是这些宏可以重新定义,以生成与默认值不同的html,或者生成完全不同的东西,如latex 然而,最终,您得到的只是一个.dd页面,在这个页面中,您可以通过重新定义宏来影响结果,从而重新定义如何将一段文本转换为另一段文本。您没有迭代符号列表或执行任何特别是图灵完成的操作的能力。你得到的只是宏扩展 这就是为什么dlang.org使用javascript生成跳转到链接的原因,也是为什么dlang.org的构建过程实际上有一个小的D程序,它运行该程序来生成带有模块列表的导航栏的ddoc。ddoc做不到这些。这就是为什么像ddox这样的工具使用编译器的json输出来获取符号列表和文档信息,并生成自己的东西 所以,不,你不能做任何你想用标准ddoc做的事情。实际上,唯一的选择是使用javascript,以便浏览器可以在查看文档时操纵结果,使用外部程序操纵和/或生成ddoc,或者使用完全不同的工具(如ddox)生成文档 ddoc是一个很棒的宏系统,功能相当强大,但如果您试图做一些比影响生成的文档外观更有趣的事情,ddoc真的无法实现这一点——至少在没有其他工具的帮助下,无法生成或操纵已处理的ddoc或处理ddoc的结果 Ddoc文档: 这里列出了一些替代文档生成器(可能使用也可能不使用ddoc):