mediawiki-extensions-Visual.../modules/parser
Gabriel Wicke e584e35ecb Improve nested definition list serialization
Basically only prefix all bullets if the serialization output is going to be
in start-of-line context. The test for that is currently inline, but should
perhaps be factored out to a method or state flag instead.

We could alternatively consider to return the start-of-line prefix and let it
be used in _serializeToken in case we end up in start-of-line context.

This patch also fixes a newline issue on input like this:

:d1
::: d3

Both the list and list item handlers now set the startsNewline flag
dynamically depending on the context, so that we don't depend on the
suppression of newlines from list syntax by the singleLineMode any more.

There is still an extra newline inserted between list items in the following
example:

;t1 :d1
;;t2 ::d2

This looks like a bug in the produced DOM and not in the serializer, since the
outer definition list is closed and re-opened between d1 and t2.

Change-Id: I78e3a1ef34cf9159d5a1e86fb64c774ff111e71d
2012-06-21 15:28:43 +02:00
..
html5 Update patched html5 library to version 0.3.8 2012-06-06 10:17:03 +02:00
core-upgrade.js Add core-upgrade 2012-06-06 15:58:17 +02:00
ext.Cite.js Very basic interwiki support 2012-06-05 11:19:58 +02:00
ext.cite.taghook.ref.js Moving parser stuff back into the modules folder (oops) 2011-11-02 21:45:57 +00:00
ext.core.AttributeExpander.js Big token transform framework overhaul part 2 2012-05-15 17:05:47 +02:00
ext.core.BehaviorSwitchHandler.js Big token transform framework overhaul part 2 2012-05-15 17:05:47 +02:00
ext.core.LinkHandler.js Clean up sHref handling a bit 2012-06-20 00:34:57 +02:00
ext.core.ListHandler.js Fix definition lists with multiple dds 2012-06-20 15:34:20 +02:00
ext.core.NoIncludeOnly.js Big token transform framework overhaul part 2 2012-05-15 17:05:47 +02:00
ext.core.ParserFunctions.js Fix padleft / padright (mis)use as substr 2012-06-04 11:30:45 +02:00
ext.core.PostExpandParagraphHandler.js Improve the handling of newlines for round-tripping 2012-06-06 10:17:03 +02:00
ext.core.QuoteTransformer.js Fixed bugs handing/transforming quotes 2012-06-07 01:37:45 -05:00
ext.core.Sanitizer.js Big token transform framework overhaul part 2 2012-05-15 17:05:47 +02:00
ext.core.TemplateHandler.js Very basic round-trip test mode for the API 2012-06-02 16:20:54 +02:00
ext.Util.js Nominate more HTML5 sectioning and heading elements for block-level treatment 2012-04-11 12:53:49 +02:00
ext.util.TokenCollector.js Big token transform framework overhaul part 2 2012-05-15 17:05:47 +02:00
mediawiki.ApiRequest.js Add ApiRequest 2012-06-02 16:52:51 +02:00
mediawiki.DOMConverter.js Replace console.log with console.warn in all debug statements 2012-02-14 20:56:14 +00:00
mediawiki.DOMPostProcessor.js First pass implementing a general tag minimization routine 2012-05-31 12:10:28 -05:00
mediawiki.HTML5TreeBuilder.node.js Emit SpaceCharacters token for HTML5 'space' chars 2012-06-17 16:16:07 +02:00
mediawiki.LinearModelConverter.js Add HTML DOM -> linear model converter 2012-03-29 12:47:14 -07:00
mediawiki.parser.defines.js Wikitext escaping and quite complete source range tracking 2012-06-19 23:36:44 +02:00
mediawiki.parser.environment.js Improve interwiki config a bit 2012-06-07 12:30:16 +02:00
mediawiki.parser.js Big token transform framework overhaul part 2 2012-05-15 17:05:47 +02:00
mediawiki.Title.js Very basic interwiki support 2012-06-05 11:19:58 +02:00
mediawiki.tokenizer.peg.js Tokenizer backtracking cache bug fix and memory savings 2012-06-01 12:53:49 +02:00
mediawiki.TokenTransformManager.js Minor code refactoring 2012-06-13 09:46:34 -05:00
mediawiki.WikitextSerializer.js Improve nested definition list serialization 2012-06-21 15:28:43 +02:00
package.json Basic parser / serializer web service 2012-05-23 12:35:00 +02:00
parse.js Very basic interwiki support 2012-06-05 11:19:58 +02:00
pegTokenizer.pegjs.txt Improve preformatted text handling 2012-06-20 19:28:34 +02:00
README.txt As much as I have loved writing Makefiles... I've replaced its functionality with package.json, mostly so we can avoid non-node dependencies. This is one of the recommended practices. We should consider moving tests/parser into modules/parser/tests, other node projects keep all module code in one directory. 2012-04-04 11:02:58 -07:00

A combined Mediawiki and html parser in JavaScript running on node.js. Please
see (https://www.mediawiki.org/wiki/Future/Parser_development) for an overview
of the current implementation, and instructions on running the tests.

You might need to set the NODE_PATH environment variable,
  export NODE_PATH="node_modules"

Download the dependencies:
  npm install

Run tests:
  npm test