summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-09-16Re-added backtracking and memoization.John MacFarlane
Gives better results for things like **foo*
2014-09-16Small performance tweaks.John MacFarlane
2014-09-16Fixed bug in parsing `* **a** b*` etc.John MacFarlane
2014-09-16New parseEmphasis algorithm.John MacFarlane
- State machine for emphasis parsing. - This would require some adjustments to the spec and spec examples. - It currently blows the stack on `tricky'. - Memoization code has been commented out. - Inline parsers return arrays.
2014-09-11Fixed performance regression from eccc23dc8d.John MacFarlane
2014-09-11Fixed typo.John MacFarlane
starting
2014-09-11jshint improvements.John MacFarlane
2014-09-11Reindented source with js2-mode.John MacFarlane
2014-09-11Clarified code logic for last_emphasis_closer.John MacFarlane
2014-09-11Add check for null in last_emphasis_closer.John MacFarlane
2014-09-11Renamed last_closer -> last_emphasis_closer.John MacFarlane
2014-09-11Added last_closer to Inline object.John MacFarlane
This helps us avoid unneeded backtracking in pathological input of the form: *a **a *a **a *a etc. If we get to position k without finding a closing delimiter, then backtrack to 1, we can assume we won't find a closing delimiter when parsing forward again. This could no doubt be polished up, e.g. by making it sensitive to the kind of delimiter.
2014-09-11Fixed bug.John MacFarlane
2014-09-11Updated test cases in spec to reflect last change.John MacFarlane
2014-09-11Updated spec (but not yet examples) with new rules.John MacFarlane
These reflect the current parsing algorithm. We now get a symmetry that we lacked before: **a* b* *a *b** are both emphasis within emphasis. One asymmetry remains: **a* has no emphasis, while *a** has emphasis. Further tweaking of the algorithm could regularize this.
2014-09-11Special-case ***xx*** as strong/em.John MacFarlane
2014-09-11Revert "spec: change nesting order of strong/emph in ***a***."John MacFarlane
This reverts commit 49a03b7666e2901d1ab2813fc0bdd23968d22979.
2014-09-11spec: change nesting order of strong/emph in ***a***.John MacFarlane
2014-09-11Simplified parseEmphasis.John MacFarlane
2014-09-11Handle case with 4+ delimiters in a row.John MacFarlane
Spec says to skip these.
2014-09-11Fixed reMain regex for better performance.John MacFarlane
2014-09-11Fixed rewind on parseLabel.John MacFarlane
14 test failures now, all with emphasis. IN most of all of these cases, the examples in the spec seem to be mistakes, given what the spec says. More troubling, performance is down from around 220 to 83. This needs investigation.
2014-09-11Completed conversion to memoized strategy.John MacFarlane
Test suite runs, but many failures.
2014-09-11Cleanup.John MacFarlane
2014-09-11Did parseAutolink.John MacFarlane
2014-09-11Did parseHtmLTag.John MacFarlane
2014-09-11Did parseEntity.John MacFarlane
2014-09-11Did parseBackticks.John MacFarlane
2014-09-11Finished parseEmphasis.John MacFarlane
This seems to work properly. We now get proper results for `***hi**`.
2014-09-11parseEmphasis: added Strong and shell for triples.John MacFarlane
2014-09-11Shell of parseEmphasis.John MacFarlane
2014-09-11Did parseBackslash (used to be parseEscaped).John MacFarlane
2014-09-11New strategy: did parseNewlines, parseString.John MacFarlane
2014-09-11stmd.js: Added memoization of inline parsing.John MacFarlane
2014-09-11Merge branch 'master' of https://github.com/ArtyomKazak/stmdJohn MacFarlane
2014-09-11Fix another broken link.Artyom Kazak
2014-09-11Fix a broken link to the “A parsing strategy” section.Artyom Kazak
(Line lengths changed so that the link wouldn't have to be broken.)
2014-09-09Dingus: use bind('keyup paste cut mouseup'...John MacFarlane
Modifies #98. (Generic 'change' by itself wasn't enough.)
2014-09-09Use generic 'change' to trigger parseAndRender.John MacFarlane
Modifies #98.
2014-09-09Merge pull request #100 from ArtyomKazak/masterJohn MacFarlane
Info string changes the `class` attribute of the `code` tag, not `pre`.
2014-09-09`code`, not `pre`.Artyom Kazak
2014-09-07Fixed #48.John MacFarlane
- Fixed js and C code. - Added two test cases to spec.
2014-09-07Partially address #48 in js parser.John MacFarlane
TODO: C parser, add test case to spec.
2014-09-07Fixed comment.John MacFarlane
2014-09-06Spec, js, C: Added iframe to block-level HTML tags.John MacFarlane
Closes #88.
2014-09-06spec: Clarify that a blank line may have no characters.John MacFarlane
Closes #79.
2014-09-06Don't treat "br" as a block-level HTML tag.John MacFarlane
Fixed in spec and both implementations. Closes #67.
2014-09-06stmd.js: Added another regex anchor, in reMain.John MacFarlane
2014-09-06Added anchor to linkDestination regexes.John MacFarlane
Closes #62.
2014-09-06More capitalizing Markdown.John MacFarlane