我正在尝试设置cabal配置,以便它可以以我可以在本地或远程浏览它的形式生成文档。因此,其中一个要求是生成正确形式的html,即相对路径。
我已经四处寻找,但似乎有太多的选项组合,所以我觉得最好在这里问一下,看看是否有人知道。
我当前的配置:
documentation: True
其他选项无关紧要。和编译器生成类似于这个的链接:
file:///home/hu/.cabal/share/doc/x86_64-linux-ghc-7.10.3/lens-4.14/html/Control-Lens.html
这使我只能在本地阅读doc。所以我希望在html中,它包含以下链接:
lens-4.14/html/Control-Lens.html
这样在远程浏览器中,我可以看到链接为:
http://linux/ghc-doc/lens-4.14/html/Control-Lens.html
希望这是有道理的。
任何人都知道我需要设置哪些选项才能启用此功能?
答案 0 :(得分:1)
一种选择是使用stack
- 它可以创建具有您想要的相对链接的HTML文档。
对于每个包,只需运行:
apply plugin: 'com.android.application'
android {
signingConfigs {
config {
keyAlias 'alias'
keyPassword 'passwordAlias'
storeFile file('/path/file.jks')
storePassword 'passwordFile'
}
}
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.company.project"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
*libs*
}
或
stack build --haddock <package-name>
使用特定的解析器。然后查看stack --resolver ... build --haddock <package-name>
注意 - $HOME/.stack/snapshots/<arch>/<resolver>/<ghc-version>/doc/
只是包名称 - 不包括版本。
需要注意的是,堆栈不会重建包 - 可能还有一个标志 - 但是你可以在开始之前总是删除你的快照目录。
答案 1 :(得分:0)
也许你想要这个:http://documentup.com/feuerbach/standalone-haddock
引用:它使用正确的链接生成文档......
答案 2 :(得分:0)
我无法真正找到解决方案,所以我最终编写了自己的cgi脚本,这将帮助我进行转换。这是要点:
https://gist.github.com/HuStmpHrrr/b7de3c49f77a925dc6cf85da16a1d231
其中pipeline
是更正超链接的那个。因为它是一个快速而肮脏的脚本,如果有人可以指出我可以从中改进的内容,将不胜感激。
我们还需要设置http服务器(在我的例子中,它是apache2):
启用cgi
LoadModule cgi_module /usr/lib/apache2/modules/mod_cgi.so
配置你的apache来运行cgi:
ScriptAlias /cgis/ $somepath/cgis/
<Directory "$somepath/cgis">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Require all granted
</Directory>
并将cgi文件放在那里。它应该能够做到这一点。