Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
LOWDOWN_TERM_RNDR(3)	 BSD 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>

     void
     lowdown_term_rndr(struct lowdown_buf *out,	struct lowdown_metaq *mq,
	 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.

     If	mq is not NULL,	it is filled with any metadata as parsed.  It must be
     initialised and its contents freed	with lowdown_metaq_free(3).

     The output	consists of UTF-8 encoded characters and ANSI (really ISO/IEC
     6429) escape sequences.

EXAMPLES
     The following assumes the the string buf of length	bsz consists of	Mark-
     down content.

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

	   if ((doc = lowdown_doc_new(NULL)) ==	NULL)
		   err(1, NULL);
	   if ((n = lowdown_doc_parse(doc, NULL, buf, bsz)) == NULL)
		   err(1, NULL);
	   lowdown_doc_free(doc);

	   if ((out = lowdown_buf_new(256)) == NULL)
		   err(1, NULL);
	   if ((rndr = lowdown_term_new(NULL)) == NULL)
		   err(1, NULL);
	   lowdown_term_rndr(out, NULL,	rndr, n);
	   lowdown_term_free(rndr);
	   lowdown_node_free(n);

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

SEE ALSO
     lowdown(3), lowdown_term_free(3), lowdown_term_new(3)

BSD				August 29, 2020				   BSD

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | EXAMPLES | SEE ALSO

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=lowdown_term_rndr&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help