如何在安装软件包后添加文档?

时间:2015-08-22 02:19:33

标签: haskell haskell-stack

我已经在快照数据库中安装了一堆软件包。我现在想要他们的文档的本地副本(如果它与hyperlinked source一起更好)。有没有办法告诉stack在所有这些网站上运行haddock

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

似乎显而易见的stack haddock package将为包安装haddock,所以

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

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

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

2 个答案:

答案 0 :(得分:2)

似乎显而易见的stack haddock package将为包安装haddock,所以

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

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

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

答案 1 :(得分: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链接,这会将您带到新的超链接源。