10

我不清楚如何自定义

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的包,我从 Hackage 安装的包cabal install,甚至是我上传到 Hackage 的包cabal sdist

4

1 回答 1

0

首先,其中的设置~/.cabal/config是您的每个用户的默认设置。只要您致电,您的更改就会生效cabal 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
于 2018-09-26T04:10:45.880 回答