我不清楚如何自定义
文档cabal haddock
生成。例如,如何包含源链接,或使用自定义CSS文件以便它们适用于所有情况?
在~/.cabal/config
我试过了
haddock
-- keep-temp-files: False
-- hoogle: False
-- html: False
-- html-location:
-- executables: False
-- tests: False
-- benchmarks: False
-- all:
-- internal: False
css: /Users/Rax/Projects/Haskell/Package/mystuff.css
hyperlink-source: True
-- hscolour-css:
-- contents-location:
但我不清楚这些设置的范围是什么。
如何为Haddock生成的所有文档自定义默认文档生成:我使用cabal haddock
构建的包,我使用cabal install
从Hackage安装的包,甚至我上传到Hackage的包cabal sdist
?
答案 0 :(得分:0)
首先,~/.cabal/config
中的设置是每个用户的默认设置。每当您致电cabal haddock
时,更改都会生效。
由于haddock文档是为每个软件包静态构建的,因此您需要为安装的每个软件包重新运行cabal haddock
命令,以更改其文档的外观。
您似乎还有些混淆:cabal sdist
并未将任何内容上传到Hackage。这就是cabal upload
的目的。
通常,您只是将裸包上载到Hackage,然后服务器自己构建文档,但是如果服务器无法构建它或由于其他原因,有一种方法可以上传自己构建的文档。我使用在http://hackage.haskell.org/upload找到的以下脚本进行了一些改动:
#!/bin/sh
set -e
dir=$(mktemp -d dist-docs.XXXXXX)
trap 'rm -rf "$dir"' EXIT
cabal haddock --builddir="$dir" --for-hackage --haddock-option=--hyperlinked-source
# Starting with cabal 2.0, `--publish` is needed for uploading to non-candidate releases
cabal upload -d $dir/*-docs.tar.gz --publish