3

我已经在快照数据库中安装了一堆包。我现在想要一份他们文档的本地副本(如果它带有超链接源就更好了)。有没有办法告诉我在所有这些stack上运行haddock

编辑(从我的回答中复制):

看来很明显stack haddock package会为包安装黑线鳕,所以

$ cd ~/.stack/snapshots/x86_64-linux/lts-3.0/7.10.2/doc
$ stack haddock *

似乎做我想做的事,有两个缺点:

  1. 我仍然需要记住将--haddock标志传递给每个人build(没有~/.stack/config文件,是吗?)
  2. 似乎要重建它们;有没有办法避免这种情况?
4

2 回答 2

2

看来很明显stack haddock package会为包安装黑线鳕,所以

$ cd ~/.stack/snapshots/x86_64-linux/lts-3.0/7.10.2/doc
$ stack haddock *

似乎做我想做的事,有两个缺点:

  1. 我仍然需要记住将--haddock标志传递给每个人build(没有~/.stack/config文件,是吗?)
  2. 似乎要重建它们;有没有办法避免这种情况?
于 2015-08-23T21:42:47.843 回答
0

步骤 1. 下载并构建最新的黑线鳕。构建说明位于README.md.

git clone https://github.com/haskell/haddock.git
cd haddock

cabal sandbox init
cabal sandbox add-source haddock-library
cabal sandbox add-source haddock-api
cabal install --dependencies-only
cabal build

然后将新的黑线鳕安装为haddock.real

cp dist/build/haddock/haddock /some/bin/dir/haddock.real

步骤 2. 创建一个名为的包装脚本haddock

#!/bin/sh

/some/bin/dir/haddock.real --hyperlinked-source "$@"

不要忘记使其可执行并将其放在您的路径中。

步骤 3. 下载并构建standalone-haddock

mkdir build-standalone-haddock
git clone https://github.com/feuerbach/standalone-haddock.git
cd standalone-haddock
cabal build
cp dist/build/standalone-haddock/standalone-haddock /some/bin/dir/

如何使用的示例standalone-haddock

mkdir temp
cd temp
cabal get heredoc-0.2.0.0
standalone-haddock -o doc heredoc-0.2.0.0

然后doc/heredoc/index.html在浏览器中打开。

当您导航到类型定义时,您应该Source会在右侧看到一个链接,该链接会将您带到新的超链接源。

于 2015-08-23T21:58:47.517 回答