查看源代码 shell_docs (stdlib v6.2)
用于为 shell 渲染 EEP-48 样式文档的函数。
此模块可用于渲染将在 shell 中打印的函数和类型文档。 此模块用于渲染通过 shell 使用 c:h/1,2,3
访问的文档。 示例
1> h(maps,new,0).
-spec new() -> Map when Map :: #{}.
Since:
OTP 17.0
Returns a new empty map.
Example:
> maps:new().
#{}
此模块格式化并渲染格式为 application/erlang+html
的 EEP-48 文档。 有关此格式的更多信息,请参阅 EDoc 用户指南中的文档存储。 它还可以渲染任何其他 "text" 类型的格式,尽管这些格式将按原样渲染。
摘要
类型
application/erlang+html
中允许的 HTML 标签。
关于文档应如何渲染的配置。
包含模块的 EEP-48 文档的记录。 可以使用 code:get_doc/1
从模块中获取此信息。
函数
此函数可用于对 application/erlang+html
文档进行空白规范化。
渲染模块或函数文档。
渲染模块中的所有回调或回调文档。
渲染模块中的所有类型或类型文档。
渲染模块中类型的文档。
此函数可用于查找 application/erlang+html
文档支持的标签。
此函数可用于对 application/erlang+html
格式的文档内容进行基本验证。
类型
-type chunk_element() :: {chunk_element_type(), chunk_element_attrs(), chunk_elements()} | binary().
-type chunk_element_attr() :: {atom(), unicode:chardata()}.
-type chunk_element_attrs() :: [chunk_element_attr()].
-type chunk_element_block_type() ::
p | 'div' | blockquote | br | pre | ul | ol | li | dl | dt | dd | h1 | h2 | h3 | h4 | h5 | h6.
-type chunk_element_inline_type() :: a | code | em | strong | i | b.
-type chunk_element_type() :: chunk_element_inline_type() | chunk_element_block_type().
application/erlang+html
中允许的 HTML 标签。
-type chunk_elements() :: [chunk_element()].
-type config() :: #{encoding => unicode | latin1, columns => pos_integer(), ansi => boolean()}.
关于文档应如何渲染的配置。
encoding - 配置渲染器应使用哪种编码来处理诸如项目符号之类的图形细节。 默认情况下,
shell_docs
使用io:getopts()
返回的值。ansi - 配置是否应使用 ansi 转义代码 来渲染诸如粗体和下划线之类的图形细节。 默认情况下,
shell_docs
将尝试确定接收 shell 是否支持 ansi 转义代码。 可以通过将内核配置参数shell_docs_ansi
设置为boolean/0
值来覆盖自动检查。columns - 配置目标文档的渲染宽度。 默认情况下,
shell_docs
使用io:columns()
返回的值。
-type docs_v1() :: #docs_v1{anno :: term(), beam_language :: term(), format :: term(), module_doc :: term(), metadata :: term(), docs :: term()}.
包含模块的 EEP-48 文档的记录。 可以使用 code:get_doc/1
从模块中获取此信息。
函数
-spec normalize(Docs) -> NormalizedDocs when Docs :: chunk_elements(), NormalizedDocs :: chunk_elements().
此函数可用于对 application/erlang+html
文档进行空白规范化。
-spec render(Module, Docs) -> unicode:chardata() when Module :: module(), Docs :: docs_v1().
-spec render(Module, Docs, Config) -> unicode:chardata() when Module :: module(), Docs :: docs_v1(), Config :: config(); (Module, Function, Docs) -> Res when Module :: module(), Function :: atom(), Docs :: docs_v1(), Res :: unicode:chardata() | {error, function_missing}.
渲染模块或函数文档。
如果以 render(Module, Docs, Config)
的形式调用,则渲染模块文档。
如果以 render(Module, Function, Docs)
的形式调用,则等效于 render(Module, Function, Docs, #{})
。
-spec render(Module, Function, Docs, Config) -> Res when Module :: module(), Function :: atom(), Docs :: docs_v1(), Config :: config(), Res :: unicode:chardata() | {error, function_missing}; (Module, Function, Arity, Docs) -> Res when Module :: module(), Function :: atom(), Arity :: arity(), Docs :: docs_v1(), Res :: unicode:chardata() | {error, function_missing}.
渲染函数文档。
如果以 render(Module, Function, Docs, Config)
的形式调用,则渲染函数文档。
如果以 render(Module, Function, Arity, Docs)
的形式调用,则等效于 render(Module, Function, Arity, Docs, #{})
。
-spec render(Module, Function, Arity, Docs, Config) -> Res when Module :: module(), Function :: atom(), Arity :: arity(), Docs :: docs_v1(), Config :: config(), Res :: unicode:chardata() | {error, function_missing}.
渲染函数的文档。
-spec render_callback(Module, Docs) -> unicode:chardata() when Module :: module(), Docs :: docs_v1().
-spec render_callback(Module, Docs, Config) -> unicode:chardata() when Module :: module(), Docs :: docs_v1(), Config :: config(); (Module, Callback, Docs) -> Res when Module :: module(), Callback :: atom(), Docs :: docs_v1(), Res :: unicode:chardata() | {error, callback_missing}.
渲染模块中的所有回调或回调文档。
如果以 render_callback(Module, Docs, Config)
的形式调用,则渲染包含所有回调的列表。
如果以 render_callback(Module, Callback, Docs)
的形式调用,则等效于 render_callback(Module, Callback, Docs, #{})
。
-spec render_callback(Module, Callback, Docs, Config) -> Res when Module :: module(), Callback :: atom(), Docs :: docs_v1(), Config :: config(), Res :: unicode:chardata() | {error, callback_missing}; (Module, Callback, Arity, Docs) -> Res when Module :: module(), Callback :: atom(), Arity :: arity(), Docs :: docs_v1(), Res :: unicode:chardata() | {error, callback_missing}.
渲染回调文档。
如果以 render_callback(Module, Callback, Docs, Config)
的形式调用,则渲染回调文档。
如果以 render_callback(Module, Callback, Arity, Docs)
的形式调用,则等效于 render_callback(Module, Callback, Arity, Docs, #{})
。
-spec render_callback(Module, Callback, Arity, Docs, Config) -> Res when Module :: module(), Callback :: atom(), Arity :: arity(), Docs :: docs_v1(), Config :: config(), Res :: unicode:chardata() | {error, callback_missing}.
渲染模块中回调的文档。
-spec render_type(Module, Docs) -> unicode:chardata() when Module :: module(), Docs :: docs_v1().
-spec render_type(Module, Docs, Config) -> unicode:chardata() when Module :: module(), Docs :: docs_v1(), Config :: config(); (Module, Type, Docs) -> Res when Module :: module(), Type :: atom(), Docs :: docs_v1(), Res :: unicode:chardata() | {error, type_missing}.
渲染模块中的所有类型或类型文档。
如果以 render_type(Module, Docs, Config)
的形式调用,则渲染包含所有类型的列表。
如果以 render_type(Module, Type, Docs)
的形式调用,则等效于 render_type(Module, Type, Docs, #{})
。
-spec render_type(Module, Type, Docs, Config) -> Res when Module :: module(), Type :: atom(), Docs :: docs_v1(), Config :: config(), Res :: unicode:chardata() | {error, type_missing}; (Module, Type, Arity, Docs) -> Res when Module :: module(), Type :: atom(), Arity :: arity(), Docs :: docs_v1(), Res :: unicode:chardata() | {error, type_missing}.
渲染类型文档。
如果以 render_type(Module, Type, Docs, Config)
的形式调用,则渲染类型文档。
如果以 render_type(Module, Type, Arity, Docs)
的形式调用,则等效于 render_type(Module, Type, Arity, Docs, #{})
。
-spec render_type(Module, Type, Arity, Docs, Config) -> Res when Module :: module(), Type :: atom(), Arity :: arity(), Docs :: docs_v1(), Config :: config(), Res :: unicode:chardata() | {error, type_missing}.
渲染模块中类型的文档。
-spec supported_tags() -> [chunk_element_type()].
此函数可用于查找 application/erlang+html
文档支持的标签。
此函数可用于对 application/erlang+html
格式的文档内容进行基本验证。