【问题标题】:Making doxygen work with Solidity使 doxygen 与 Solidity 一起工作
【发布时间】:2018-06-29 09:48:13
【问题描述】:

我正在研究使用 doxygen 记录 Solidity 代码的想法。 SolidityC# 和其他类 C 语言足够接近,我可以通过告诉 doxygen 将 .sol 文件解释为 .cs 并编写一个工具来按摩原始文件以符合C# 语法。

问题是 doxygen 期望使用类,而 Solidity 有合同和库。结果是在生成的文档中,所有的章节标题都链接了,所以改为引用“类”。

有什么方法可以将 HTML 更改为具有“合同”或“库”而不是类,视情况而定?

【问题讨论】:

    标签: doxygen solidity


    【解决方案1】:

    关于这个问题有很多方面,一些想法:

    • 输入
      • 应将代码转换为 doxygen 可以理解的格式。最好是这样做,最初因为我认为在此阶段通过INPUT_FILTER 为它创建代码扫描器和代码着色器等有点牵强,请参阅 doxygen 文档。
    • 输出
      • 由于Solidity 的术语未知,因此一种方法是通过后处理脚本更改所有单词。这非常麻烦并且容易出错,因为一些单词也可能出现在常规文本中。
      • 创建一个本地 (!) 版本的 doxygen 并修改 translator_.. 中您正在使用的自然语言的字符串,并使用它来生成文档。

    【讨论】:

    • 谢谢你,阿尔伯特。我曾考虑制作一个过滤器,这似乎是可行的。但它不能修复输出。我没有想到后处理,它看起来很有希望,但正如你所说的那样容易出错。使用不同语言的建议实际上很好,但有一个问题没有解决。 Solidity 中有两种结构匹配“类”,使用哪一种取决于源代码(合约或库)中使用的关键字。翻译可能不足以抓住这一点。我需要的是一些可配置的 HTML 模板。 Oxigen 有这个吗?
    猜你喜欢
    • 1970-01-01
    • 2015-08-31
    • 2018-12-21
    • 2023-03-19
    • 2010-12-01
    • 2013-10-03
    • 2011-11-13
    • 2012-09-13
    • 2015-07-23
    相关资源
    最近更新 更多