summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2014-11-30Rename delimiter_stack to delimiterNick Wellnhofer
The struct actually describes a delimiter. I also find it conceptually much clearer to think of a doubly linked list of delimiters than a stack.
2014-11-29Annotated cmark.h with some markdown headers etc. for man page.John MacFarlane
2014-11-29Merge pull request #227 from nwellnhof/process_emphJohn MacFarlane
Optimize and clarify process_emph
2014-11-29Check for `[` character in `link_label`.John MacFarlane
Closes #226.
2014-11-29Clarify code in insert_emphNick Wellnhofer
2014-11-29Add local variable for closer inlineNick Wellnhofer
2014-11-29Optimize emph insertionNick Wellnhofer
Avoid unnecessary malloc/free if opener is removed.
2014-11-29Remove redundant codeNick Wellnhofer
next/prev pointers are handled by cmark_node_free.
2014-11-29Split process_emphasis into two functionsNick Wellnhofer
Makes the code more readable.
2014-11-29Fix prev pointer of emph->first_childNick Wellnhofer
2014-11-29Push parser interfaceNick Wellnhofer
Replace cmark_parser_process_line with cmark_parser_push that takes arbitrary chunks of data. Also fixes #211.
2014-11-28Framework for using doxygen to generate API docs.John MacFarlane
Added Makefile target for doxygen-generated man page. Added Doxyfile. Added man/man3/cmark.3 (generated by doxygen) to install targets.
2014-11-28Removed cmark_free_nodes from public API.John MacFarlane
Replace it with static S_free_nodes.
2014-11-28Renamed identifiers in public API:John MacFarlane
cmark_doc_parser => cmark_parser cmark_new_doc_parser => cmark_parser_new cmark_free_doc_parser => cmark_parser_free cmark_finish => cmark_parser_finish cmark_process_line => cmark_parser_process_line cmark_node_destroy => cmark_node_free Closes #223.
2014-11-28Clarified logic in remove_delimiter.John MacFarlane
Motivated by warnings from clang static analyzer.
2014-11-28Avoid potential memory leak.John MacFarlane
Previously, if malloc failed to allocate 'newstack', the function would return without freeing 'stack'. Pointed out by clang static analyzer.
2014-11-28Removed unnecessary assignment.John MacFarlane
Clang static analyzer pointed out that the value assigned to 'pos' is never read.
2014-11-28Remove outdated public short name macrosNick Wellnhofer
2014-11-28Always define short name macros for private symbolsNick Wellnhofer
Since chunk.h and buffer.h are private now, there's no need to optionally disable the short name macros.
2014-11-28Use prefixed names for symbols from references.hNick Wellnhofer
2014-11-28Use prefixed names for symbols from inlines.hNick Wellnhofer
2014-11-26Don't allow insert_{before|after} root nodeNick Wellnhofer
This can be changed if support for node lists is added to the public API.
2014-11-25Replaced cmark_debug_print with cmark_render_ast.John MacFarlane
This returns a string.
2014-11-25print.c: use nonrecursive algorithm.John MacFarlane
2014-11-25Use strbuf in print.c.John MacFarlane
This is preliminary to having it return a string.
2014-11-25Replaced print_blocks and print_inlines with print_nodes.John MacFarlane
2014-11-25`print.c` - make `document` node implicit.John MacFarlane
It doesn't add information and just increases the indent level of everything else.
2014-11-25Rename NODE_STRING -> NODE_TEXT.John MacFarlane
In JS, use 'Text' instead of 'Str'. In spec, use "plain textual content" instead of "strings."
2014-11-24Merge pull request #218 from nwellnhof/windows_fixesJohn MacFarlane
Windows fixes
2014-11-24Fix MSVC optionsNick Wellnhofer
Also disable some warnings.
2014-11-24Cast void* for MSVC compatibilityNick Wellnhofer
2014-11-24Validate UTF-8 inputNick Wellnhofer
Invalid UTF-8 byte sequences are replaced with the Unicode replacement character U+FFFD. Fixes #213.
2014-11-24Off-by-one error in utf8proc_detabNick Wellnhofer
2014-11-23Added 'fenced' flag to cmark_code struct, renamed from cmark_fenced_code.John MacFarlane
Technically we could do without this, since we can check for cmark_fence_length > 0. But it makes the code clearer and doesn't really increase the size of the node struct (because the size of the union is set by the data for lists).
2014-11-23Added internal flag to distinguish setext from atx headers.John MacFarlane
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-23Fix segfault on docs without trailing newlineNick Wellnhofer
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-22Fixed #192.John MacFarlane
The C and JS implementations were not registering blank lines after atx headers for purposes of tight/loose list calculation. Exmaple: * item * # block1 ## block2
2014-11-22Updated JS and C implementations for #209.John MacFarlane
A setext header was being treated a if it were a blank line for purposes of tight/loose list determination. Closes #209.
2014-11-22C html renderer: ensure newline before hr or raw html block.John MacFarlane
2014-11-22Fixed #214 C and JS implementations.John MacFarlane
They were gobbling whitespace after shortcut reference links, e.g. [foo] bar [foo]: url Closes #214.
2014-11-22Make parser accept a char*Nick Wellnhofer
2014-11-22Make render_html return a char*Nick Wellnhofer
2014-11-22Stackless HTML renderingNick Wellnhofer
Now that every node has a parent pointer, it's possible to implement the HTML rendering functions without render stacks and any dynamic memory allocations. This commit also adds some minor optimizations that eliminate some strbuf_put* calls for the common case and avoid printf for headers.
2014-11-22Fix debug flagsNick Wellnhofer
2014-11-22Fix and test node_checkNick Wellnhofer