MKD_FUNCTIONS(3) | Library Functions Manual | MKD_FUNCTIONS(3) |
mkd_functions
—
access and process Markdown documents.
Markdown (libmarkdown, -lmarkdown)
#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*);
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_compile
()
will attempt to escape anything that might terribly confuse a web
browser.mkd_generatetoc
() function.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.
markdown(1), markdown(3), mkd-line(3), markdown(7), mkd-extensions(7), mmap(2).
http://daringfireball.net/projects/markdown/syntax
Error handling is minimal at best.
January 18, 2008 | Mastodon |