summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-08-09Make sure every line fed to S_process_line ends with `\n`.John MacFarlane
So `S_process_line` sees only unix style line endings. Closes #72, avoiding mixed line endings. Ultimately we probably want a better solution, allowing the line ending style of the input file to be preserved. This solution forces output with newlines.
2015-08-08Improved cmark_strbuf_normalize_whitespace.John MacFarlane
Now all characters that satisfy cmark_isspace are recognized as whitespace. Previously CR and TAB (and others) weren't included. Partially addresses #73.
2015-08-08Treat line ending with EOF as ending with newline.John MacFarlane
Closes #71. Added a test to api_test.
2015-08-07Removed pre from blocktags scanner.John MacFarlane
See jgm/CommonMark#355. Pre is handled separately in rule 1 and needn't be handled in rule 6.
2015-08-07Fixed `--hardbreaks` with CRLF line breaks.John MacFarlane
Closes #68.
2015-08-06Prefix utf8proc functions to avoid conflict with existing libraryKevin Wojniak
2015-07-27Disallow list item starting with multiple blank lines.John MacFarlane
See jgm/CommonMark#332
2015-07-27Use clang-format, llvm style, for formatting.John MacFarlane
* Reformatted all source files. * Added 'format' target to Makefile. * Removed 'astyle' target. * Updated .editorconfig.
2015-07-25Removed cmark_strbuf_printf and cmark_strbuf_vprintf.John MacFarlane
These are no longer needed, and cause complications for MSVC. Also removed HAVE_VA_COPY and HAVE_C99_SNPRINTF feature tests.
2015-07-25xml renderer - use sprintf to avoid strbuf_sprintf.John MacFarlane
2015-07-25html renderer - use sprintf to avoid strbuf_printf.John MacFarlane
2015-07-25Avoided another use of strbuf_printf.John MacFarlane
2015-07-25commonmark renderer - use regular sprintf for list markers.John MacFarlane
This avoids an allocation and use of strbuf_printf.
2015-07-25Avoid using strbuf_printf when not needed.John MacFarlane
2015-07-16Allow tabs before closing ##s in ATX headerJohn MacFarlane
2015-07-15Set POSITION_INDEPENDENT_CODE ON for static library.John MacFarlane
See discussion in #39.
2015-07-15Improved `make_autolink`.John MacFarlane
Ensures that title is chunk with empty string rather than NULL, as with other links. Avoids "potential memory leak" warning from clang static analyzer (though I couldn't measure one with valgrind).
2015-07-15Use full CMARK_NODE_x instead of NODE_x alias.John MacFarlane
2015-07-14astyle reformatting.John MacFarlane
2015-07-14Limit 'start' to 8 digits to avoid undefined behavior (overflows).John MacFarlane
This should be added to the spec.
2015-07-13Removed assertion that broke debug build.John MacFarlane
2015-07-13Added `CMARK_OPT_SAFE` option and `--safe` command-line flag.John MacFarlane
* Added `CMARK_OPT_SAFE`. This option disables rendering of raw HTML and potentially dangerous links. * Added `--safe` option in command-line program. * Updated `cmark.3` man page. * Added `scan_dangerous_url` to scanners. * In HTML, suppress rendering of raw HTML and potentially dangerous links if `CMARK_OPT_SAFE`. Dangerous URLs are those that begin with `javascript:`, `vbscript:`, `file:`, or `data:` (except for `image/png`, `image/gif`, `image/jpeg`, or `image/webp` mime types). * Added `api_test` for `OPT_CMARK_SAFE`. * Rewrote `README.md` on security.
2015-07-12commonmark renderer - escape !.John MacFarlane
Now all round-trip tests pass.
2015-07-12Fixed scanner for link url.John MacFarlane
re2c returns the longest match, so we were getting bad results with [link](foo\(and\(bar\)\)) which it would parse as containing a bare `\` followed by an in-parens chunk ending with the final paren.
2015-07-12commonmark writer - escape all #'s, not just at beginning of line.John MacFarlane
This is needed for #s at the end of atx headers.
2015-07-12Fixed soft breaks in commonmark writer.John MacFarlane
2015-07-12Small cleanups.John MacFarlane
Moved begin_line setting into render.c, so you don't need to worry about it in outc.
2015-07-12Use cmark_render_code_point in renderers.John MacFarlane
2015-07-12Fixed type on cmark_render_code_point.John MacFarlane
2015-07-12Added cmark_render_code_point.John MacFarlane
2015-07-12latex renderer - simplified using cmark_render_ascii.John MacFarlane
2015-07-12man renderer: Use ASCII not LIT in outc.John MacFarlane
2015-07-12man renderer: Fixed character escaping, use new cmark_render_ascii.John MacFarlane
2015-07-12render: added cmark_render_ascii, to be used in char escapers.John MacFarlane
2015-07-12Added width parameter to render_man.John MacFarlane
Rewrote man.c using new renderer framework.
2015-07-12Removed options field from renderer struct.John MacFarlane
Added options argument to render_node function, and rearrange argument order.
2015-07-12Removed enumlevel field of renderer.John MacFarlane
Now we just calculate this in the latex renderer.
2015-07-12latex: Removed need to access render->in_tight_list_item.John MacFarlane
Also removed unneeded function.
2015-07-12cmark_render: ensure final newline.John MacFarlane
This allows us to remove direct manipulation of buffer from the latex and commonmark renderers.
2015-07-12commonmark renderer - don't need to manually adjust need_cr.John MacFarlane
2015-07-11Fixed some windows warnings.John MacFarlane
2015-07-11Restructured common renderer code.John MacFarlane
* Added functions for cr, blankline, out to renderer object. * Removed lit (we'll handle this with a macro). * Changed type of out so it takes a regular string instead of a chunk. * Use macros LIT, OUT, BLANKLINE, CR in renderers to simplify code. (Not sure about this, but `renderer->out(renderer, ...)` sure is verbose.)
2015-07-11Rename cmark_render_state -> cmark_renderer.John MacFarlane
2015-07-11render: Simplified code, avoiding some allocations.John MacFarlane
2015-07-11Factored out common bits of rendering into separate render module.John MacFarlane
* Added render.c, render.h. * Moved common functions and definitions from latex.c and commonmark.c to render.c, render.h. * Added a wrapper, cmark_render, that creates a renderer given a character-escaper and a node renderer. Closes #63.
2015-07-11Allow non-initial hyphens in html tag names.John MacFarlane
This allows for custom tags, see jgm/CommonMark#239.
2015-07-11Removed debug.h.John MacFarlane
2015-07-11Removed dependence on debug.h.John MacFarlane
(It uses GNU extensions, and we don't need it anyway.)
2015-07-10Updates for new HTML block spec.John MacFarlane
* Rewrote spec for HTML blocks. A few other spec examples also changed as a result. * Removed old `html_block_tag` scanner. Added new `html_block_start` and `html_block_start_7`, as well as `html_block_end_n` for n = 1-5. * Rewrote block parser for new HTML block spec.
2015-07-09Implemented new treatment of dashes with `--smart`.John MacFarlane