Provided by: liblowdown-dev_2.0.2-2_amd64 bug

NAME

       lowdown_gemini_new — allocate a Markdown gemini renderer

LIBRARY

       library “liblowdown”

SYNOPSIS

       #include <sys/queue.h>
       #include <stdio.h>
       #include <lowdown.h>

       void *
       lowdown_gemini_new(const struct lowdown_opts *opts);

DESCRIPTION

       Allocates  a  Gemini  renderer  using opts->oflags, or zero if opts is NULL.  The returned pointer may be
       used with multiple invocations of lowdown_gemini_rndr(3) and must be freed with lowdown_gemini_free(3).

       The   bits   recognised   in   opts->oflags    are    LOWDOWN_GEMINI_LINK_IN,    LOWDOWN_GEMINI_LINK_END,
       LOWDOWN_GEMINI_LINK_NOREF,  LOWDOWN_GEMINI_LINK_ROMAN,  LOWDOWN_GEMINI_METADATA,  and LOWDOWN_STANDALONE.
       These are documented in lowdown(3).

RETURN VALUES

       Returns a pointer to the renderer or NULL on memory failure.  The returned pointer  must  be  freed  with
       lowdown_gemini_free(3).

EXAMPLES

       The following parses b of length bsz and outputs in Gemini format.

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

             if (setlocale(LC_CTYPE, "en_US.UTF-8") == NULL)
                     err(1, NULL);
             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_gemini_new(NULL)) == NULL)
                     err(1, NULL);
             if (!lowdown_gemini_rndr(out, rndr, n))
                     err(1, NULL);

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

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

SEE ALSO

       lowdown(3), lowdown_gemini_free(3), lowdown_gemini_rndr(3)

STANDARDS

       The  gemini “gemtext” format is documented in Project Gemini: https://geminiprotocol.net.  The version at
       the time of writing is 0.24.1.

Debian                                             $Mdocdate$                              LOWDOWN_GEMINI_NEW(3)