Age | Commit message (Collapse) | Author | |
---|---|---|---|
2014-11-24 | Cast void* for MSVC compatibility | Nick Wellnhofer | |
2014-11-24 | Validate UTF-8 input | Nick Wellnhofer | |
Invalid UTF-8 byte sequences are replaced with the Unicode replacement character U+FFFD. Fixes #213. | |||
2014-11-24 | Off-by-one error in utf8proc_detab | Nick Wellnhofer | |
2014-11-23 | Added '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-23 | Added internal flag to distinguish setext from atx headers. | John MacFarlane | |
2014-11-23 | Do 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-23 | Revert "Revert "Remove distinction btw atx and setext header in AST."" | John MacFarlane | |
This reverts commit 4570eb2bff2e1b71fa5b6408abbc69c98ff5ff24. | |||
2014-11-23 | Fix segfault on docs without trailing newline | Nick Wellnhofer | |
2014-11-22 | Revert "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-22 | Remove 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-22 | Renamed NODE_BQUOTE -> NODE_BLOCK_QUOTE. | John MacFarlane | |
2014-11-22 | Fixed #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-22 | Updated 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-22 | C html renderer: ensure newline before hr or raw html block. | John MacFarlane | |
2014-11-22 | Fixed #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-22 | Make parser accept a char* | Nick Wellnhofer | |
2014-11-22 | Make render_html return a char* | Nick Wellnhofer | |
2014-11-22 | Stackless HTML rendering | Nick 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-22 | Fix debug flags | Nick Wellnhofer | |
2014-11-22 | Fix and test node_check | Nick Wellnhofer | |
2014-11-22 | Set defaults for new headers and lists | Nick Wellnhofer | |
2014-11-22 | More tree hierarchy checks and tests | Nick Wellnhofer | |
2014-11-21 | html: Simplified render_stack code. | John MacFarlane | |
Now that we have just one node type, it is not necessary to have two separate 'push' functions. | |||
2014-11-20 | Added utf8proc_is_space. | John MacFarlane | |
2014-11-20 | Added utf8proc_is_punctuation. | John MacFarlane | |
We'll probably need this when the spec for emph/strong gets revised. | |||
2014-11-19 | Merge pull request #208 from nwellnhof/more_accessors_and_tests | John MacFarlane | |
More accessors and tests | |||
2014-11-19 | cmark: Add space before '/' in img tag. | John MacFarlane | |
2014-11-19 | Input validation for setters | Nick Wellnhofer | |
2014-11-19 | Fix {get|set}_string_content | Nick Wellnhofer | |
2014-11-19 | Accessors for start_line, start_column, end_line | Nick Wellnhofer | |
These are read-only as they're only metadata returned by the parser. | |||
2014-11-19 | Accessors for link titles | Nick Wellnhofer | |
2014-11-19 | Accessors for fence info | Nick 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-19 | Accessors for list data | Nick 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-19 | Accessors for header level | Nick Wellnhofer | |
2014-11-19 | Accessors for string content of code and HTML blocks | Nick Wellnhofer | |
2014-11-19 | Rename {get|set}_content to {get|set}_string_content | Nick Wellnhofer | |
2014-11-19 | Add cmark_node_insert_after to cmark.h | Nick Wellnhofer | |
Fix copy/paste error. | |||
2014-11-18 | Start with tests for the C API | Nick Wellnhofer | |
The C API tests can be run individually via build/api_test/api_test Or together with the spec tests via cmake --build build --target test | |||
2014-11-18 | Add node constructor and accessors to the public API | Nick 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-18 | Make render_html support nodes with no children | Nick Wellnhofer | |
For empty inline nodes like EMPH, the parser always creates a child containing an empty string. Using the tree manipulation API, nodes with no children can be created. Adjust render_html to cope. | |||
2014-11-18 | Initialize all fields in node when creating inlines. | John MacFarlane | |
2014-11-18 | html: Removed union from RenderStack. | John MacFarlane | |
It doesn't make sense to have a union here, and this simplifies the code. | |||
2014-11-18 | Improve output of tree integrity check | Nick Wellnhofer | |
2014-11-17 | Make sure the emph inline added in process_emphasis has a parent. | John MacFarlane | |
2014-11-17 | Set CMARK_DEBUG_NODES for debug builds. | John MacFarlane | |
2014-11-17 | Make parse_inlines add directly to parent. | John MacFarlane | |
Previously parse_inlines returned a list of parsed inlines. This had to be added to the parent, and fix_parents had to be called to manually add the 'parent' links to the children, and the 'last_child' link to the parent. Now parse_inlines takes the parent block as a parameter, and uses cmark_node_append_child to add the children, so that the pointers should be properly managed. This avoids the need for the fix_parents pass. | |||
2014-11-17 | Set last_child and parent in make_link | Nick Wellnhofer | |
2014-11-17 | Store link labels as children in tree structure | Nick Wellnhofer | |
2014-11-17 | Set prev, parent and last_child for inlines | Nick Wellnhofer | |
2014-11-17 | Move cmark_free_nodes to node.c | Nick Wellnhofer | |