aboutsummaryrefslogtreecommitdiff
path: root/src/cmark.h
AgeCommit message (Collapse)Author
2014-11-23Do not distinguish btw fenced and indented code in AST.John MacFarlane
Use a single CMARK_NODE_CODE_BLOCK tag for both. Distinguish them when needed for parsing by looking at the fence_length attribute, which is 0 for indented blocks.
2014-11-23Revert "Revert "Remove distinction btw atx and setext header in AST.""John MacFarlane
This reverts commit 4570eb2bff2e1b71fa5b6408abbc69c98ff5ff24.
2014-11-22Revert "Remove distinction btw atx and setext header in AST."John MacFarlane
This reverts commit a71423f6ee1b77d9f79d42599ea00b4ca99f5da0. Not quite sure about this change, so reverting for now. Note that we still have a distinction between fenced and indented code blocks in the AST. These two distinctions seem to stand or fall together.
2014-11-22Remove distinction btw atx and setext header in AST.John MacFarlane
Now we just have 'header' -- Setext and ATX are just two ways of forming these; it's not a semantic difference that should remain in the AST.
2014-11-22Renamed NODE_BQUOTE -> NODE_BLOCK_QUOTE.John MacFarlane
2014-11-22Make parser accept a char*Nick Wellnhofer
2014-11-22Make render_html return a char*Nick Wellnhofer
2014-11-19Accessors for start_line, start_column, end_lineNick Wellnhofer
These are read-only as they're only metadata returned by the parser.
2014-11-19Accessors for link titlesNick Wellnhofer
2014-11-19Accessors for fence infoNick Wellnhofer
Only fence info should be relevant for rendering. Accessors for other fenced code data could be added for completeness but they don't seem very useful.
2014-11-19Accessors for list dataNick Wellnhofer
Only 'list_type', 'start', and 'tight' should be relevant for rendering. Accessors for other list data could be added for completeness but they don't seem very useful.
2014-11-19Accessors for header levelNick Wellnhofer
2014-11-19Rename {get|set}_content to {get|set}_string_contentNick Wellnhofer
2014-11-19Add cmark_node_insert_after to cmark.hNick Wellnhofer
Fix copy/paste error.
2014-11-18Add node constructor and accessors to the public APINick Wellnhofer
The approach I'm taking is to copy inline literals internally to NULL-terminated C strings if requested by an accessor. This allows to return a 'const char *' that doesn't have to be freed by the caller.
2014-11-17Store link labels as children in tree structureNick Wellnhofer
2014-11-17Move public stuff from node.h to cmark.hNick Wellnhofer
2014-11-17Remove old node_block and node_inlNick Wellnhofer
2014-11-17Switch cmark_node_inl over to cmark_nodeNick Wellnhofer
2014-11-17Switch cmark_node_block over to cmark_nodeNick Wellnhofer
2014-11-16Added some basic functions for traversing/editing blocks in AST.John MacFarlane
2014-11-16Export enums for inline, block types, list and list delim types.John MacFarlane
Also switched from `bullet`, `ordered`, `parens`, `period` to `CMARK_BULLET_LIST`, `CMARK_ORDERED_LIST`, `CMARK_PAREN_DELIM`, `CMARK_PERIOD_DELIM`.
2014-11-16Moved MAX_LINK_LABEL_LENGTH out of public header.John MacFarlane
Put it in ast.h.
2014-11-16Removed CMARK_CODE_INDENT, CODE_INDENT from public header.John MacFarlane
Now it's in blocks.c, the only module that uses it.
2014-11-16We don't need to include stdbool in the public header.John MacFarlane
2014-11-16Moved inline/block-making functions to ast.h.John MacFarlane
Now we no longer depend on buffer.h or chunk.h in the public API. Install cmark.h and cmark_export.h into PREFIX/include instead of PREFIX/include/cmark.
2014-11-16cmark_render_html now just returns a regular C string.John MacFarlane
This way, we don't have to expose buffer.h; it is just used internally.
2014-11-16Moved AST details from public header cmark.h to private ast.h.John MacFarlane
2014-11-16Rename include guards for consistency and to avoid reserved identifiersCraig Barnes
2014-11-15Don't expose append_inlines.John MacFarlane
2014-11-15Expose lower-level parsing API.John MacFarlane
The new functions cmark_new_doc_parser, cmark_free_doc_parser, cmark_process_line, and cmark_finish allow you to feed lines one by one (possibly from several files) to the parser and call finish when you're done. This is now used in main for mulitple files.
2014-11-14Use cmake's generate_export_header.John MacFarlane
2014-11-13Added cmark_append_blocks, exposed more functions.John MacFarlane
2014-11-13Removed ast modules, moved these defs back to cmark.h.John MacFarlane
2014-11-13Make basic functions in cmark.h visible.John MacFarlane
2014-11-13Added ast.[c,h] for AST definitions and AST-manipulating functions.John MacFarlane
2014-11-12Prefix names in cmark.hNick Wellnhofer
2014-11-12Prefix names in references.hNick Wellnhofer
2014-11-12Prefix names in chunk.hNick Wellnhofer
2014-11-12Prefix names in buffer.hNick Wellnhofer
2014-11-11Improved cmark_markdown_to_html.John MacFarlane
Added length parameter so we can avoid strlen. Properly free buffer.
2014-11-11Added cmark_markdown_to_html with a simple interface.John MacFarlane
See #70.
2014-11-11Added macro def needed for cpp.John MacFarlane
2014-11-10Define _CMARK_H_ instead of _STDMD_H_.John MacFarlane
2014-11-09Added MAX_LINK_LABEL_LENGTH to cmark.h.John MacFarlane
Use in link label parsing and reference lookup.
2014-11-05Removed stack limits in inline parsing.John MacFarlane
This brings back segfaults, but we're now aiming for a better solution, revising the renderer so it doesn't use recursion, and using a stack approach for nested brackets. Removing these limits will allow us to know when we've got it right. See #166, #187.
2014-10-28Changed EMPHASIS_STACK_LIMIT -> STACK_LIMIT.John MacFarlane
We'll also use it in parsing bracketed link labels.
2014-10-26Add EMPHASIS_STACK_LIMIT.John MacFarlane
If we get more than 1000 deep in potential emphasis/strong emphasis openers, we refuse to add more to the stack. This prevents the sort of stack overflow we previously got with python -c 'print "*a **a " * 100000; print " a** a*" * 100000' | ./cmark Partially addresses #166.
2014-10-24Renamed c program and library stmd -> cmark.John MacFarlane
Also renamed internal library functions accordingly.