summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
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
2015-07-07Fixed compiler warnings.John MacFarlane
2015-07-06Use sprintf rather than snprintf because we know it won't overflow.John MacFarlane
A rendered int can't be 20 digits.
2015-07-05Another try at getting snprintf part to compile on Windows.John MacFarlane
2015-07-05Fixed typo in Windows fix.John MacFarlane
2015-07-05LaTeX writer: fixed some compile errors on MSVC.John MacFarlane
2015-07-05LaTeX writer: Fixed straight single, double quote.John MacFarlane
Added comments about required packages.
2015-07-05LaTeX renderer: \textbf for strong.John MacFarlane
2015-07-05astyle formatting improvements.John MacFarlane
2015-07-05Added LaTeX renderer.John MacFarlane
* New exported function in API: `cmark_render_latex`. * Added src/latex.hs. * Updated README and man page. * Closes #31.
2015-07-05commonmark writer: correctly handle email autolinks.John MacFarlane
2015-07-03Use utf-8 aware re2c.John MacFarlane
2015-07-01html renderer: properly split info on first space char.John MacFarlane
See jgm/commonmark.js#54.
2015-06-25Changed version variables to functions.Andrius Bentkus
This is easier to access using ffi, since some languages, like C# like to use only function interfaces for accessing library functionality. fixes #60
2015-06-18process_emphasis: Fixed setting lower bound to potential openers.John MacFarlane
2015-06-18Rename potential_openers -> openers_bottom.John MacFarlane
2015-06-18Rename start_delim -> stack_bottom.John MacFarlane
2015-06-18Minor astyle reformatting.John MacFarlane
2015-06-17Fixed emphasis/link parsing bug.John MacFarlane
Closes #59.
2015-06-17Fixed off-by-one error in line splitting routine.John MacFarlane
This caused certain NULLs not to be replaced. Found my 'make fuzztest'.
2015-06-17Added assertion to peek_char to catch any stray NULLs.John MacFarlane
Note that our current procedure for removing nulls is not working properly.
2015-06-17Renamed entities.h -> entities.inc.John MacFarlane
Also tools/make_entities_h.py -> tools/make_entitis_inc.py.