edoc_layout_chunks — edoc v1.5

Search documentation of edoc

# edoc_layout_chunks (edoc v1.5)

View Source

Convert EDoc module documentation to an EEP-48 `docs_v1` chunk.

This layout is only expected to work with `edoc_doclet_chunks`. Section Using the EDoc API in the EDoc User's Guide shows an example of using this module.

This module breaks the convention stated in `edoc_doclet` to not rely on `edoc.hrl` in doclets and layouts. It uses `#entry{}` records directly to recover information that is not otherwise available to layouts.

See also: edoc_doclet_chunks, //stdlib/shell_docs.

## Summary

### Types

beam_language/0
doc/0
doc_language/0
doc_string/0
docs_v1/0

The Docs v1 chunk according to EEP 48.

docs_v1_entry/0

A tuple equivalent to the `#docs_v1_entry{}` record, but with the record name field skipped.

metadata/0
mime_type/0
signature/0

### Functions

module(Doc, Options)

Convert EDoc module documentation to an EEP-48 style doc chunk.

overview(Element, Options)

## Types

# beam_language/0

    -type beam_language() :: atom().

# doc/0

    -type doc() :: #{doc_language() => doc_string()} | none | hidden.

# doc_language/0

    -type doc_language() :: binary().

# doc_string/0

    -type doc_string() :: binary().

# docs_v1/0

    -type docs_v1() ::
              #docs_v1{anno :: erl_anno:anno(),
                       beam_language :: beam_language(),
                       format :: mime_type(),
                       module_doc :: doc(),
                       metadata :: metadata(),
                       docs :: [docs_v1_entry()]}.

The Docs v1 chunk according to EEP 48.

# docs_v1_entry/0

    -type docs_v1_entry() ::
              {_KindNameArity :: {atom(), atom(), arity()},
               _Anno :: erl_anno:anno(),
               _Signature :: signature(),
               _Doc :: doc(),
               _Metadata :: metadata()}.

A tuple equivalent to the `#docs_v1_entry{}` record, but with the record name field skipped.

# metadata/0

    -type metadata() :: map().

# mime_type/0

    -type mime_type() :: binary().

# signature/0

    -type signature() :: [binary()].

## Functions

# module(Doc, Options)

    -spec module(edoc:edoc_module(), proplists:proplist()) -> binary().

Convert EDoc module documentation to an EEP-48 style doc chunk.

# overview(Element, Options)

    -spec overview(Element :: term(), proplists:proplist()) -> term().