# Current commonly used tool for previewing docs?

**URL:** <https://discourse.elm-lang.org/t/current-commonly-used-tool-for-previewing-docs/9388>\
**Category:** Learn\
**Created:** [October 12, 2023, 1:41am UTC](https://discourse.elm-lang.org/t/current-commonly-used-tool-for-previewing-docs/9388 "2023-10-12T01:41:46Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![ShinyStack](https://avatars.discourse-cdn.com/v4/letter/s/58956e/32.png) [@ShinyStack](https://discourse.elm-lang.org/u/ShinyStack)\
**Post date:** [October 12, 2023, 1:41am UTC](https://discourse.elm-lang.org/t/current-commonly-used-tool-for-previewing-docs/9388/1 "2023-10-12T01:41:46Z")

</div>

Hi,

What does this community tend to use these days for previewing docs of a module you’re working on?

I see some posts about ‘elm-doc-preview’ from years ago. Is there a community consensus around good tools these days?

Thanks!

---

<div class="post-metadata">

**Author:** ![dillonkearns](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/dillonkearns/32/1587_2.png) [@dillonkearns](https://discourse.elm-lang.org/u/dillonkearns)\
**Post date:** [October 12, 2023, 3:10am UTC](https://discourse.elm-lang.org/t/current-commonly-used-tool-for-previewing-docs/9388/2 "2023-10-12T03:10:00Z")

</div>

Yes, `elm-doc-preview` is fantastic, it works very nicely. Highly recommended, and that is indeed what the community uses. The web app is quite handy for sharing work-in-progress docs as well: [https://elm-doc-preview.netlify.app/](https://elm-doc-preview.netlify.app/).

I have a doc with some tools and conventions for Elm packages as well: [GitHub - dillonkearns/idiomatic-elm-package-guide: Everything you need to know to publish a useful, idiomatic Elm package!](https://github.com/dillonkearns/idiomatic-elm-package-guide).

---

<div class="post-metadata">

**Author:** ![ShinyStack](https://avatars.discourse-cdn.com/v4/letter/s/58956e/32.png) [@ShinyStack](https://discourse.elm-lang.org/u/ShinyStack)\
**Post date:** [October 12, 2023, 1:01pm UTC](https://discourse.elm-lang.org/t/current-commonly-used-tool-for-previewing-docs/9388/3 "2023-10-12T13:01:05Z")

</div>

Wonderful, thanks! I’ll look into the idiomatic-elm-package-guide too.

---

<div class="post-metadata">

**Author:** ![ShinyStack](https://avatars.discourse-cdn.com/v4/letter/s/58956e/32.png) [@ShinyStack](https://discourse.elm-lang.org/u/ShinyStack)\
**Post date:** [October 15, 2023, 1:16am UTC](https://discourse.elm-lang.org/t/current-commonly-used-tool-for-previewing-docs/9388/4 "2023-10-15T01:16:35Z")

</div>

@dillonkearns - I really like the idiomatic elm package guide, and thanks for writing it.

You suggest “On the macro level, try starting with an `examples` folder (i.e. `examples`-Driven Development). Start with a simple yet meaningful example.” I really like that idea. Do those examples get turned into runnable tests? Or do they stay with the repo in Github in an ‘examples’ folder, and just don’t get exposed as modules? Thanks!

---

<div class="post-metadata">

**Author:** ![dillonkearns](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/dillonkearns/32/1587_2.png) [@dillonkearns](https://discourse.elm-lang.org/u/dillonkearns)\
**Post date:** [October 16, 2023, 4:16pm UTC](https://discourse.elm-lang.org/t/current-commonly-used-tool-for-previewing-docs/9388/5 "2023-10-16T16:16:12Z")

</div>

> [@ShinyStack](#):
>
> Do those examples get turned into runnable tests?

Good question! In the case of my `elm-graphql` package, which does a lot of code generation with the accompanying NPM tool, I check in the generated code in the examples folder and I do automated testing on that. It’s been a great workflow! We talked about that a bit [in this Elm Radio segment in a codegen episode](https://elm-radio.com/episode/code-generation/#00-43-52). In some cases it works really nicely to run automated tests against the examples in your `examples/` folder, and in other cases it might not be that valuable, but it’s definitely worth considering!

We also talked about some other API design techniques in this episode:

> **[Episode 34: API Design Lessons](https://elm-radio.com/episode/api-design-lessons/)**
>
> We share what we've learned from designing Elm APIs and how it applies when building applications and tools.

---

<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 26, 2023, 4:16pm UTC](https://discourse.elm-lang.org/t/current-commonly-used-tool-for-previewing-docs/9388/6 "2023-10-26T16:16:50Z")

</div>

Closed on October 26, 2023, 4:16pm UTC

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