From d76f07909ff44a36b0ea6e993484ad9e9fd6ff11 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Sat, 29 Nov 2014 19:24:46 -0800 Subject: Use make_man_page.py + pandoc to create cmark.3 man page from cmark.h. See #224. --- man/man3/cmark.3 | 194 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 111 insertions(+), 83 deletions(-) (limited to 'man/man3') diff --git a/man/man3/cmark.3 b/man/man3/cmark.3 index 431e961..f611786 100644 --- a/man/man3/cmark.3 +++ b/man/man3/cmark.3 @@ -1,53 +1,65 @@ -.TH "cmark" "3" "November 29, 2014" "libcmark manual" "" +.TH "" "" "" "" "" .SH NAME .PP -cmark \- parse, manipulate, and render CommonMark formatted text +cmark \- CommonMark parsing, manipulating, and rendering +.SH SIMPLE INTERFACE .IP .nf \f[C] -#include\ +#define\ CMARK_VERSION\ "0.1" \f[] .fi -.SH SIMPLE INTERFACE +.PP +Current version of library. .IP .nf \f[C] -char* -cmark_markdown_to_html(const\ char\ *text,\ int\ len); +char\ *cmark_markdown_to_html(const\ char\ *text,\ int\ len); \f[] .fi -.SH PARSING +.PP +Convert \f[C]text\f[] (assumed to be a UTF\-8 encoded string with length +\f[C]len\f[]) from CommonMark Markdown to HTML, returning a +null\-terminated, UTF\-8\-encoded string. +.SH NODE STRUCTURE .IP .nf \f[C] -void -cmark_parser_push(cmark_parser\ *parser,\ const\ char\ *buffer,\ size_t\ len); +typedef\ enum\ { +\ \ \ \ //\ Block +\ \ \ \ CMARK_NODE_DOCUMENT, +\ \ \ \ CMARK_NODE_BLOCK_QUOTE, +\ \ \ \ CMARK_NODE_LIST, +\ \ \ \ CMARK_NODE_LIST_ITEM, +\ \ \ \ CMARK_NODE_CODE_BLOCK, +\ \ \ \ CMARK_NODE_HTML, +\ \ \ \ CMARK_NODE_PARAGRAPH, +\ \ \ \ CMARK_NODE_HEADER, +\ \ \ \ CMARK_NODE_HRULE, +\ \ \ \ CMARK_NODE_REFERENCE_DEF, -cmark_node* -cmark_parse_document(const\ char\ *buffer,\ size_t\ len); -cmark_node* -cmark_parse_file(FILE\ *f); -\f[] -.fi -.SH RENDERING -.IP -.nf -\f[C] -char* -cmark_render_ast(cmark_node\ *root); +typedef\ enum\ { +\ \ \ \ CMARK_NO_LIST, +\ \ \ \ CMARK_BULLET_LIST, +\ \ \ \ CMARK_ORDERED_LIST +}\ \ cmark_list_type; + -char* -cmark_render_html(cmark_node\ *root); +typedef\ enum\ { +\ \ \ \ CMARK_PERIOD_DELIM, +\ \ \ \ CMARK_PAREN_DELIM +}\ cmark_delim_type; \f[] .fi -.SH CREATING AND DESTROYING NODES +.SH CREATING AND DESTORYING NODES .IP .nf \f[C] cmark_node* cmark_node_new(cmark_node_type\ type); + void cmark_node_free(cmark_node\ *node); \f[] @@ -59,39 +71,23 @@ cmark_node_free(cmark_node\ *node); cmark_node* cmark_node_next(cmark_node\ *node); + cmark_node* cmark_node_previous(cmark_node\ *node); + cmark_node* cmark_node_parent(cmark_node\ *node); + cmark_node* cmark_node_first_child(cmark_node\ *node); + cmark_node* cmark_node_last_child(cmark_node\ *node); \f[] .fi -.SH TREE MANIPULATION -.IP -.nf -\f[C] -void -cmark_node_unlink(cmark_node\ *node); - -int -cmark_node_insert_before(cmark_node\ *node,\ cmark_node\ *sibling); - -int -cmark_node_insert_after(cmark_node\ *node,\ cmark_node\ *sibling); - -int -cmark_node_prepend_child(cmark_node\ *node,\ cmark_node\ *child); - -int -cmark_node_append_child(cmark_node\ *node,\ cmark_node\ *child); -\f[] -.fi .SH ACCESSORS .IP .nf @@ -99,113 +95,145 @@ cmark_node_append_child(cmark_node\ *node,\ cmark_node\ *child); cmark_node_type cmark_node_get_type(cmark_node\ *node); + const\ char* cmark_node_get_string_content(cmark_node\ *node); + int cmark_node_set_string_content(cmark_node\ *node,\ const\ char\ *content); + int cmark_node_get_header_level(cmark_node\ *node); + int cmark_node_set_header_level(cmark_node\ *node,\ int\ level); + cmark_list_type cmark_node_get_list_type(cmark_node\ *node); + int cmark_node_set_list_type(cmark_node\ *node,\ cmark_list_type\ type); + int cmark_node_get_list_start(cmark_node\ *node); + int cmark_node_set_list_start(cmark_node\ *node,\ int\ start); + int cmark_node_get_list_tight(cmark_node\ *node); + int cmark_node_set_list_tight(cmark_node\ *node,\ int\ tight); + const\ char* cmark_node_get_fence_info(cmark_node\ *node); + int cmark_node_set_fence_info(cmark_node\ *node,\ const\ char\ *info); + const\ char* cmark_node_get_url(cmark_node\ *node); + int cmark_node_set_url(cmark_node\ *node,\ const\ char\ *url); + const\ char* cmark_node_get_title(cmark_node\ *node); + int cmark_node_set_title(cmark_node\ *node,\ const\ char\ *title); + int cmark_node_get_start_line(cmark_node\ *node); + int cmark_node_get_start_column(cmark_node\ *node); + int cmark_node_get_end_line(cmark_node\ *node); \f[] .fi -.SH DEFINITIONS +.SH TREE MANIPULATION .IP .nf \f[C] -CMARK_VERSION +void +cmark_node_unlink(cmark_node\ *node); -typedef\ enum\ { -\ \ \ \ //\ Block -\ \ \ \ CMARK_NODE_DOCUMENT, -\ \ \ \ CMARK_NODE_BLOCK_QUOTE, -\ \ \ \ CMARK_NODE_LIST, -\ \ \ \ CMARK_NODE_LIST_ITEM, -\ \ \ \ CMARK_NODE_CODE_BLOCK, -\ \ \ \ CMARK_NODE_HTML, -\ \ \ \ CMARK_NODE_PARAGRAPH, -\ \ \ \ CMARK_NODE_HEADER, -\ \ \ \ CMARK_NODE_HRULE, -\ \ \ \ CMARK_NODE_REFERENCE_DEF, -\ \ \ \ CMARK_NODE_FIRST_BLOCK\ =\ CMARK_NODE_DOCUMENT, -\ \ \ \ CMARK_NODE_LAST_BLOCK\ \ =\ CMARK_NODE_REFERENCE_DEF, +int +cmark_node_insert_before(cmark_node\ *node,\ cmark_node\ *sibling); -\ \ \ \ //\ Inline -\ \ \ \ CMARK_NODE_TEXT, -\ \ \ \ CMARK_NODE_SOFTBREAK, -\ \ \ \ CMARK_NODE_LINEBREAK, -\ \ \ \ CMARK_NODE_INLINE_CODE, -\ \ \ \ CMARK_NODE_INLINE_HTML, -\ \ \ \ CMARK_NODE_EMPH, -\ \ \ \ CMARK_NODE_STRONG, -\ \ \ \ CMARK_NODE_LINK, -\ \ \ \ CMARK_NODE_IMAGE, -\ \ \ \ CMARK_NODE_FIRST_INLINE\ =\ CMARK_NODE_TEXT, -\ \ \ \ CMARK_NODE_LAST_INLINE\ \ =\ CMARK_NODE_IMAGE, -}\ cmark_node_type; +int +cmark_node_insert_after(cmark_node\ *node,\ cmark_node\ *sibling); -typedef\ enum\ { -\ \ \ \ CMARK_NO_LIST, -\ \ \ \ CMARK_BULLET_LIST, -\ \ \ \ CMARK_ORDERED_LIST -}\ \ cmark_list_type; -typedef\ enum\ { -\ \ \ \ CMARK_PERIOD_DELIM, -\ \ \ \ CMARK_PAREN_DELIM -}\ cmark_delim_type; +int +cmark_node_prepend_child(cmark_node\ *node,\ cmark_node\ *child); + + +int +cmark_node_append_child(cmark_node\ *node,\ cmark_node\ *child); +\f[] +.fi +.SH PARSING +.IP +.nf +\f[C] +cmark_parser\ *cmark_parser_new(); + + + +void\ cmark_parser_free(cmark_parser\ *parser); + + + +cmark_node\ *cmark_parser_finish(cmark_parser\ *parser); + + + +void\ cmark_parser_push(cmark_parser\ *parser,\ const\ char\ *buffer,\ size_t\ len); + + + +cmark_node\ *cmark_parse_document(const\ char\ *buffer,\ size_t\ len); + + + +cmark_node\ *cmark_parse_file(FILE\ *f); +\f[] +.fi +.SH RENDERING +.IP +.nf +\f[C] +char\ *cmark_render_ast(cmark_node\ *root); + + + +char\ *cmark_render_html(cmark_node\ *root); \f[] .fi .SH AUTHORS .PP -John MacFarlane +John MacFarlane, Vicent Marti, Kārlis Gaņģis, Nick Wellnhofer. -- cgit v1.2.3