summaryrefslogtreecommitdiff
path: root/man/man3/cmark.3
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2014-11-30 12:14:37 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2014-11-30 12:14:37 -0800
commit75be85f77f02c8185e8fff607bf3ccf3c8fe3a11 (patch)
treec55fa6651047afc37548e570e2bcb57a9cfc9702 /man/man3/cmark.3
parent7686b7dad5c80d494b993158def220aa8b61ac6e (diff)
Create man 3 page without markdown intermediary.
Use proper man style, marking function types, arguments, etc. See #224.
Diffstat (limited to 'man/man3/cmark.3')
-rw-r--r--man/man3/cmark.3428
1 files changed, 268 insertions, 160 deletions
diff --git a/man/man3/cmark.3 b/man/man3/cmark.3
index ded9860..9d24f73 100644
--- a/man/man3/cmark.3
+++ b/man/man3/cmark.3
@@ -1,233 +1,341 @@
-.TH "" "" "" "" ""
-.SH NAME
-.PP
-cmark \- CommonMark parsing, manipulating, and rendering
-.SH SIMPLE INTERFACE
-.IP
-.nf
-\f[C]
-#define\ CMARK_VERSION\ "0.1"
-\f[]
-.fi
-.PP
+.Dd 2014-11-30
+.Dt cmark.h
+.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.
-.IP
-.nf
-\f[C]
-char\ *cmark_markdown_to_html(const\ char\ *text,\ int\ len);
-\f[]
-.fi
-.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]
-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,
+
+.Ft char *
+.Fo cmark_markdown_to_html
+.Fa const char *text, 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 DESTORYING 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
-typedef\ enum\ {
-\ \ \ \ CMARK_NO_LIST,
-\ \ \ \ CMARK_BULLET_LIST,
-\ \ \ \ CMARK_ORDERED_LIST
-}\ \ cmark_list_type;
+.Ft int
+.Fo cmark_node_set_string_content
+.Fa cmark_node *node, const char *content
+.Fc
-typedef\ enum\ {
-\ \ \ \ CMARK_PERIOD_DELIM,
-\ \ \ \ CMARK_PAREN_DELIM
-}\ cmark_delim_type;
-\f[]
-.fi
-.SH CREATING AND DESTORYING NODES
-.IP
-.nf
-\f[C]
-cmark_node*
-cmark_node_new(cmark_node_type\ type);
+.Ft int
+.Fo cmark_node_get_header_level
+.Fa cmark_node *node
+.Fc
-void
-cmark_node_free(cmark_node\ *node);
+.Ft int
+.Fo cmark_node_set_header_level
+.Fa cmark_node *node, int level
+.Fc
-cmark_node*
-cmark_node_next(cmark_node\ *node);
-\f[]
-.fi
-.SH TREE TRAVERSAL
-.IP
-.nf
-\f[C]
-cmark_node*
-cmark_node_previous(cmark_node\ *node);
+.Ft cmark_list_type
+.Fo cmark_node_get_list_type
+.Fa cmark_node *node
+.Fc
-cmark_node*
-cmark_node_parent(cmark_node\ *node);
+.Ft int
+.Fo cmark_node_set_list_type
+.Fa cmark_node *node, cmark_list_type type
+.Fc
-cmark_node*
-cmark_node_first_child(cmark_node\ *node);
+.Ft int
+.Fo cmark_node_get_list_start
+.Fa cmark_node *node
+.Fc
-cmark_node*
-cmark_node_last_child(cmark_node\ *node);
-\f[]
-.fi
-.SH ACCESSORS
-.IP
-.nf
-\f[C]
-cmark_node_type
-cmark_node_get_type(cmark_node\ *node);
+.Ft int
+.Fo cmark_node_set_list_start
+.Fa cmark_node *node, int start
+.Fc
-const\ char*
-cmark_node_get_string_content(cmark_node\ *node);
+.Ft int
+.Fo cmark_node_get_list_tight
+.Fa cmark_node *node
+.Fc
-int
-cmark_node_set_string_content(cmark_node\ *node,\ const\ char\ *content);
+.Ft int
+.Fo cmark_node_set_list_tight
+.Fa cmark_node *node, int tight
+.Fc
-int
-cmark_node_get_header_level(cmark_node\ *node);
+.Ft const char*
+.Fo cmark_node_get_fence_info
+.Fa cmark_node *node
+.Fc
-int
-cmark_node_set_header_level(cmark_node\ *node,\ int\ level);
+.Ft int
+.Fo cmark_node_set_fence_info
+.Fa cmark_node *node, const char *info
+.Fc
-cmark_list_type
-cmark_node_get_list_type(cmark_node\ *node);
+.Ft const char*
+.Fo cmark_node_get_url
+.Fa cmark_node *node
+.Fc
-int
-cmark_node_set_list_type(cmark_node\ *node,\ cmark_list_type\ type);
+.Ft int
+.Fo cmark_node_set_url
+.Fa cmark_node *node, const char *url
+.Fc
-int
-cmark_node_get_list_start(cmark_node\ *node);
+.Ft const char*
+.Fo cmark_node_get_title
+.Fa cmark_node *node
+.Fc
-int
-cmark_node_set_list_start(cmark_node\ *node,\ int\ start);
+.Ft int
+.Fo cmark_node_set_title
+.Fa cmark_node *node, const char *title
+.Fc
-int
-cmark_node_get_list_tight(cmark_node\ *node);
+.Ft int
+.Fo cmark_node_get_start_line
+.Fa cmark_node *node
+.Fc
-int
-cmark_node_set_list_tight(cmark_node\ *node,\ int\ tight);
+.Ft int
+.Fo cmark_node_get_start_column
+.Fa cmark_node *node
+.Fc
-const\ char*
-cmark_node_get_fence_info(cmark_node\ *node);
+.Ft int
+.Fo cmark_node_get_end_line
+.Fa cmark_node *node
+.Fc
-int
-cmark_node_set_fence_info(cmark_node\ *node,\ const\ char\ *info);
+.Sh TREE MANIPULATION
-const\ char*
-cmark_node_get_url(cmark_node\ *node);
+.Ft void
+.Fo cmark_node_unlink
+.Fa cmark_node *node
+.Fc
-int
-cmark_node_set_url(cmark_node\ *node,\ const\ char\ *url);
+.Ft int
+.Fo cmark_node_insert_before
+.Fa cmark_node *node, cmark_node *sibling
+.Fc
-const\ char*
-cmark_node_get_title(cmark_node\ *node);
+.Ft int
+.Fo cmark_node_insert_after
+.Fa cmark_node *node, cmark_node *sibling
+.Fc
-int
-cmark_node_set_title(cmark_node\ *node,\ const\ char\ *title);
+.Ft int
+.Fo cmark_node_prepend_child
+.Fa cmark_node *node, cmark_node *child
+.Fc
-int
-cmark_node_get_start_line(cmark_node\ *node);
+.Ft int
+.Fo cmark_node_append_child
+.Fa cmark_node *node, cmark_node *child
+.Fc
-int
-cmark_node_get_start_column(cmark_node\ *node);
+.Sh PARSING
-int
-cmark_node_get_end_line(cmark_node\ *node);
-\f[]
-.fi
-.SH TREE MANIPULATION
-.IP
-.nf
-\f[C]
-void
-cmark_node_unlink(cmark_node\ *node);
+.Ft cmark_parser *
+.Fo cmark_parser_new
+.Fa
+.Fc
-int
-cmark_node_insert_before(cmark_node\ *node,\ cmark_node\ *sibling);
+.Ft void
+.Fo cmark_parser_free
+.Fa cmark_parser *parser
+.Fc
-int
-cmark_node_insert_after(cmark_node\ *node,\ cmark_node\ *sibling);
+.Ft cmark_node *
+.Fo cmark_parser_finish
+.Fa cmark_parser *parser
+.Fc
-int
-cmark_node_prepend_child(cmark_node\ *node,\ cmark_node\ *child);
+.Ft void
+.Fo cmark_parser_feed
+.Fa cmark_parser *parser, const char *buffer, size_t len
+.Fc
-int
-cmark_node_append_child(cmark_node\ *node,\ cmark_node\ *child);
-\f[]
-.fi
-.SH PARSING
-.IP
-.nf
-\f[C]
-cmark_parser\ *cmark_parser_new();
+.Ft cmark_node *
+.Fo cmark_parse_document
+.Fa const char *buffer, size_t len
+.Fc
-void\ cmark_parser_free(cmark_parser\ *parser);
+.Ft cmark_node *
+.Fo cmark_parse_file
+.Fa FILE *f
+.Fc
-cmark_node\ *cmark_parser_finish(cmark_parser\ *parser);
+.Sh RENDERING
-void\ cmark_parser_feed(cmark_parser\ *parser,\ const\ char\ *buffer,\ size_t\ len);
+.Ft char *
+.Fo cmark_render_ast
+.Fa cmark_node *root
+.Fc
-cmark_node\ *cmark_parse_document(const\ char\ *buffer,\ size_t\ len);
+.Ft char *
+.Fo cmark_render_html
+.Fa cmark_node *root
+.Fc
-cmark_node\ *cmark_parse_file(FILE\ *f);
-\f[]
-.fi
-.SH RENDERING
-.IP
-.nf
-\f[C]
-char\ *cmark_render_ast(cmark_node\ *root);
+.Sh AUTHORS
+John MacFarlane, Vicent Marti, Kārlis Gaņģis, Nick Wellnhofer.
-char\ *cmark_render_html(cmark_node\ *root);
-\f[]
-.fi
-.SH AUTHORS
-.PP
-John MacFarlane, Vicent Marti, Kārlis Gaņģis, Nick Wellnhofer.