.\"
|
|
.Dd December 20, 2007
|
|
.Dt MARKDOWN 3
|
|
.Os Mastodon
|
|
.Sh NAME
|
|
.Nm markdown
|
|
.Nd process Markdown documents
|
|
.Sh LIBRARY
|
|
Markdown
|
|
.Pq libmarkdown , -lmarkdown
|
|
.Sh SYNOPSIS
|
|
.Fd #include <mkdio.h>
|
|
.Ft MMIOT
|
|
.Fn *mkd_in "FILE *input" "int flags"
|
|
.Ft MMIOT
|
|
.Fn *mkd_string "char *string" "int size" "int flags"
|
|
.Ft int
|
|
.Fn markdown "MMIOT *doc" "FILE *output" "int flags"
|
|
.Sh DESCRIPTION
|
|
These functions
|
|
convert
|
|
.Em Markdown
|
|
documents and strings into HTML.
|
|
.Fn markdown
|
|
processes an entire document, while
|
|
.Fn mkd_text
|
|
processes a single string.
|
|
.Pp
|
|
To process a file, you pass a FILE* to
|
|
.Fn mkd_in ,
|
|
and if it returns a nonzero value you pass that in to
|
|
.Fn markdown ,
|
|
which then writes the converted document to the specified
|
|
.Em FILE* .
|
|
If your input has already been written into a string (generated
|
|
input or a file opened
|
|
with
|
|
.Xr mmap 2 )
|
|
you can feed that string to
|
|
.Fn mkd_string
|
|
and pass its return value to
|
|
.Fn markdown.
|
|
.Pp
|
|
.Fn Markdown
|
|
accepts the following flag values (or-ed together if needed)
|
|
to restrict how it processes input:
|
|
.Bl -tag -width MKD_NOSTRIKETHROUGH -compact
|
|
.It Ar MKD_NOLINKS
|
|
Don't do link processing, block
|
|
.Em <a>
|
|
tags.
|
|
.It Ar MKD_NOIMAGE
|
|
Don't do image processing, block
|
|
.Em <img> .
|
|
.It Ar MKD_NOPANTS
|
|
Don't run
|
|
.Em smartypants() .
|
|
.It Ar MKD_NOHTML
|
|
Don't allow raw html through AT ALL
|
|
.It Ar MKD_STRICT
|
|
Disable
|
|
superscript and relaxed emphasis.
|
|
.It Ar MKD_TAGTEXT
|
|
Process text inside an html tag; no
|
|
.Em <em> ,
|
|
no
|
|
.Em <bold> ,
|
|
no html or
|
|
.Em []
|
|
expansion.
|
|
.It Ar MKD_NO_EXT
|
|
Don't allow pseudo-protocols.
|
|
.It Ar MKD_CDATA
|
|
Generate code for xml
|
|
.Em ![CDATA[...]] .
|
|
.It Ar MKD_NOSUPERSCRIPT
|
|
Don't generate superscripts.
|
|
Emphasis happens _everywhere_
|
|
.It Ar MKD_NOTABLES
|
|
Disallow tables.
|
|
.It Ar MKD_NOSTRIKETHROUGH
|
|
Forbid
|
|
.Em ~~strikethrough~~ .
|
|
.It Ar MKD_TOC
|
|
Do table-of-contents processing.
|
|
.It Ar MKD_1_COMPAT
|
|
Compatibility with MarkdownTest_1.0
|
|
.It Ar MKD_AUTOLINK
|
|
Make
|
|
.Em http://foo.com
|
|
into a link even without
|
|
.Em <> s.
|
|
.It Ar MKD_SAFELINK
|
|
Paranoid check for link protocol.
|
|
.It Ar MKD_NOHEADER
|
|
Don't process header blocks.
|
|
.It Ar MKD_TABSTOP
|
|
Expand tabs to 4 spaces.
|
|
.It Ar MKD_NODIVQUOTE
|
|
Forbid
|
|
.Em >%class%
|
|
blocks.
|
|
.It Ar MKD_NOALPHALIST
|
|
Forbid alphabetic lists.
|
|
.It Ar MKD_NODLIST
|
|
Forbid definition lists.
|
|
.It Ar MKD_EXTRA_FOOTNOTE
|
|
Enable markdown extra-style footnotes.
|
|
.El
|
|
.Sh RETURN VALUES
|
|
.Fn markdown
|
|
returns 0 on success, 1 on failure.
|
|
The
|
|
.Fn mkd_in
|
|
and
|
|
.Fn mkd_string
|
|
functions return a MMIOT* on success, null on failure.
|
|
.Sh SEE ALSO
|
|
.Xr markdown 1 ,
|
|
.Xr mkd-callbacks 3 ,
|
|
.Xr mkd-functions 3 ,
|
|
.Xr mkd-line 3 ,
|
|
.Xr markdown 7 ,
|
|
.Xr mkd-extensions 7 ,
|
|
.Xr mmap 2 .
|
|
.Pp
|
|
http://daringfireball.net/projects/markdown/syntax
|
|
.Sh BUGS
|
|
Error handling is minimal at best.
|
|
.Pp
|
|
The
|
|
.Ar MMIOT
|
|
created by
|
|
.Fn mkd_string
|
|
is deleted by the
|
|
.Nm
|
|
function.
|