edoc_layout_chunks (edoc v1.4.1)

View Source

Convert EDoc module documentation to an EEP-48docs_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

The Docs v1 chunk according to EEP 48.

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

Functions

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

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().