summaryrefslogtreecommitdiff
path: root/js
AgeCommit message (Collapse)Author
2014-11-03Removed artificial rule for emph/strong markers.John MacFarlane
Previously there was a rule that nothing in a string of more than 3 `*` or `_` characters could close or start emphasis. This was artifical and led to strange asymmetries, e.g. you could have `*a *b**` emph within emph but not `**a **b****` strong within strong. The new parsing strategy makes it easy to remove this limitation. Spec, js, and c implementations have been updated. Spec might need some further grooming.
2014-10-30js/lib/blocks: Made matchAt return -1 instead of null on no match.John MacFarlane
2014-10-26Dingus improvements; moved to top level.John MacFarlane
2014-10-26Added clear and permalink to dingus.John MacFarlane
Serve dingus from dingus.html. Add redirect page as index.html.
2014-10-26Require space before closing # sequence in ATX header.John MacFarlane
Closes #169.
2014-10-25Adjusted appearance of dingus.John MacFarlane
2014-10-24Rename js/bin/markdown -> js/bin/commonmark.John MacFarlane
2014-10-24js/bin/markdown: added `--ast` flag and multiple filename args.John MacFarlane
2014-10-24Merge pull request #140 from arthur-peka/masterJohn MacFarlane
Changing some variable names to improve code readability
2014-10-24More stmd -> commonmark changes.John MacFarlane
2014-10-24Renamed javascript implementation to commonmark.js.John MacFarlane
2014-10-24js: Removed memoization.John MacFarlane
It is no longer needed with the new stack-based emphasis parsing.
2014-10-24js: Use linked list instead of array for emphasis_openers stack.John MacFarlane
2014-10-24js: renamed emph_stack -> emphasis_openers.John MacFarlane
2014-10-23inlines.js: Implemented stack-based emph parsing.John MacFarlane
2014-10-18Added renderAST to js, added AST render tab to dingus.John MacFarlane
Modified processInlines so it creates new objects instead of modifying in place. This way we can remove the extraneous fields only needed for parsing.
2014-10-18Add unescapeString as method of InlineParser.John MacFarlane
2014-10-18Factored out blocks.js from index.js.John MacFarlane
2014-10-18Factored out inlines.js from index.js.John MacFarlane
2014-10-18Change from-code-point.js so it doesn't alter String prototype.John MacFarlane
2014-10-18Use browserify to make js code more modular.John MacFarlane
* Moved js library code to `js/lib`. * `js/stmd.js` is now generated from these files using browserify. * Factored out `html5-entities.js` and `from-code-point.js` from main js parsing code (which is now `index.js`). * Moved `js/markdown` to `js/bin`.
2014-10-07Changed bench.js so it no longer requires oldtests.John MacFarlane
2014-10-07Correct capitalization of JavaScriptBengt Lüers
2014-10-07stmd.js: Fixed entityToChar, adding fromCodePoint polyfill.John MacFarlane
Closes #151.
2014-10-07Reset label_nest_level before parsing reference.John MacFarlane
This fixes a bug with text like: [[some unrelated text [link] [link]: destination See #146.
2014-10-04Further emph fallback optimizations.John MacFarlane
2014-10-04Some jshint fixes.John MacFarlane
2014-10-04Use simpler algorithm.John MacFarlane
This handles things like `**hi***there*` and gives symmetrical treatment of `**hi*` and `*hi**`. Also handles the case from #147.
2014-10-02Revert "Use integers instead of strings for tags."John MacFarlane
This reverts commit ac611d51c9de9aa719b42b9463e6f28d6e7d74a4.
2014-10-02Revert "Use numerical constants."John MacFarlane
This reverts commit db25de09f5dc931c0e2b31ce0ccdb58052f3105f.
2014-10-02Use numerical constants.John MacFarlane
Performance optimization, but at cost of code clarity.
2014-10-02Use integers instead of strings for tags.John MacFarlane
Use === whenever possible to compare them.
2014-10-02Changed inline parsers to be monomorphic and modify inlines param.John MacFarlane
They all return true or false now, instead of the inlines parsed. Performance optimization.
2014-10-02Fixed rendering bug for blockquotes.John MacFarlane
2014-10-02Char code optimizations in block parsers.John MacFarlane
2014-10-02Eliminated unnecessary variable.John MacFarlane
2014-10-02Changed peek() to return char code.John MacFarlane
Test char codes instead of strings. Small optimization (about 1% speed boost).
2014-09-30Unescape entities as well as backslashes in titles, URLs.John MacFarlane
This way URLs with entities will be properly percent encoded as in the C implementation.
2014-09-30unescape URI before escaping.John MacFarlane
If we already have %-encoded characters in the URI, we want to preserve them.
2014-09-30Added entity decoding.John MacFarlane
AST now contains parses entities as Str objects with unicode characters, not as 'Entity'. (Like the new C parser.)
2014-09-29Rename unescape -> unescapeBS to avoid confusion with built-in.John MacFarlane
2014-09-29Escape URIs.John MacFarlane
2014-09-29Use charAt for browser compatibility.John MacFarlane
2014-09-26Changing variable names even for even greater readabilityArthur
2014-09-26Only memoize during inline parsing.John MacFarlane
This cuts the performance hit. With memoization, we get roughly constant behavior in the fuzztest. Without it, not.
2014-09-26Restored memoization code.John MacFarlane
2014-09-26Used last_emphasis_closer to avoid unneeded scans for closer.John MacFarlane
This doesn't seem to help much.
2014-09-26Removed memoization code.John MacFarlane
2014-09-26Simple fallback if we don't match emphasis.John MacFarlane
The other approach led to wrong results on: *hi _there*
2014-09-26Changing some variable names to more explicit ones to improve readabilityArthur