2015-08-22 129 views
3

我已經安裝了一堆包到快照數據庫。我現在想要一份他們的文檔的本地副本(如果是hyperlinked source就更好了)。有沒有一種方法可以告訴stack運行haddock如何在軟件包安裝後添加文檔?

EDIT(從我的答案複製):

看來,很明顯stack haddock package將安裝鱈魚的包,所以

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

似乎做我想做的,有兩個缺點:

  1. 我仍然需要記住要將--haddock標誌傳遞給每個build(沒有~/.stack/config文件,在那裏?)
  2. 它似乎在重建它們;有沒有辦法避免這種情況?
+0

你可以試試[standalone-haddock](https://github.com/feuerbach/standalone-haddock)應用程序。 – ErikR

+0

它看起來不像我想要的;我對相關鏈接沒有問題,它似乎沒有提供超出直接的'haddock'的東西? –

+0

我認爲它只是向你的'haddock'可執行文件發送。如果它沒有用正確的選項調用它,請嘗試創建一個包裝腳本來添加所需的選項。 – ErikR

回答

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. 它似乎重建它們;有沒有辦法避免這種情況?
+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 "[email protected]" 

不要忘記使其可執行文件並把它放在你的路徑。

第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 

然後打開你的瀏覽器。

當您導航到類型定義時,您應該會在右側看到一個Source鏈接,它會將您帶到新的超鏈接源。

+0

這幾乎沒有解決這個問題。例如,這種方法的一個問題(我嘗試了類似的方法)是'stack'不使用'PATH'上的'haddock';另一個是我想要安裝軟件包的文檔。 –