Man page - lowdown_term_rndr(3)
Packages contains this manual
- lowdown_nroff_new(3)
- lowdown_gemini_free(3)
- lowdown_html_free(3)
- lowdown_gemini_rndr(3)
- lowdown_nroff_free(3)
- lowdown_term_new(3)
- lowdown_nroff_rndr(3)
- lowdown_file_diff(3)
- lowdown_metaq_free(3)
- lowdown(3)
- lowdown_latex_new(3)
- lowdown_file(3)
- lowdown_doc_new(3)
- lowdown_buf_new(3)
- lowdown_latex_rndr(3)
- lowdown_buf_free(3)
- lowdown_doc_free(3)
- lowdown_latex_free(3)
- lowdown_tree_rndr(3)
- lowdown_term_free(3)
- lowdown_gemini_new(3)
- lowdown_html_new(3)
- lowdown_odt_new(3)
- lowdown_node_free(3)
- lowdown_doc_parse(3)
- lowdown_buf_diff(3)
- lowdown_odt_rndr(3)
- lowdown_html_rndr(3)
- lowdown_buf(3)
- lowdown_odt_free(3)
- lowdown_diff(3)
- lowdown_term_rndr(3)
apt-get install liblowdown-dev
Manual
LOWDOWN_TERM_RNDR (3) Library Functions Manual LOWDOWN_TERM_RNDR (3)
NAME
lowdown_term_rndr â render Markdown into terminal output
LIBRARY
library âliblowdownâ
SYNOPSIS
#include <sys/queue.h>
#include <stdio.h>
#include <lowdown.h>
int
lowdown_term_rndr ( struct lowdown_buf *out , void *arg , const struct lowdown_node *n );
DESCRIPTION
Renders a node tree n created by lowdown_doc_parse (3) or lowdown_diff (3) using the terminal renderer arg as returned by lowdown_term_new (3). The output is written into out , which must be initialised and freed by the caller.
The output consists of UTF-8 encoded characters and ANSI (really ISO/IEC 6429) escape sequences.
The caller is expected to have invoked setlocale (3) to a "UTF-8" character encoding prior to using this function, otherwise UTF-8 sequences will not be properly recognised.
RETURN VALUES
Returns zero on failure to allocate memory, non-zero on success.
EXAMPLES
The following parses bi of length bsz and outputs in ANSI terminal 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_term_new(NULL)) == NULL)
|
err(1, NULL); |
if (!lowdown_term_rndr(out, rndr, n))
|
err(1, NULL); |
fwrite(out->data, 1, out->size, stdout);
lowdown_term_free(rndr);
lowdown_buf_free(out);
lowdown_node_free(n);
lowdown_doc_free(doc);
SEE ALSO
lowdown (3), lowdown_term_free (3), lowdown_term_new (3)
STANDARDS
ANSI escape codes are described in ISO/IEC 6429, previously ECMA-48. Debian $Mdocdate$ LOWDOWN_TERM_RNDR (3)