logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

lowdown_nroff_rndr — render Markdown into roff

Description

       Renders  a  node tree n created by lowdown_doc_parse(3) or lowdown_diff(3) using the roff renderer arg as
       returned by lowdown_nroff_new(3).  The output is written into out, which must be initialised and freed by
       the caller.

       The output consists of roff output using the ms or man macro packages.

Examples

       The following parses b of length bsz and outputs in groff_ms(7) format.

             struct lowdown_buf *out;
             struct lowdown_doc *doc;
             struct lowdown_node *n;
             void *rndr;

             if ((doc = lowdown_doc_new(NULL)) == NULL)
                     err(1, NULL);
             if ((n = lowdown_doc_parse(doc, NULL, b, bsz, NULL)) == NULL)
                     err(1, NULL);
             if ((out = lowdown_buf_new(256)) == NULL)
                     err(1, NULL);
             if ((rndr = lowdown_nroff_new(NULL)) == NULL)
                     err(1, NULL);
             if (!lowdown_nroff_rndr(out, rndr, n))
                     err(1, NULL);

             fwrite(out->data, 1, out->size, stdout);

             lowdown_nroff_free(rndr);
             lowdown_buf_free(out);
             lowdown_node_free(n);
             lowdown_doc_free(doc);

Library

       library “liblowdown”

Name

       lowdown_nroff_rndr — render Markdown into roff

Return Values

       Returns zero on failure to allocate memory, non-zero on success.

See Also

lowdown(3), lowdown_nroff_free(3), lowdown_nroff_new(3)

       This uses both the original troff man macros for Version 7 AT&T UNIX, defined in man(7), and the  man-ext
       groff extensions.  Both are implemented in mandoc.

       The  troff  ms  macros are defined in groff_ms(7), with the mspdf groff extensions described in "Portable
       Document Format Publishing with GNU Troff" by Keith Marshall.  Neither are implemented in mandoc.

Debian                                             $Mdocdate$                              LOWDOWN_NROFF_RNDR(3)

Synopsis

#include<sys/queue.h>#include<stdio.h>#include<lowdown.h>intlowdown_nroff_rndr(structlowdown_buf*out, void*arg, conststructlowdown_node*n);

See Also