Go to file
Catrope 3035c311ec Make the converter work with full HTML documents rather than fragments
The Parsoid output will also be expected to be a full HTML document. For
backwards compatibility, we allow for the Parsoid output to be a
document fragment as well. We don't send a full document back yet, also
for b/c -- we'll change this later once Parsoid has been updated in
production.

ve.dm.Converter.js:
* Make getDataFromDom() accept a document rather than a node
** Split off the recursion (which does use nodes) into its own function
** For now we just convert the <body>. In the future, we'll want to do
   things with the <head> as well
* Pass the document around so we can use it when creating elements
* Make getDomFromData() return a document rather than a <div>

ve.init.mw.Target.js:
* Store a document (this.doc) rather than a DOM node (this.dom)
* Pass around documents rather than DOM nodes
* Detect whether the Parsoid output is an HTML document or a fragment
  using a hacky regex
* When submitting to Parsoid, submit the innerHTML of the <body>

ve.init.mw.ViewPageTarget.js:
* s/dom/doc/
* Store body.innerHTML in this.originalHtml

ve.Surface.js:
* s/dom/doc/

demos/ve/index.php:
* Don't wrap HTML in <div>
* Pass HTML document rather than DOM node to ve.Surface

ve.dm.Converter.test.js:
* Construct a document from the test HTML, rather than a <div>

ve.dm.example.js:
* Wrap the HTML in the converter test cases in <body> tags to prevent
  misinterpretation (HTML fragments starting with comments, <meta>,
  <link> and whitespace are problematic)

Change-Id: I82fdad0a099febc5e658486cbf8becfcdbc85a2d
2013-02-19 10:38:39 -08:00
.docs Implement inline documentation examples. 2013-02-08 17:47:10 -08:00
demos Make the converter work with full HTML documents rather than fragments 2013-02-19 10:38:39 -08:00
maintenance Implement inline documentation examples. 2013-02-08 17:47:10 -08:00
modules Make the converter work with full HTML documents rather than fragments 2013-02-19 10:38:39 -08:00
.gitignore Ignore Eclipse files 2013-01-11 10:58:47 -08:00
.gitreview
.jshintignore Make JSHint ignore the docs/ directory 2013-02-01 10:19:33 -08:00
.jshintrc inheritClass: Implement inherited 'static' property for classes. 2012-10-09 18:29:41 +00:00
ApiVisualEditor.php Make {{PAGENAME}} in edit notices work by setting $wgTitle 2012-12-11 17:50:11 -08:00
AUTHORS.txt Add Ed 2013-02-12 16:06:21 -08:00
CODING.md Implement inline documentation examples. 2013-02-08 17:47:10 -08:00
LICENSE.txt Changed to use MIT license per agreement with the VisualEditor team 2012-07-19 13:25:45 -07:00
README.txt Remove the parser from the VE repo 2012-07-30 13:19:09 -07:00
VisualEditor.hooks.php Move matching code from AnnotationFactory to ModelRegistry 2013-01-22 15:51:37 -08:00
VisualEditor.i18n.php Localisation updates from http://translatewiki.net. 2013-02-18 21:01:53 +00:00
VisualEditor.php Add user interface widgets 2013-02-13 18:04:04 -08:00
VisualEditorMessagesModule.php Save dialog: Implement new "Review and Save" model. 2012-12-11 17:52:48 -08:00

VisualEditor provides a visual editor for wiki pages. It is written in
JavaScript and runs in a web browser. 

It uses the Parsoid parser to convert wikitext documents to annotated HTML
which the VisualEditor is able to load, modify and emit back to Parsoid at
which point it is converted back into wikitext.

For more information about these projects, check out the wiki:

	* http://www.mediawiki.org/wiki/VisualEditor
	* http://www.mediawiki.org/wiki/Parsoid