查看源代码 edoc_layout_chunks (edoc v1.3.2)
将 EDoc 模块文档转换为 EEP-48docs_v1
代码块。
此布局仅预期与 edoc_doclet_chunks
一起使用。EDoc 用户指南中的 使用 EDoc API 部分显示了使用此模块的示例。
此模块打破了 edoc_doclet
中声明的约定,即不依赖 doclets 和布局中的 edoc.hrl
。它直接使用 #entry{}
记录来恢复布局中无法获取的信息。
概述
类型
根据 EEP 48 的 Docs v1 代码块。
与 #docs_v1_entry{}
记录等效的元组,但跳过了记录名称字段。
xmerl_xpath:nodeEntity()
的子类型。它对应于 xmerl.hrl
定义的 #xmlElement.content
,不包括 #xmlDecl{}
。
类型
-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()]}.
根据 EEP 48 的 Docs v1 代码块。
-type docs_v1_entry() :: {_KindNameArity :: {atom(), atom(), arity()}, _Anno :: erl_anno:anno(), _Signature :: signature(), _Doc :: doc(), _Metadata :: metadata()}.
与 #docs_v1_entry{}
记录等效的元组,但跳过了记录名称字段。
-type metadata() :: map().
-type mime_type() :: binary().
-type signature() :: [binary()].
-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()}.
xmerl_xpath:nodeEntity()
的子类型。它对应于 xmerl.hrl
定义的 #xmlElement.content
,不包括 #xmlDecl{}
。
-type xpath() :: string().
函数
-spec module(edoc:edoc_module(), proplists:proplist()) -> binary().
将 EDoc 模块文档转换为 EEP-48 样式的文档代码块。
-spec overview(Element :: term(), proplists:proplist()) -> term().