Man page - mkd-functions(3)

Packages contains this manual

Manual


MKD_FUNCTIONS (3) Library Functions Manual MKD_FUNCTIONS (3)

NAME

mkd_functions — access and process Markdown documents.

LIBRARY

Markdown (libmarkdown, -lmarkdown)

SYNOPSIS

#include <mkdio.h>

int

mkd_compile ( MMIOT *document , int flags );

int

mkd_css ( MMIOT *document , char **doc );

int

mkd_generatecss ( MMIOT *document , FILE *output );

int

mkd_document ( MMIOT *document , char **doc );

int

mkd_generatehtml ( MMIOT *document , FILE *output );

int

mkd_xhtmlpage ( MMIOT *document , int flags , FILE *output );

int

mkd_toc ( MMIOT *document , char **doc );

void

mkd_generatetoc ( MMIOT *document , FILE *output );

void

mkd_cleanup ( MMIOT* );

char*

mkd_doc_title ( MMIOT* );

char*

mkd_doc_author ( MMIOT* );

char*

mkd_doc_date ( MMIOT* );

DESCRIPTION

The markdown format supported in this implementation includes Pandoc-style header and inline <style> blocks, and the standard markdown (3) functions do not provide access to the data provided by either of those extensions. These functions give you access to that data, plus they provide a finer-grained way of converting Markdown documents into HTML.

Given a MMIOT* generated by mkd_in () or mkd_string (), mkd_compile () compiles the document into <style> , Pandoc , and html sections.

Once compiled, the document can be examined and written by the mkd_css (), mkd_document (), mkd_generatecss (), mkd_generatehtml (), mkd_generatetoc (), mkd_toc (), mkd_xhtmlpage (), mkd_doc_title (), mkd_doc_author (), and mkd_doc_date () functions.

mkd_css () allocates a string and populates it with any <style> sections provided in the document, mkd_generatecss () writes any <style> sections to the output, mkd_document () points text to the text of the document and returns the size of the document, mkd_generatehtml () writes the rest of the document to the output, and mkd_doc_title (), mkd_doc_author (), mkd_doc_date () are used to read the contents of a Pandoc header, if any.

mkd_xhtmlpage () writes a xhtml page containing the document. The regular set of flags can be passed.

mkd_toc () writes a document outline, in the form of a collection of nested lists with links to each header in the document, into a string allocated with malloc (), and returns the size.

mkd_generatetoc () is like mkd_toc (), except that it writes the document outline to the given FILE* argument.

mkd_cleanup () deletes a MMIOT* after processing is done.

mkd_compile () accepts the same flags that markdown () and mkd_string () do;

MKD_NOIMAGE

Do not process ‘![]’ and remove <img> tags from the output.

MKD_NOLINKS

Do not process ‘[]’ and remove <a> tags from the output.

MKD_NOPANTS

Do not do Smartypants-style mangling of quotes, dashes, or ellipses.

MKD_TAGTEXT

Process the input as if you were inside a html tag. This means that no html tags will be generated, and mkd_compile () will attempt to escape anything that might terribly confuse a web browser.

MKD_NO_EXT

Do not process any markdown pseudo-protocols when handing [][] links.

MKD_NOHEADER

Do not attempt to parse any Pandoc-style headers.

MKD_TOC

Label all headers for use with the mkd_generatetoc () function.

MKD_1_COMPAT

MarkdownTest_1.0 compatibility flag; trim trailing spaces from the first line of code blocks and disable implicit reference links.

MKD_NOSTRIKETHROUGH

Disable strikethrough support.

RETURN VALUES

The function mkd_compile () returns 1 in the case of success, or 0 if the document is already compiled. The function mkd_generatecss () returns the number of bytes written in the case of success, or EOF if an error occurred. The function mkd_generatehtml () returns 0 on success, -1 on failure.

SEE ALSO

markdown (1), markdown (3), mkd-line (3), markdown (7), mkd-extensions (7), mmap (2).

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

BUGS

Error handling is minimal at best. Mastodon January 18, 2008 MKD_FUNCTIONS (3)