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

FreeBSD Manual Pages

  
 
  

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

NAME
     markdown -- process Markdown documents

LIBRARY
     Markdown (libmarkdown, -lmarkdown)

SYNOPSIS
     #include <mkdio.h>

     MMIOT
     *mkd_in(FILE *input, mkd_flag_t *flags);

     MMIOT
     *mkd_string(char *string, int size, mkd_flag_t *flags);

     int
     markdown(MMIOT *doc, FILE *output, mkd_flag_t *flags);

DESCRIPTION
     These  functions  convert	Markdown documents and strings into HTML.  mark-
     down() processes an entire document, while mkd_text()  processes  a  single
     string.

     To  process  a  file,  you  pass  a  FILE* to mkd_in(), and if it returns a
     nonzero value you pass that in to markdown(), which then  writes  the  con-
     verted  document  to  the	specified FILE*.  If your input has already been
     written into a string (generated input or a file opened with  mmap(2))  you
     can  feed	that  string  to mkd_string() and pass its return value to mark-
     down.()

     Markdown() holds the flag values in an opaque flag blob that  you	need  to
     initialize and populate before using:
     mkd_flag_t* mkd_flag_t()
			  creates  a  mkd_flag_t structure and returns a pointer
			  to it.
     mkd_free_flags(mkd_flag_t *)
			  deletes a mkd_flag_t structure when you  are	finished
			  with it.
     mkd_flag_t* mkd_copy_flags(mkd_flag_t*)
			  Makes  a  copy of a flag blob and returns a pointer to
			  it.
     mkd_flag_isset(mkd_flag_t *, int)
			  tells you if a specific flag is set
     mkd_set_flag_num(mkd_flag_t *, int)
			  Sets a specified flag
     mkd_clr_flag_num(mkd_flag_t *, int)
			  Clears a specified flag

     The following flags are currently accepted:
     MKD_NOLINKS	  don't do link processing, block <a> tags
     MKD_NOIMAGE	  don't do image processing, block <img>
     MKD_NOPANTS	  don't run smartypants()
     MKD_NOHTML 	  don't allow raw html through AT ALL
     MKD_NORMAL_LISTITEM  disable github-style checkbox lists
     MKD_TAGTEXT	  process text inside an html tag
     MKD_NO_EXT 	  don't allow pseudo-protocols
     MKD_EXPLICITLIST	  don't combine numbered/bulletted lists
     MKD_CDATA		  generate code for xml ![CDATA[...]]
     MKD_NOSUPERSCRIPT	  no A^B
     MKD_STRICT 	  conform to Markdown standard as implemented  in  Mark-
			  down.pl
     MKD_NOTABLES	  disallow tables
     MKD_NOSTRIKETHROUGH  forbid ~~strikethrough~~
     MKD_1_COMPAT	  compatibility with MarkdownTest_1.0
     MKD_TOC		  do table-of-contents processing
     MKD_AUTOLINK	  make http://foo.com link even without <>s
     MKD_NOHEADER	  don't process header blocks
     MKD_TABSTOP	  expand tabs to 4 spaces
     MKD_SAFELINK	  paranoid check for link protocol
     MKD_NODIVQUOTE	  forbid >%class% blocks
     MKD_NOALPHALIST	  forbid alphabetic lists
     MKD_EXTRA_FOOTNOTE   enable markdown extra-style footnotes
     MKD_NOSTYLE	  don't extract <style> blocks
     MKD_DLDISCOUNT	  enable discount-style definition lists
     MKD_DLEXTRA	  enable extra-style definition lists
     MKD_FENCEDCODE	  enabled fenced code blocks
     MKD_IDANCHOR	  use id= anchors for TOC links
     MKD_GITHUBTAGS	  allow dash and underscore in element names
     MKD_URLENCODEDANCHOR
			  urlencode  non-identifier  chars  instead of replacing
			  with dots
     MKD_LATEX		  handle embedded LaTeX escapes
     MKD_ALT_AS_TITLE	  use alt text as the title if no title is listed
     MKD_EXTENDED_ATTR	  allow extended attribute suffixes

RETURN VALUES
     markdown()  returns  0  on  success,  1  on  failure.   The  mkd_in()   and
     mkd_string() functions return a MMIOT* on success, null on failure.

SEE ALSO
     markdown(1),  mkd-callbacks(3), mkd-functions(3), mkd-line(3), markdown(7),
     mkd-extensions(7), mmap(2).

     http://daringfireball.net/projects/markdown/syntax

BUGS
     Error handling is minimal at best.

     The MMIOT created by mkd_string() is deleted by the markdown function.

Mastodon			December 20, 2007		     MARKDOWN(3)

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

home | help