aboutsummaryrefslogtreecommitdiff
path: root/js/lib
AgeCommit message (Collapse)Author
2015-01-10Another "test before replace" optimization.John MacFarlane
2015-01-10Small performance optimization in dealing with final newline.John MacFarlane
2015-01-10HTML renderer: Test for characters that need escaping before substituting.John MacFarlane
2015-01-10More HTML rendering efficiency improvements.John MacFarlane
2015-01-10Don't use array buffer in HTML rendering.John MacFarlane
Use straight string `+=` instead. This is supposedly faster in browsers other than IE 7.
2015-01-10Reordered some definitions, so regex is defined before being used.John MacFarlane
2015-01-10Made Node a local variable.John MacFarlane
2015-01-10Made NodeWalker a regular function returning an object.John MacFarlane
2015-01-10Removed unnec. comment.John MacFarlane
2015-01-10Regex optimizations in inlines.js.John MacFarlane
2015-01-10Regex optimizations in blocks.js.John MacFarlane
2015-01-09Moved more regexes into variables.John MacFarlane
2015-01-09Put backtick regexes in variables.John MacFarlane
2015-01-09Removed redundant condition.John MacFarlane
2015-01-09Removed a redundant condition.John MacFarlane
2015-01-09Use a switch instead of if-then-else.John MacFarlane
2015-01-09Small optimization.John MacFarlane
2015-01-09JS linter improvements.John MacFarlane
2015-01-09Improved unescapeString performance.John MacFarlane
2015-01-09Improved newline parsing efficiency.John MacFarlane
Don't check for `\n` when we know we have one. Gobble spaces after line break.
2015-01-09Put limit on AST display as string.John MacFarlane
(AST itself has no nesting limits. BUt this prevents a crash due to recursion in util.inspect.) See #272.
2015-01-09Non-recursive version of toAST().John MacFarlane
Closes #272.
2015-01-09Updated renderAST in lib.John MacFarlane
2015-01-09JS: Renamed 'c' property to 'literal' to match libcmark.John MacFarlane
2015-01-09Added options to render, implemented sourcepos option.John MacFarlane
This adds data-sourcepos attributes on block-level tags in the HTML output. Also added `--sourcepos` command-line option to `js/bin/commonmark`.
2015-01-09JS: sourceloc -> sourcepos for confirmity with cmark.John MacFarlane
2015-01-09Replaced 'pos' with 'sourceloc', making it an array.John MacFarlane
This is a more compact representation.
2015-01-09Added end column position to pos for blocks.John MacFarlane
2015-01-09JS: Improved end lines.John MacFarlane
Closes #276.
2015-01-09Don't include string_content in output of toAST().John MacFarlane
2015-01-09JS: use c rather than string_content property for code blocks, html.John MacFarlane
string_content is just for the raw string content that will be parsed as inlines, not for the 'real' content of the block element.
2015-01-09Rewrote HTML escaping for big performance gain.John MacFarlane
2015-01-09Comment fix.John MacFarlane
2015-01-09Simplified reMain for more performance gains.John MacFarlane
2015-01-09Simplified reMain, with AST manipulation for 2-space hardbreak.John MacFarlane
Small performance improvement.
2015-01-09Don't initialize strings, string_content to defined value.John MacFarlane
2015-01-09Made `tight` a property of `list_data`.John MacFarlane
2015-01-09Initialize more properties of Node. Even better performance!John MacFarlane
2015-01-09Initialize more fields in Node. Better performance.John MacFarlane
2015-01-09Initialize more fields in Node.John MacFarlane
This helps with performance.
2015-01-09Removed makeBlock. Use new Node directly. Initialize more fields.John MacFarlane
2015-01-09JS: replace NUL characters with U+FFFD, as per spec.John MacFarlane
2015-01-09More JS linter fixes.John MacFarlane
2015-01-09JS linter improvements.John MacFarlane
(Note: this is helping performance. We have regained everything we lost with the last major change, and more.)
2015-01-09Rename js/lib/html-renderer.js -> js/lib/html.js.John MacFarlane
2015-01-09JS linter cleanups.John MacFarlane
2015-01-09Use linked list instead of arrays for AST.John MacFarlane
Use the same doubly linked node structure that cmark uses. The primary advantages of this change are (a) simplified code, especially in the renderers, and (b) elimination of the need for recursion, so we can render deeply-nested structures without a stack overflow. A node walker has also been added, for easy AST traversal. * Added js/lib/node.js for nodes. Includes a node walker. * All modules updated to use node structures. * Regularized position information into pos property. * Performance is slightly worse than before, but only marginally, and no doubt there are more optimizations that can be done.
2015-01-07js: Use children instead of inline_content for Paragraph.John MacFarlane
2015-01-07js: Use children rather than 'c' for Emph and Strong contents.John MacFarlane
Now we use 'children' uniformly, in both inlines and blocks, for child nodes.
2015-01-07js: Changed 'label' in Link, Image to 'children'.John MacFarlane
This matches the C impl. Also removed an unused property.