Hyperlang.Manpage (Hyperlang v0.1.0)

Copy Markdown View Source

Render a troff man(2) page for an allowlisted stdlib module.

The documentation text comes from the real OTP EEP-48 chunk returned by :code.get_doc/1. The page lists only the {function, arity} pairs that the Hyperlang stdlib allowlist admits, so it documents exactly what a guest may call.

The output uses a small macro set: .TH NAME 2, .SH, .B, .I, .PP, .IP, .EX/.EE and .nf/.fi. Doc-text lines that begin with a troff control character (. or ') get a leading \&, and literal backslashes are emitted as \e, so prose never parses as a macro.

Summary

Functions

Render the man(2) page for module as iodata.

Functions

render(module)

@spec render(atom() | binary()) :: {:ok, iodata()} | {:error, term()}

Render the man(2) page for module as iodata.

Returns {:ok, iodata} on success, or {:error, reason} when the module has no OTP documentation chunk ({:error, {:no_doc_chunk, module, detail}}) or no allowlisted exports ({:error, {:no_allowed_functions, module}}).