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_gemini_new — allocate a Markdown gemini renderer

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).

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);

Library

       library “liblowdown”

Name

       lowdown_gemini_new — allocate a Markdown gemini renderer

Return Values

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

See Also

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

Standards

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

Debian                                             $Mdocdate$                              LOWDOWN_GEMINI_NEW(3)

Synopsis

#include<sys/queue.h>#include<stdio.h>#include<lowdown.h>void*lowdown_gemini_new(conststructlowdown_opts*opts);

See Also