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

FreeBSD Manual Pages

  
 
  

home | help
LOWDOWN_FILE(3)		    Library Functions Manual	       LOWDOWN_FILE(3)

NAME
       lowdown_file -- parse a Markdown	file into formatted output

LIBRARY
       library "liblowdown"

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

       int
       lowdown_file(const struct lowdown_opts *opts,   FILE *in,   char	**ret,
	   size_t *retsz, struct lowdown_metaq *metaq);

DESCRIPTION
       Parses a	lowdown(5) file	stream in into an output buffer	 ret  of  size
       retsz  according	to configuration opts.	The output format is specified
       by opts->type.  If LOWDOWN_METADATA is set in opts->feat	and  metaq  is
       not  NULL,  metaq  is filled with metadata rendered in the given	output
       format.

       On success, the caller is responsible for freeing ret and metaq.

RETURN VALUES
       Returns zero on failure,	non-zero on success.  On failure,  the	values
       pointed to by res and rsz are undefined.

EXAMPLES
       The  following  parses standard input into a standalone HTML5 document.
       It enables footnotes, autolinks,	 tables,  superscript,	strikethrough,
       fenced codeblocks, commonmark, definition lists,	extended image attrib-
       utes,  and metadata processing.	The output passes through raw HTML and
       has smart typography.

	     struct lowdown_opts opts;
	     char *buf;
	     size_t bufsz;

	     memset(&opts, 0, sizeof(struct lowdown_opts));
	     opts.type = LOWDOWN_HTML;
	     opts.feat = LOWDOWN_FOOTNOTES |
		     LOWDOWN_AUTOLINK |
		     LOWDOWN_TABLES |
		     LOWDOWN_SUPER |
		     LOWDOWN_STRIKE |
		     LOWDOWN_FENCED |
		     LOWDOWN_COMMONMARK	|
		     LOWDOWN_DEFLIST |
		     LOWDOWN_IMG_EXT |
		     LOWDOWN_METADATA;
	     opts.oflags = LOWDOWN_HTML_HEAD_IDS |
		     LOWDOWN_HTML_NUM_ENT |
		     LOWDOWN_HTML_OWASP	|
		     LOWDOWN_SMARTY |
		     LOWDOWN_STANDALONE;
	     if	(!lowdown_file(&opts, stdin, &buf, &bufsz, NULL))
		     errx(1, "lowdown_file");
	     fwrite(buf, 1, bufsz, stdout);
	     free(buf);

SEE ALSO
       lowdown(3), lowdown_metaq_free(3)

FreeBSD	Ports 14.quarterly	  $Mdocdate$		       LOWDOWN_FILE(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=lowdown_file&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help