mkd-functions - Man Page
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.
Referenced By
discount-theme(1), markdown(3), markdown(7), mkd-extensions(7).
The man pages mkd_cleanup(3), mkd_compile(3), mkd_css(3), mkd_doc_author(3), mkd_doc_date(3), mkd_doc_title(3), mkd_generatecss(3) and mkd_generatehtml(3) are aliases of mkd-functions(3).