# Local access to elm documentation?

**URL:** <https://discourse.elm-lang.org/t/local-access-to-elm-documentation/6332>\
**Category:** Learn\
**Created:** [October 2, 2020, 9:18pm UTC](https://discourse.elm-lang.org/t/local-access-to-elm-documentation/6332 "2020-10-02T21:18:40Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![eiro](https://avatars.discourse-cdn.com/v4/letter/e/67e7ee/32.png) [@eiro](https://discourse.elm-lang.org/u/eiro)\
**Post date:** [October 2, 2020, 9:18pm UTC](https://discourse.elm-lang.org/t/local-access-to-elm-documentation/6332/1 "2020-10-02T21:18:40Z")

</div>

hello people,

I would like to get a local/cached version of the documentation (ideally in a pure text or troff format). i really don’t know the elm ecosystem at all but i imagine there is no such thing available.

if there isn’t, is there a way to query [https://package.elm-lang.org/](https://package.elm-lang.org/) with a rest API to know what is the URL of the page i need to download locally.

for example: from the key “String”, i would like to access to [https://package.elm-lang.org/packages/elm/core/latest/String](https://package.elm-lang.org/packages/elm/core/latest/String) but i haven’t found a rest API to do so.

any help to do so (or link to existing tool) would be very welcome!

thanks  
marc

---

<div class="post-metadata">

**Author:** ![mattpiz](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/mattpiz/32/860_2.png) [@mattpiz](https://discourse.elm-lang.org/u/mattpiz)\
**Post date:** [October 2, 2020, 11:14pm UTC](https://discourse.elm-lang.org/t/local-access-to-elm-documentation/6332/2 "2020-10-02T23:14:33Z")

</div>

Hi @eiro, all packages that you’ve already installed live somewhere in `~/.elm` and thanks to this, tools like [dmy/elm-doc-preview](https://github.com/dmy/elm-doc-preview/) are able to retrieve their documentation for local usage.

Once installed, you can try the command `elm-doc-preview` from anywhere and it should open a web page served by a localhost server with the documentation. I also like the `--port` and `--no-browser` options.

In addition, if you run `elm-doc-preview` from an elm project of yours, it will provide the documentation for that project.

---

<div class="post-metadata">

**Author:** ![eiro](https://avatars.discourse-cdn.com/v4/letter/e/67e7ee/32.png) [@eiro](https://discourse.elm-lang.org/u/eiro)\
**Post date:** [October 3, 2020, 7:15pm UTC](https://discourse.elm-lang.org/t/local-access-to-elm-documentation/6332/3 "2020-10-03T19:15:52Z")

</div>

hello Matthieu,

> [dmy/elm-doc-preview](https://github.com/dmy/elm-doc-preview/) are  
> able to retrieve their documentation for local usage.

even if it’s not what i expected in term of ui, this is a real  
improvement to me.

thanks!  
marc

---

<div class="post-metadata">

**Author:** ![kraklin](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/kraklin/32/385_2.png) [@kraklin](https://discourse.elm-lang.org/u/kraklin)\
**Post date:** [October 4, 2020, 5:32pm UTC](https://discourse.elm-lang.org/t/local-access-to-elm-documentation/6332/4 "2020-10-04T17:32:57Z")

</div>

Or you can use [Dash](https://kapeli.com/dash) or [Zeal](https://zealdocs.org/) and download Elm docset. I’m trying to keep it updated on the newest version on monthly basis.

If you would like to dig deeper, you can take a look at the [python script](https://github.com/kraklin/elm-docset) I’m using to generate the docset and bend it to your needs 😉

---

<div class="post-metadata">

**Author:** ![malaire](https://avatars.discourse-cdn.com/v4/letter/m/b782af/32.png) [@malaire](https://discourse.elm-lang.org/u/malaire)\
**Post date:** [October 5, 2020, 1:30pm UTC](https://discourse.elm-lang.org/t/local-access-to-elm-documentation/6332/5 "2020-10-05T13:30:44Z")

</div>

Where can I download the Elm docset for Zeal?

---

<div class="post-metadata">

**Author:** ![kraklin](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/kraklin/32/385_2.png) [@kraklin](https://discourse.elm-lang.org/u/kraklin)\
**Post date:** [October 5, 2020, 1:45pm UTC](https://discourse.elm-lang.org/t/local-access-to-elm-documentation/6332/6 "2020-10-05T13:45:48Z")

</div>

I don’t use Zeal, so I can’t tell you that for sure - but you should be able to do it like this:

`You can do this using Edit > Options > Docsets > Download.`

It is a User Contributed docset, so maybe it will be somewhere deeper than on the main page, hard to tell. Let me know if you have found it and how, please.

---

<div class="post-metadata">

**Author:** ![malaire](https://avatars.discourse-cdn.com/v4/letter/m/b782af/32.png) [@malaire](https://discourse.elm-lang.org/u/malaire)\
**Post date:** [October 5, 2020, 1:47pm UTC](https://discourse.elm-lang.org/t/local-access-to-elm-documentation/6332/7 "2020-10-05T13:47:44Z")

</div>

There is only one place in Zeal for downloading docsets and Elm is not listed there. “User Contributed” docsets is not mentioned anywhere.

---

<div class="post-metadata">

**Author:** ![kraklin](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/kraklin/32/385_2.png) [@kraklin](https://discourse.elm-lang.org/u/kraklin)\
**Post date:** [October 5, 2020, 1:50pm UTC](https://discourse.elm-lang.org/t/local-access-to-elm-documentation/6332/8 "2020-10-05T13:50:07Z")

</div>

OK, this should help:

> <https://github.com/zealdocs/zeal/issues/170#issuecomment-71310603>
>
> Just trying to see the user contrib docsets but can't see it on the list

---

<div class="post-metadata">

**Author:** ![kraklin](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/kraklin/32/385_2.png) [@kraklin](https://discourse.elm-lang.org/u/kraklin)\
**Post date:** [October 5, 2020, 1:52pm UTC](https://discourse.elm-lang.org/t/local-access-to-elm-documentation/6332/9 "2020-10-05T13:52:16Z")

</div>

So the address you are looking for is probably this one:

`http://newyork.kapeli.com/feeds/zzz/user_contributed/build/Elm/Elm.tgz`

---

<div class="post-metadata">

**Author:** ![kraklin](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/kraklin/32/385_2.png) [@kraklin](https://discourse.elm-lang.org/u/kraklin)\
**Post date:** [October 5, 2020, 1:53pm UTC](https://discourse.elm-lang.org/t/local-access-to-elm-documentation/6332/10 "2020-10-05T13:53:46Z")

</div>

Or even better, I have found this app with the link to the XML feed:

> **[Zeal User Contributions & Cheat Sheets](https://zealusercontributions.herokuapp.com/#docsets-Elm)**

---

<div class="post-metadata">

**Author:** ![malaire](https://avatars.discourse-cdn.com/v4/letter/m/b782af/32.png) [@malaire](https://discourse.elm-lang.org/u/malaire)\
**Post date:** [October 5, 2020, 2:09pm UTC](https://discourse.elm-lang.org/t/local-access-to-elm-documentation/6332/11 "2020-10-05T14:09:06Z")

</div>

The “Feed URL (.xml)” there worked:

- Tools \> Docsets \> Installed \> Add feed
  - Feed URL: [https://zealusercontributions.now.sh/api/docsets/Elm.xml](https://zealusercontributions.now.sh/api/docsets/Elm.xml)

EDIT: The URL must be “Feed URL (.xml)” and not “Feed URL”. Both will add the docset, but without `.xml` in URL it will be saved as `.docset` instead of `Elm.docset`.

---

<div class="post-metadata">

**Author:** ![kraklin](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/kraklin/32/385_2.png) [@kraklin](https://discourse.elm-lang.org/u/kraklin)\
**Post date:** [October 5, 2020, 2:16pm UTC](https://discourse.elm-lang.org/t/local-access-to-elm-documentation/6332/12 "2020-10-05T14:16:16Z")

</div>

Cool, enjoy your offline docs then 😉

---

<div class="post-metadata">

**Author:** ![eiro](https://avatars.discourse-cdn.com/v4/letter/e/67e7ee/32.png) [@eiro](https://discourse.elm-lang.org/u/eiro)\
**Post date:** [October 5, 2020, 4:10pm UTC](https://discourse.elm-lang.org/t/local-access-to-elm-documentation/6332/13 "2020-10-05T16:10:43Z")

</div>

i just had to seat there and read the thread! still not in my terminal  
but zeal is much closer than what i expected and there are other docs i  
can download that way.

thanks to both of you.  
regards  
marc

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex035/uploads/elm_lang/original/1X/50a05e53677a2c3b47776d7abd0f113eb50193a1.png) [@system](https://discourse.elm-lang.org/u/system)\
**Post date:** [October 15, 2020, 4:10pm UTC](https://discourse.elm-lang.org/t/local-access-to-elm-documentation/6332/14 "2020-10-15T16:10:50Z")

</div>

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.
