aboutsummaryrefslogtreecommitdiff
path: root/js/lib
AgeCommit message (Collapse)Author
2015-01-20Fixed escaping error in CDATA regex.John MacFarlane
Caught by sjs! This also improves performance measurably.
2015-01-18html.js - explicitly specify second parameter of escapeXml.John MacFarlane
2015-01-18Changed rule for `_` emphasis and strong emphasis.John MacFarlane
To prevent intra-word emphasis, we used to check to see if the delimiter was followed/preceded by an ASCII alphanumeric. We now do something more elegant: whereas an opening `*` must be left-flanking, an opening `_` must be left-flanking *and not right-flanking*. And so on for the other cases. All the original tests passed except some tests with Russian text with internal `_`, which formerly created emphasis but no longer do with the new rule. These tests have been adjusted. A few new test cases have been added to illustrate the rule. The C and JS implementations have both been updated.
2015-01-17Renamed DocParser -> Parser.John MacFarlane
Note: library users should update their code or it will break.
2015-01-17Reverted addition of offset property to DocParser.John MacFarlane
Also reverted subtraction of offset param from addLine.
2015-01-17Moved place where we increment line number.John MacFarlane
2015-01-17Removed a check in addLine.John MacFarlane
2015-01-17addLine: use this.offset; removed offset parameter.John MacFarlane
2015-01-17Added offset property to DocParser.John MacFarlane
2015-01-17Moved check for closing fence to close-block-check section.John MacFarlane
This is a more logical arrangement.
2015-01-17Minor code simplification.John MacFarlane
2015-01-17Performance optimization - avoid repeating scan for nonspace.John MacFarlane
2015-01-17Slightly adjusted performance optimization in new block starts.John MacFarlane
2015-01-17Fixed linter errors.John MacFarlane
2015-01-17Minor code cleanup.John MacFarlane
2015-01-16Defer closing of fenced code blocks.John MacFarlane
Instead of closing a fenced code block when we see the closing fence, we set fenceLength to -1, which then signals the code that checks for block enders that it is time to close the block. This allows us to process a blank line after the fenced code and set _lastLineBlank appropriately. Addresses #285 for JS implementation.
2015-01-16Removed unnecessary setting of default tight=true in finalize.John MacFarlane
We do that when the listData object is initialized.
2015-01-16Check for blank line before checking indent in Item.John MacFarlane
2015-01-16Rename bullet_char -> bulletChar.John MacFarlane
2015-01-15Provide getters and setters for public properties of Node.John MacFarlane
Everything else gets a name starting with an underscore and will be considered private. This will allow us to keep the API stable while changing the underlying data structure. And it will avoid exposing properties that have only an instrumental value in parsing.
2015-01-15Rename sourcepos -> _sourcepos, added sourcepos() accessor.John MacFarlane
2015-01-15Removed Node.toObject().John MacFarlane
2015-01-15Renamed .t to ._type to mark it as "hidden."John MacFarlane
2015-01-15Removed setType(), replaced getType() with type().John MacFarlane
2015-01-15eslint fixes.John MacFarlane
2015-01-15normalize-reference.js: disable eslint spacing warnings.John MacFarlane
2015-01-15Removed vestigial ReferenceDef node type.John MacFarlane
2015-01-15Added getType(), setType() to node.js.John MacFarlane
Use these instead of direct property access. This is the first step in a general move towards an API like the one libcmark has. This will allow us to have a stable API that is independent of details of the AST.
2015-01-15Removed artificial distinction btw FencedCode, IndentedCodeJohn MacFarlane
in blocks.js.
2015-01-15Added normalize-reference.js.John MacFarlane
This does a proper unicode case fold instead of just using toUpperCase. It is also faster, partly because we can do one pass for space and case normalization. Modified from the NPM package fold-case; proper credit given in source and COPYING.
2015-01-14Slightly more efficient test for lazy continuation.John MacFarlane
2015-01-13Removed an implicit cast in node.js 'next'.John MacFarlane
2015-01-13Initialize fields in objects to null rather than undefined.John MacFarlane
Big speed boost.
2015-01-13blocks.js - avoid an implicit boolean cast.John MacFarlane
2015-01-13Simplified some of the new-block-start logic.John MacFarlane
2015-01-13Assign marker_offset to list data at initialization.John MacFarlane
2015-01-13last_matched_container -> lastMatchedContainer.John MacFarlane
2015-01-13Ensure that closeUnmatchedBlocks is not called unnecessarily.John MacFarlane
2015-01-13Fixed start column for blockquotes.John MacFarlane
2015-01-13Added lineNumber proper to DocParser.John MacFarlane
Removed lineNumber param from addChild and some other methods.
2015-01-12Made closeUnmatchedBlocks a method of DocParser...John MacFarlane
instead of a closure. Performance increase and code simplification.
2015-01-12Wrap decodeURI in a try.John MacFarlane
This ensures that we return original content (unnormalized) rather than raising an exception for things like [foo](<&#x25;test>) Not sure if this is the best approach.
2015-01-12html.js, xml.js: avoid using concat.John MacFarlane
2015-01-12Use new with Document and NodeWalker constructors.John MacFarlane
2015-01-12Use decodeURI instead of the deprecated 'unescape'.John MacFarlane
<https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/unescape>
2015-01-12Fixed some linter errors.John MacFarlane
2015-01-12Moved "use strict" to top of modules.John MacFarlane
2015-01-11Moved common xml escaping code from xml.js, html.js to common.js.John MacFarlane
2015-01-11Factored out normalizeURI into a single function in common.js.John MacFarlane
This way we can change it without changing four separate places in the code.
2015-01-11Factored out unescapeString into new module, js/common.js.John MacFarlane
This is used in both blocks.js and inlines.js.