summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2014-12-28Revamped xml writer and dtd to use lowercase element names.John MacFarlane
2014-12-28Rename cmark_node_type_string -> cmark_node_get_type_string.John MacFarlane
And export in cmark.h public header. Also, use lowercase names, not uppercase.
2014-12-28Added xml writer, to dump the AST in XML.John MacFarlane
This is a work-in-progress. CommonMark.dtd gives the DTD for the generated XML. Closes #53.
2014-12-28Expose cmark_node_type_string in node.h (private header).John MacFarlane
Previously was static function S_type_string.
2014-12-26Optimized the change in 72a556fd3bd17feaffba2fb6faa8c8f2a3931643.John MacFarlane
Thanks @Knagis.
2014-12-25Updated C parser to handle #252.John MacFarlane
Closes #252.
2014-12-25Improved rules for emphasis and strong emphasis.John MacFarlane
This improves parsing of emphasis around punctuation. Background: http://talk.commonmark.org/t/emphasis-inside-strong-broken-in-js-implementation-when-parenthesis-involved/903/6 The basic idea of the change is that if the delimiter is part of a delimiter clump that has punctuation to the left and a normal character (non-space, non-punctuation) to the right, it can only be an opener. If it has punctuation to the right and a normal character (non-space, non-punctuation) to the left, it can only be a closer. This handles cases like **Gomphocarpus (*Gomphocarpus physocarpus*, syn. *Asclepias physocarpa*)** and **foo "*bar*" foo** better than before. The spec section on Emphasis and Strong Emphasis has been extensively revised. The C and JS implementations have been brought up to date, and all tests pass.
2014-12-16scanners.re: use cmark_chunk rather than chunk.John MacFarlane
2014-12-16Added 'literal' field to 'code' struct.John MacFarlane
In the last few commits we were using as.code.fenced and as.literal at the same time for NODE_CODE_BLOCK, which obviously led to problems.
2014-12-16HTML writer: fixed bug in detection of fenced code blocks.John MacFarlane
2014-12-16print: print fenced and fence_length for code blocks.John MacFarlane
2014-12-15Re-added cmark_ prefix to strbuf and chunk.John MacFarlane
Reverts 225d720.
2014-12-14Added comment.John MacFarlane
2014-12-14Use UTF-8 sensitive functions to check for spaces around emph markers.John MacFarlane
2014-12-14Rename get/set_string_content -> get/set_literal.John MacFarlane
2014-12-14Use cmark_iter to avoid stack allocation in process_inlines.John MacFarlane
2014-12-14man writer: use chunk literal in code blocks.John MacFarlane
2014-12-14Added GNU profiler flags to debug build.John MacFarlane
2014-12-14Use chunk for fenced code info, instead of strbuf.John MacFarlane
2014-12-14Use as.literal instead of string_content for HTML and code blocks.John MacFarlane
This is for consistency with the other types of nodes that have literal strings as contents.
2014-12-14Added empty clauses for DOCUMENT node to html and man writers.John MacFarlane
For completeness.
2014-12-14Rename CMARK_NODE_INLINE_CODE -> CMARK_NODE_CODE.John MacFarlane
2014-12-13Added API documentation to src/cmark.h. Closes #224.John MacFarlane
2014-12-13Removed cmark_node_handler - it was used by cmark_walk, now deleted.John MacFarlane
2014-12-13Write API docs in cmark.h using markdown.John MacFarlane
`man/make_man_page.py` now converts using cmark.
2014-12-13Added cmark_render_man (man page writer).John MacFarlane
cmark: Replaced `--man` and `--ast` with generic `--to` option.
2014-12-13Added iterator interface to API, removed cmark_walk.John MacFarlane
* Added `iterator.c`, `iterator.h`. * Removed `cmark_walk`. * Replaced `cmark_walk` with iterator in HTML renderer. * Replaced API test for `cmark_walk` with simple iterator test.
2014-12-13API improvements: cmark_event_type parameter for walk handlers.John MacFarlane
Added cmark_event_type enum, which is used as the second parameter of the handler passed to cmark_walk. See #224.
2014-12-13Remove CMARK_NODE_REFERENCE_DEF from API.John MacFarlane
Modified finalize in blocks.c to return parent of finalized block, so we can handle the case of reference definitions, when we simply remove the finalized block.
2014-12-13Removed cmark_ prefix on chunk and strbuf.John MacFarlane
This isn't needed any more since we don't expose these in the API.
2014-12-12Revert "Removed CMARK_NODE_REFERENCE_DEF from API."John MacFarlane
This reverts commit b598b52a4acdc2332be3d34e30237d1b93b7dd03. The change led to some problems, because some of the callers of 'finalize' expected the node to exist after the call. This could all be rewritten, but for now let's just revert.
2014-12-12Rudimentary documentation for cmark_walk.John MacFarlane
2014-12-12Removed CMARK_NODE_REFERENCE_DEF from API.John MacFarlane
There's no reason to store these empty nodes in the API. The references have already been resolved.
2014-12-12Rewrote HTML renderer using cmark_walk.John MacFarlane
This version is shorter, more readable, and more regular. It should serve as a template for creating new writers. Performance is the same. All tests pass.
2014-12-12Added cmark_node_handler and cmark_walk to header.John MacFarlane
2014-12-08Merge pull request #238 from nwellnhof/fix_warningsJohn MacFarlane
Fix warnings
2014-12-08Compile with -WextraNick Wellnhofer
2014-12-08Fix last_line_blank logicNick Wellnhofer
The broken last_line_blank logic could lead to random failures in the API tests.
2014-12-08Create html_unescape.h with extra struct initializersNick Wellnhofer
Fixes missing initializer warnings.
2014-12-05Revert "API change: Add cmark_node_set_type for completeness."John MacFarlane
This reverts commit 6c1f76a8a22f6c84231e5101f0950ce353ec8075.
2014-12-05API change: Add cmark_node_set_type for completeness.John MacFarlane
2014-12-05node.c: Make sure no functions segfault if passed null pointers.John MacFarlane
2014-12-05Changed CMARK_NODE_NONE from -1 to 0.John MacFarlane
This is more consistent with CMARK_LIST_NONE, etc.
2014-12-05Added CMARK_NODE_TYPE_NONE.John MacFarlane
This is the return value of cmark_get_node_type when the argument is a null pointer. Avoids segfault.
2014-12-04Added "chunk.h" include to scanners.h.John MacFarlane
2014-12-04Moved source files from src/html into src.John MacFarlane
The separate directory presents problems for some simple extension building systems, like luarocks.
2014-12-04Create pkg-config file as part of build procedure.John MacFarlane
Closes #234.
2014-12-02Fix EOF detectionNick Wellnhofer
Fixes issue with Ctrl-D having to be pressed twice when reading from terminal.
2014-12-01Added src/scanners.c to repository.John MacFarlane
This reduces build dependencies and should help avoid issues like
2014-12-01Use `--no-generation-date` with `re2c`.John MacFarlane