View Source edoc_layout_chunks (edoc v1.3)

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.

Subtype of xmerl_xpath:nodeEntity(). It corresponds to #xmlElement.content as defined by xmerl.hrl, sans the #xmlDecl{}.

Functions

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

Types

-type beam_language() :: atom().
-type doc() :: #{doc_language() => doc_string()} | none | hidden.
-type doc_language() :: binary().
-type doc_string() :: binary().
-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.

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

-type metadata() :: map().
-type mime_type() :: binary().
-type signature() :: [binary()].
-type xmerl_attribute() ::
          #xmlAttribute{name :: term(),
                        expanded_name :: term(),
                        nsinfo :: term(),
                        namespace :: term(),
                        parents :: term(),
                        pos :: term(),
                        language :: term(),
                        value :: term(),
                        normalized :: term()}.
-type xmerl_doc_node() ::
          #xmlComment{parents :: term(), pos :: term(), language :: term(), value :: term()} |
          #xmlElement{name :: term(),
                      expanded_name :: term(),
                      nsinfo :: term(),
                      namespace :: term(),
                      parents :: term(),
                      pos :: term(),
                      attributes :: term(),
                      content :: term(),
                      language :: term(),
                      xmlbase :: term(),
                      elementdef :: term()} |
          #xmlPI{name :: term(), parents :: term(), pos :: term(), value :: term()} |
          #xmlText{parents :: term(),
                   pos :: term(),
                   language :: term(),
                   value :: term(),
                   type :: term()}.

Subtype of xmerl_xpath:nodeEntity(). It corresponds to #xmlElement.content as defined by xmerl.hrl, sans the #xmlDecl{}.

-type xpath() :: string().

Functions

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

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

Link to this function

overview(Element, Options)

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