Haddock,Cabal:如何包含源代码示例?

26
我是操作包的作者,其中包括示例代码。我希望将这些示例代码和由Haddock生成的API文档一起安装,并对其进行hscolored处理。
我可能需要使用自定义的Cabal构建类型并为Haddock阶段创建用户钩子。然而,我从未成功过。因此,我的问题是:

如何在Haddock中包含完整的模块示例代码?

你能举一个Cabal用户钩子的例子,该钩子将hscolor应用于附加的源代码文件example.hs,并将结果与生成的Haddock文档合并吗?


我认为这个功能需要添加到Cabal中。 - Theo Belaire
虽然不太美观,但你可以尝试将这些示例添加到你的库中。这样一来,Haddock 应该会自动运行它们。目前,Haddock/Cabal/Hackage 对于除了最基本的文档需求之外的支持仍然不足。 - Alessandro Vermeulen
啊,我不想在这些示例上运行Haddock,我只想在它们上运行hscolour,但是每当用户键入“cabal haddock”时都要安装它们。 - Heinrich Apfelmus
1个回答

2

我对Haskell完全不了解,但是你可以使用hscolour将代码输出为HTML,然后使用cabal haddock --executables --hyperlink-source这样的命令来包含着色的HTML。


不错的想法,至少给了我一些启示。有没有办法将标志嵌入到 .cabal 文件中? 我不想让用户去调整它们。 - Heinrich Apfelmus
不确定,但可以在 cabal-devel 讨论版上询问。肯定有人已经解决了这个问题,并且可以帮助你上手:http://www.haskell.org/mailman/listinfo/cabal-devel - Marc
现在,我认为Hackage已经可以自己运行--hyperlink-source了。 - Mateusz Kowalczyk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接