Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  MKD-FUNCTIONS (3)


mkd_functions - access and process Markdown documents.


Return Values
See Also


Markdown (libmarkdown, -lmarkdown)


.Fd #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 lt;stylegt; 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 lt;stylegt;, 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 lt;stylegt; sections provided in the document, mkd_generatecss writes any lt;stylegt; 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 lt;imggt; tags from the output.
MKD_NOLINKS Do not process ‘[]’ and remove lt;agt; 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.
  Disable strikethrough support.


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).


Error handling is minimal at best.
Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.