mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-09-27 12:16:51 +00:00
c0fc9e9a97
- Something like this: <ul><li>1</li><li>2<ul><li>2.1</li><li>2.2<ul><li>2.2.1</li><li>2.2.2</li></ul></li><li>2.3</li></ul></li><li>3</li></ul> now serializes properly to: *1 *2 **2.1 **2.2 ***2.2.1 ***2.2.2 **2.3 *3 So does this form which is what the above wikitext parses to: <ul><li>1 </li><li>2 <ul><li>2.1 </li><li>2.2 <ul><li>2.2.1 </li><li>2.2.2 </li></ul></li><li>2.3 </li></ul></li><li>3 </li></ul> - Lists (and nested lists) are not entirely newline-insensitive. They still depend on newlines *between* lists. The opening <ul> tag for non-nested lists should always start on a new line. So, for example, <ul><li>foo</li></ul><ul><li>bar</li></ul> will serialize to: *foo *bar which is incorrect. But, <ul><li>foo</li></ul> <ul><li>bar</li></ul> will correctly serialize to: *foo *bar Change-Id: I13a0290368574865957bcf57aebab488fbbb7026 |
||
---|---|---|
.. | ||
html5 | ||
core-upgrade.js | ||
ext.Cite.js | ||
ext.cite.taghook.ref.js | ||
ext.core.AttributeExpander.js | ||
ext.core.BehaviorSwitchHandler.js | ||
ext.core.LinkHandler.js | ||
ext.core.ListHandler.js | ||
ext.core.NoIncludeOnly.js | ||
ext.core.ParserFunctions.js | ||
ext.core.PostExpandParagraphHandler.js | ||
ext.core.QuoteTransformer.js | ||
ext.core.Sanitizer.js | ||
ext.core.TemplateHandler.js | ||
ext.Util.js | ||
ext.util.TokenCollector.js | ||
mediawiki.ApiRequest.js | ||
mediawiki.DOMConverter.js | ||
mediawiki.DOMPostProcessor.js | ||
mediawiki.HTML5TreeBuilder.node.js | ||
mediawiki.LinearModelConverter.js | ||
mediawiki.parser.defines.js | ||
mediawiki.parser.environment.js | ||
mediawiki.parser.js | ||
mediawiki.Title.js | ||
mediawiki.tokenizer.peg.js | ||
mediawiki.TokenTransformManager.js | ||
mediawiki.WikitextSerializer.js | ||
package.json | ||
parse.js | ||
pegTokenizer.pegjs.txt | ||
README.txt |
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