haskell docs: add explanation of what the --local flag does and the service

This commit is contained in:
toonn 2017-12-31 01:44:23 +01:00
parent ae1e304a60
commit c17061efd4

View File

@ -334,16 +334,30 @@ navigate there.
Finally, you can run
```shell
hoogle server -p 8080 --local
hoogle server --local -p 8080
```
and navigate to http://localhost:8080/ for your own local
[Hoogle](https://www.haskell.org/hoogle/). Note, however, that Firefox and
possibly other browsers disallow navigation from `http:` to `file:` URIs for
security reasons, which might be quite an inconvenience. Since version 5 hoogle
server has a `--local` flag that solves the problem. For older versions see
[Hoogle](https://www.haskell.org/hoogle/). The `--local` flag makes the hoogle
server serve files from your nix store over http, without the flag it will use
`file:\\` URIs. Note, however, that Firefox and possibly other browsers
disallow navigation from `http://` to `file://` URIs for security reasons,
which might be quite an inconvenience. Versions before v5 did not have this
flag. See
[this page](http://kb.mozillazine.org/Links_to_local_pages_do_not_work) for
workarounds.
For NixOS users there's a service which runs this exact command for you.
Specify the `packages` you want documentation for and the `haskellPackages` set
you want them to come from. Add the following to `configuration.nix`.
```nix
services.hoogle = {
enable = true;
packages = (hpkgs: with hpkgs; [text cryptonite]);
haskellPackages = pkgs.haskellPackages;
};
```
### How to build a Haskell project using Stack
[Stack](http://haskellstack.org) is a popular build tool for Haskell projects.