diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/md.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/md.py index a8d9cf91d077..96cc8af69bce 100644 --- a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/md.py +++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/md.py @@ -27,10 +27,10 @@ _md_escape_table = { def md_escape(s: str) -> str: return s.translate(_md_escape_table) -def md_make_code(code: str) -> str: +def md_make_code(code: str, info: str = "", multiline: Optional[bool] = None) -> str: # for multi-line code blocks we only have to count ` runs at the beginning # of a line, but this is much easier. - multiline = '\n' in code + multiline = multiline or info != "" or '\n' in code longest, current = (0, 0) for c in code: current = current + 1 if c == '`' else 0 @@ -38,7 +38,7 @@ def md_make_code(code: str) -> str: # inline literals need a space to separate ticks from content, code blocks # need newlines. inline literals need one extra tick, code blocks need three. ticks, sep = ('`' * (longest + (3 if multiline else 1)), '\n' if multiline else ' ') - return f"{ticks}{sep}{code}{sep}{ticks}" + return f"{ticks}{info}{sep}{code}{sep}{ticks}" AttrBlockKind = Literal['admonition', 'example']