- .Dd November 30, 2014
- .Dt cmark 3
- .Sh NAME
- .Nm cmark
- .Nd CommonMark parsing, manipulating, and rendering
- .Sh SIMPLE INTERFACE
- .Bd -literal
- #define CMARK_VERSION "0.1"
- .Ed
- Current version of library.
- .Ft char *
- .Fo cmark_markdown_to_html
- .Fa const char *text
- .Fa int len
- .Fc
- Convert
- .Fa text
- (assumed to be a UTF-8 encoded string with length
- .Fa len )
- from CommonMark Markdown to HTML, returning a null-terminated,
- UTF-8-encoded string.
- .Sh NODE STRUCTURE
- .Bd -literal
- 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,
- /* 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;
- .Ed
- .Bd -literal
- typedef enum {
- CMARK_NO_LIST,
- CMARK_BULLET_LIST,
- CMARK_ORDERED_LIST
- } cmark_list_type;
- .Ed
- .Bd -literal
- typedef enum {
- CMARK_PERIOD_DELIM,
- CMARK_PAREN_DELIM
- } cmark_delim_type;
- .Ed
- .Sh CREATING AND DESTROYING NODES
- .Ft cmark_node*
- .Fo cmark_node_new
- .Fa cmark_node_type type
- .Fc
- .Ft void
- .Fo cmark_node_free
- .Fa cmark_node *node
- .Fc
- .Ft cmark_node*
- .Fo cmark_node_next
- .Fa cmark_node *node
- .Fc
- .Sh TREE TRAVERSAL
- .Ft cmark_node*
- .Fo cmark_node_previous
- .Fa cmark_node *node
- .Fc
- .Ft cmark_node*
- .Fo cmark_node_parent
- .Fa cmark_node *node
- .Fc
- .Ft cmark_node*
- .Fo cmark_node_first_child
- .Fa cmark_node *node
- .Fc
- .Ft cmark_node*
- .Fo cmark_node_last_child
- .Fa cmark_node *node
- .Fc
- .Sh ACCESSORS
- .Ft cmark_node_type
- .Fo cmark_node_get_type
- .Fa cmark_node *node
- .Fc
- .Ft const char*
- .Fo cmark_node_get_string_content
- .Fa cmark_node *node
- .Fc
- .Ft int
- .Fo cmark_node_set_string_content
- .Fa cmark_node *node
- .Fa const char *content
- .Fc
- .Ft int
- .Fo cmark_node_get_header_level
- .Fa cmark_node *node
- .Fc
- .Ft int
- .Fo cmark_node_set_header_level
- .Fa cmark_node *node
- .Fa int level
- .Fc
- .Ft cmark_list_type
- .Fo cmark_node_get_list_type
- .Fa cmark_node *node
- .Fc
- .Ft int
- .Fo cmark_node_set_list_type
- .Fa cmark_node *node
- .Fa cmark_list_type type
- .Fc
- .Ft int
- .Fo cmark_node_get_list_start
- .Fa cmark_node *node
- .Fc
- .Ft int
- .Fo cmark_node_set_list_start
- .Fa cmark_node *node
- .Fa int start
- .Fc
- .Ft int
- .Fo cmark_node_get_list_tight
- .Fa cmark_node *node
- .Fc
- .Ft int
- .Fo cmark_node_set_list_tight
- .Fa cmark_node *node
- .Fa int tight
- .Fc
- .Ft const char*
- .Fo cmark_node_get_fence_info
- .Fa cmark_node *node
- .Fc
- .Ft int
- .Fo cmark_node_set_fence_info
- .Fa cmark_node *node
- .Fa const char *info
- .Fc
- .Ft const char*
- .Fo cmark_node_get_url
- .Fa cmark_node *node
- .Fc
- .Ft int
- .Fo cmark_node_set_url
- .Fa cmark_node *node
- .Fa const char *url
- .Fc
- .Ft const char*
- .Fo cmark_node_get_title
- .Fa cmark_node *node
- .Fc
- .Ft int
- .Fo cmark_node_set_title
- .Fa cmark_node *node
- .Fa const char *title
- .Fc
- .Ft int
- .Fo cmark_node_get_start_line
- .Fa cmark_node *node
- .Fc
- .Ft int
- .Fo cmark_node_get_start_column
- .Fa cmark_node *node
- .Fc
- .Ft int
- .Fo cmark_node_get_end_line
- .Fa cmark_node *node
- .Fc
- .Sh TREE MANIPULATION
- .Ft void
- .Fo cmark_node_unlink
- .Fa cmark_node *node
- .Fc
- .Ft int
- .Fo cmark_node_insert_before
- .Fa cmark_node *node
- .Fa cmark_node *sibling
- .Fc
- .Ft int
- .Fo cmark_node_insert_after
- .Fa cmark_node *node
- .Fa cmark_node *sibling
- .Fc
- .Ft int
- .Fo cmark_node_prepend_child
- .Fa cmark_node *node
- .Fa cmark_node *child
- .Fc
- .Ft int
- .Fo cmark_node_append_child
- .Fa cmark_node *node
- .Fa cmark_node *child
- .Fc
- .Sh PARSING
- .Ft cmark_parser *
- .Fo cmark_parser_new
- .Fa
- .Fc
- .Ft void
- .Fo cmark_parser_free
- .Fa cmark_parser *parser
- .Fc
- .Ft cmark_node *
- .Fo cmark_parser_finish
- .Fa cmark_parser *parser
- .Fc
- .Ft void
- .Fo cmark_parser_feed
- .Fa cmark_parser *parser
- .Fa const char *buffer
- .Fa size_t len
- .Fc
- .Ft cmark_node *
- .Fo cmark_parse_document
- .Fa const char *buffer
- .Fa size_t len
- .Fc
- .Ft cmark_node *
- .Fo cmark_parse_file
- .Fa FILE *f
- .Fc
- .Sh RENDERING
- .Ft char *
- .Fo cmark_render_ast
- .Fa cmark_node *root
- .Fc
- .Ft char *
- .Fo cmark_render_html
- .Fa cmark_node *root
- .Fc
- .Sh AUTHORS
- John MacFarlane, Vicent Marti, Kārlis Gaņģis, Nick Wellnhofer.
|