查看源代码 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 格式的文档内容进行基本验证。

类型

链接到此类型

chunk_element()

查看源代码 (未导出) (自 OTP 23.0 起)
-type chunk_element() :: {chunk_element_type(), chunk_element_attrs(), chunk_elements()} | binary().
链接到此类型

chunk_element_attr()

查看源代码 (自 OTP 23.0 起)
-type chunk_element_attr() :: {atom(), unicode:chardata()}.
链接到此类型

chunk_element_attrs()

查看源代码 (未导出) (自 OTP 23.0 起)
-type chunk_element_attrs() :: [chunk_element_attr()].
链接到此类型

chunk_element_block_type()

查看源代码 (未导出) (自 OTP 23.0 起)
-type chunk_element_block_type() ::
          p | 'div' | blockquote | br | pre | ul | ol | li | dl | dt | dd | h1 | h2 | h3 | h4 | h5 | h6.
链接到此类型

chunk_element_inline_type()

查看源代码 (未导出) (自 OTP 23.0 起)
-type chunk_element_inline_type() :: a | code | em | strong | i | b.
链接到此类型

chunk_element_type()

查看源代码 (未导出) (自 OTP 23.0 起)
-type chunk_element_type() :: chunk_element_inline_type() | chunk_element_block_type().

application/erlang+html 中允许的 HTML 标签。

链接到此类型

chunk_elements()

查看源代码 (自 OTP 23.0 起)
-type chunk_elements() :: [chunk_element()].
链接到此类型

config()

查看源代码 (未导出) (自 OTP 23.2 起)
-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() 返回的值。

链接到此类型

docs_v1()

查看源代码 (未导出) (自 OTP 23.0 起)
-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 从模块中获取此信息。

函数

链接到此函数

normalize(Docs)

查看源代码 (自 OTP 23.0 起)
-spec normalize(Docs) -> NormalizedDocs
                   when Docs :: chunk_elements(), NormalizedDocs :: chunk_elements().

此函数可用于对 application/erlang+html 文档进行空白规范化。

链接到此函数

render(Module, Docs)

查看源代码 (自 OTP 23.0 起)
-spec render(Module, Docs) -> unicode:chardata() when Module :: module(), Docs :: docs_v1().

等效于 render(Module, Docs, #{})

链接到此函数

render(Module, DocsOrFunction, ConfigOrDocs)

查看源代码 (自 OTP 23.0 起)
-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, #{})

链接到此函数

render(Module, Function, DocsOrArity, ConfigOrDocs)

查看源代码 (自 OTP 23.0 起)
-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, #{})

链接到此函数

render(Module, Function, Arity, Docs, Config)

查看源代码 (自 OTP 23.2 起)
-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}.

渲染函数的文档。

链接到此函数

render_callback(Module, Docs)

查看源代码 (自 OTP 23.0 起)
-spec render_callback(Module, Docs) -> unicode:chardata() when Module :: module(), Docs :: docs_v1().

等效于 render_callback(Module, Docs, #{})

链接到此函数

render_callback(Module, DocsOrCallback, ConfigOrDocs)

查看源代码 (自 OTP 23.0 起)
-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, #{})

链接到此函数

render_callback(Module, Callback, DocsOrArity, ConfigOrDocs)

查看源代码 (自 OTP 23.0 起)
-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, #{})

链接到此函数

render_callback(Module, Callback, Arity, Docs, Config)

查看源代码 (自 OTP 23.2 起)
-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}.

渲染模块中回调的文档。

链接到此函数

render_type(Module, Docs)

查看源代码 (自 OTP 23.0 起)
-spec render_type(Module, Docs) -> unicode:chardata() when Module :: module(), Docs :: docs_v1().

等效于 render_type(Module, Docs, #{})

链接到此函数

render_type(Module, DocsOrType, ConfigOrDocs)

查看源代码 (自 OTP 23.0 起)
-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, #{})

链接到此函数

render_type(Module, Type, DocsOrArity, ConfigOrDocs)

查看源代码 (自 OTP 23.0 起)
-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, #{})

链接到此函数

render_type(Module, Type, Arity, Docs, Config)

查看源代码 (自 OTP 23.2 起)
-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}.

渲染模块中类型的文档。

链接到此函数

supported_tags()

查看源代码 (自 OTP 24.0 起)
-spec supported_tags() -> [chunk_element_type()].

此函数可用于查找 application/erlang+html 文档支持的标签。

链接到此函数

validate(Module)

查看源代码 (自 OTP 23.0 起)
-spec validate(Module) -> ok when Module :: module() | docs_v1().

此函数可用于对 application/erlang+html 格式的文档内容进行基本验证。