summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-12-29Attempted optimization of cmark_ctype.John MacFarlane
Use a single lookup table for all character types. I'm not sure this actually helps so much.
2014-12-29Renamed a couple variables.John MacFarlane
2014-12-29.travis.yml: install python3 for build.John MacFarlane
2014-12-29Added cmark_ prefix to functions in cmark_ctype.John MacFarlane
2014-12-29Fixed leakcheck for python3.John MacFarlane
2014-12-29Use python3 for bench in Makefile.John MacFarlane
2014-12-29Added cmark_ctype.h with locale-independent isspace, ispunct, etc.John MacFarlane
Otherwise cmark's behavior varies unpredictably with the locale. `is_punctuation` in utf8.h has also been adjusted so that everything that counts all ASCII symbol characters count as punctuation, even though some are not in P* character classes.
2014-12-29spec: Define ascii punctuation character separately.John MacFarlane
That's because some ascii punctuation characters (like `<`) are not in a "P" character class (they are mathematical symbols). They need to be escapable so we'll treat them as "punctuation" here.
2014-12-29Added wrapper3.py (python3 sample wrapper).John MacFarlane
2014-12-29Updated tests to use python3.John MacFarlane
2014-12-29Fixed md2man for python3.John MacFarlane
Partially addresses #254. This change makes make_man_page.py work with either python3 or python2. The test suite is still dependent on python2, and this should be changed, but for now this at least makes a build possible.
2014-12-29Avoid warning about unused options parameter in man writer.John MacFarlane
2014-12-29Make `--sourcepos` affect xml writer too.John MacFarlane
2014-12-29Added options parameter to renderers.John MacFarlane
To keep the API simple and avoid API changes when new options are added, this is just a long integer. Set it by disjoining options that are defined as powers of 2: e.g. `CMARK_HTML_SOURCEPOS | CMARK_HTML_HARDREAKS`. Test options using `&`: `if (options & CMARK_HTML_SOURCEPOS)`. Added `--hardbreaks` and `--sourcepos` command-line options.
2014-12-28Added cmark_node_set_list_delim, cmark_node_get_list_delim.John MacFarlane
Even though this doesn't make a difference in default HTML output, it's worth keeping track; some output formats may allow you to distinguish lists with `1)` and with `1.` delimiters.
2014-12-28Added CMARK_NO_DELIM to cmark_delim_typeJohn MacFarlane
2014-12-28Removed old 'ast' format, now that we have 'xml'.John MacFarlane
The xml representation of the AST is not quite as pretty, but it contains the same information and is not in an ad hoc format. See #53.
2014-12-28Adjust benchmarks for cmark.John MacFarlane
2014-12-28Improved end column/end line calculations in finalize.John MacFarlane
2014-12-28Added end_column to cmark_node struct.John MacFarlane
API exports cmark_node_get_column. XML writer indicates start and end line and column for block-level nodes.
2014-12-28blocks.c - removed unneeded start_line parameter from make_block.John MacFarlane
2014-12-28blocks.c: removed redundant line_number param in finalize.John MacFarlane
Also break_out_of_lists.
2014-12-28Rename CMARK_NODE_LIST_ITEM -> CMARK_NODE_ITEM.John MacFarlane
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-27pathological_tests.py: limit to 65000 reps.John MacFarlane
This is because some versions of python have a limit of N = 65535 in regex `{N}`.
2014-12-27Spec: added example with two blank lines in fenced code in sublist.John MacFarlane
Actually I just tacked this on to the existing Example 170. Closes #180.
2014-12-27Clarify precedence of empty list item over setext header line.John MacFarlane
CLoses #95.
2014-12-27Makefile: Added spec target with check of internal links/anchors.John MacFarlane
2014-12-27spec: Added rule for empty list item.John MacFarlane
Closes #242.
2014-12-27Spec: reworded principle of uniformity for more generality.John MacFarlane
It applies to all container blocks, not just list items.
2014-12-27spec: added another example of unclarity in Markdown syntax description.John MacFarlane
2014-12-27Added pathological tests for nulls in input and nested blockquotes.John MacFarlane
2014-12-27Minor whitespace fixes.John MacFarlane
2014-12-27Fixed shadowing error.John MacFarlane
2014-12-26Updated benchmark for cmark.John MacFarlane
2014-12-26Use python, not python2, as name of python interpreter.John MacFarlane
Partially reverts ba8f2c48b700a466a8cf7097d5f72d43372d4c37. See #251.
2014-12-26Optimized the change in 72a556fd3bd17feaffba2fb6faa8c8f2a3931643.John MacFarlane
Thanks @Knagis.
2014-12-26Revert "Makefile: specify python2 in places where it's needed."John MacFarlane
This reverts commit 2455209cb0051f562bb8d9525951ac902320afeb.
2014-12-25Fixed links to HTML5 spec.John MacFarlane
2014-12-25Fixed some broken anchors in the spec.John MacFarlane
2014-12-25Linkified "whitespace" in spec.John MacFarlane
Closes #108.
2014-12-25Makefile: specify python2 in places where it's needed.John MacFarlane
2014-12-25Updated C parser to handle #252.John MacFarlane
Closes #252.
2014-12-25Added test case for link-in-link-in-image (#252).John MacFarlane
2014-12-25JS: fixed parsing of link-in-link-in-image.John MacFarlane
Partially addresses #252. Still need to: - update C parser. - put an example in the spec.
2014-12-25Fixed infinite loop in JS parser for link-in-link-in-image.John MacFarlane
Partially addresses #252. This fixes the infinite loop, and brings the JS parser into agreement with cmark, but both still have bad output in this case, so more work is needed.
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.