Skip to content

Commit

Permalink
Initial MediaWiki Integration
Browse files Browse the repository at this point in the history
  • Loading branch information
Trevor Parscal committed Nov 28, 2011
1 parent d7537d9 commit 111ce5a
Show file tree
Hide file tree
Showing 30 changed files with 204 additions and 63 deletions.
50 changes: 50 additions & 0 deletions SpecialVisualEditorSandbox.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
<?php
/**
* Sandbox SpecialPage for VisualEditor extension
*
* @file
* @ingroup Extensions
*/

class SpecialVisualEditorSandbox extends SpecialPage {

/* Methods */

public function __construct() {
parent::__construct( 'VisualEditorSandbox' );
}

public function execute( $par ) {
global $wgOut;

$wgOut->addModules( 'ext.visualEditor.sandbox' );
$this->setHeaders();
$wgOut->setPageTitle( wfMsg( 'visualeditor-sandbox-title' ) );

$out = <<<HTML
<!-- VisualEditor Sandbox -->
<div id="es-base">
<div id="es-toolbar" class="es-toolbar">
<div style="clear:both"></div>
<div id="es-toolbar-shadow"></div>
</div>
<div id="es-panes">
<div id="es-visual">
<div id="es-editor"></div>
</div>
<div id="es-previews">
<div id="es-preview-wikitext" class="es-preview es-code"></div>
<div id="es-preview-json" class="es-preview es-code"></div>
<div id="es-preview-html" class="es-preview es-code"></div>
<div id="es-preview-render" class="es-preview es-render"></div>
<div id="es-preview-history" class="es-preview es-history"></div>
</div>
<div style="clear:both"></div>
</div>
</div>
<!-- /VisualEditor Sandbox -->
HTML;

$wgOut->addHtml( $out );
}
}
11 changes: 11 additions & 0 deletions VisualEditor.i18n.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?php
$messages = array();

/** English
* @author Trevor Parscal
*/
$messages['en'] = array(
'visualeditor' => 'VisualEditor',
'visualeditor-desc' => 'Visual editor for MediaWiki',
'visualeditor-sandbox-title' => 'VisualEditor Sandbox',
);
108 changes: 108 additions & 0 deletions VisualEditor.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
<?php
/**
* VisualEditor extension
*
* @file
* @ingroup Extensions
*
* @author Trevor Parscal <trevor@wikimedia.org>
* @author Inez Korczyński <inez@wikia-inc.com>
* @author Roan Kattouw <roan.kattouw@gmail.com>
* @author Neil Kandalgaonkar <neilk@wikimedia.org>
* @author Gabriel Wicke <gwicke@wikimedia.org>
* @author Brion Vibber <brion@wikimedia.org>
* @license GPL v2 or later
* @version 0.1.0
*/

/* Setup */

$wgExtensionCredits['other'][] = array(
'path' => __FILE__,
'name' => 'VisualEditor',
'author' => array(
'Trevor Parscal',
'Inez Korczyński',
'Roan Kattouw',
'Neil Kandalgaonkar',
'Gabriel Wicke',
'Brion Vibber',
),
'version' => '0.1.0',
'url' => 'http://www.mediawiki.org/wiki/Extension:VisualEditor',
'descriptionmsg' => 'visualeditor-desc',
);
$dir = dirname( __FILE__ ) . '/';
$wgExtensionMessagesFiles['VisualEditor'] = $dir . 'VisualEditor.i18n.php';
$wgAutoloadClasses['SpecialVisualEditorSandbox'] = $dir . 'SpecialVisualEditorSandbox.php';
$wgSpecialPages['VisualEditorSandbox'] = 'SpecialVisualEditorSandbox';
$wgSpecialPageGroups['VisualEditorSandbox'] = 'other';

$wgVisualEditorResourceTemplate = array(
'localBasePath' => dirname( __FILE__ ) . '/modules',
'remoteExtPath' => 'VisualEditor/modules',
'group' => 'ext.visualEditor',
);

$wgResourceModules += array(
'ext.visualEditor.sandbox' => $wgVisualEditorResourceTemplate + array(
'scripts' => array(
'sandbox/sandbox.js',
),
'styles' => 'sandbox/sandbox.css',
'messages' => array(),
'dependencies' => array(
'ext.visualEditor.es',
),
),
'ext.visualEditor.es' => $wgVisualEditorResourceTemplate + array(
'scripts' => array(
'es/es.js',
'es/es.Html.js',
'es/es.Position.js',
'es/es.Range.js',
'es/es.TransactionProcessor.js',
'es/bases/es.EventEmitter.js',
'es/bases/es.DocumentNode.js',
'es/bases/es.DocumentBranchNode.js',
'es/bases/es.DocumentLeafNode.js',
'es/bases/es.DocumentModelNode.js',
'es/bases/es.DocumentModelBranchNode.js',
'es/bases/es.DocumentModelLeafNode.js',
'es/bases/es.DocumentViewNode.js',
'es/bases/es.DocumentViewBranchNode.js',
'es/bases/es.DocumentViewLeafNode.js',
'es/models/es.DocumentModel.js',
'es/models/es.HeadingModel.js',
'es/models/es.ListItemModel.js',
'es/models/es.ListModel.js',
'es/models/es.ParagraphModel.js',
'es/models/es.PreModel.js',
'es/models/es.SurfaceModel.js',
'es/models/es.TableCellModel.js',
'es/models/es.TableModel.js',
'es/models/es.TableRowModel.js',
'es/models/es.TransactionModel.js',
'es/serializers/es.AnnotationSerializer.js',
'es/serializers/es.HtmlSerializer.js',
'es/serializers/es.JsonSerializer.js',
'es/serializers/es.WikitextSerializer.js',
'es/views/es.ContentView.js',
'es/views/es.DocumentView.js',
'es/views/es.HeadingView.js',
'es/views/es.ListItemView.js',
'es/views/es.ListView.js',
'es/views/es.ParagraphView.js',
'es/views/es.PreView.js',
'es/views/es.SurfaceView.js',
'es/views/es.TableCellView.js',
'es/views/es.TableRowView.js',
'es/views/es.TableView.js',
'es/views/es.ToolbarView.js',
),
'styles' => 'es/es.Surface.css',
'dependencies' => array(
'jquery',
),
)
);
59 changes: 28 additions & 31 deletions demo/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,40 +4,37 @@
<head>
<title>EditSurface Demo</title>
<link rel="stylesheet" href="../modules/es/es.Surface.css">
<link rel="stylesheet" href="es.css">
<link rel="stylesheet" href="../modules/sandbox/sandbox.css">
<style>
body {
font-family: "Arial";
font-size: 1em;
width: 100%;
margin: 1em 0;
padding: 0;
overflow-y: scroll;
-webkit-user-select: none;
background-color: white;
}
#es-base {
margin: 2em;
-webkit-box-shadow: 0 0.25em 1.5em 0 #dddddd;
-moz-box-shadow: 0 0.25em 1.5em 0 #dddddd;
box-shadow: 0 0.25em 1.5em 0 #dddddd;
-webkit-border-radius: 0.5em;
-moz-border-radius: 0.5em;
-o-border-radius: 0.5em;
border-radius: 0.5em;
}
#es-panes {
border: solid 1px #dddddd;
border-top: none;
}
</style>
</head>
<body>
<div id="es-base">
<div id="es-toolbar" class="es-toolbar">
<!--
<div class="es-toolbarGroup">
<div class="es-toolbarLabel">Text</div>
<div class="es-toolbarTool" id="es-toolbar-bold"><img src="images/bold.png"></div>
<div class="es-toolbarTool" id="es-toolbar-italic"><img src="images/italic.png"></div>
<div class="es-toolbarTool" id="es-toolbar-link"><img src="images/link.png"></div>
<div class="es-toolbarTool" id="es-toolbar-small"><img src="images/small.png"></div>
<div class="es-toolbarTool" id="es-toolbar-big"><img src="images/big.png"></div>
<div class="es-toolbarTool" id="es-toolbar-sub"><img src="images/sub.png"></div>
<div class="es-toolbarTool" id="es-toolbar-super"><img src="images/super.png"></div>
<div class="es-toolbarTool" id="es-toolbar-clear"><img src="images/clear.png"></div>
<div style="clear:both"></div>
</div>
<div class="es-toolbarDivider"></div>
<div class="es-toolbarGroup">
<div class="es-toolbarLabel">Lists</div>
<div class="es-toolbarTool" id="es-toolbar-bullet"><img src="images/bullet.png"></div>
<div class="es-toolbarTool" id="es-toolbar-number"><img src="images/number.png"></div>
<div class="es-toolbarTool" id="es-toolbar-indent"><img src="images/indent.png"></div>
<div class="es-toolbarTool" id="es-toolbar-outdent"><img src="images/outdent.png"></div>
<div style="clear:both"></div>
</div>
<div class="es-toolbarGroup es-toolbarGroup-preview">
<div class="es-toolbarTool" id="es-toolbar-json" rel="json"><img src="images/json.png"></div>
<div class="es-toolbarTool" id="es-toolbar-wikitext" rel="wikitext"><img src="images/wikitext.png"></div>
<div class="es-toolbarTool" id="es-toolbar-html" rel="html"><img src="images/html.png"></div>
<div class="es-toolbarTool" id="es-toolbar-render" rel="render"><img src="images/render.png"></div>
</div>
-->
<div style="clear:both"></div>
<div id="es-toolbar-shadow"></div>
</div>
Expand Down Expand Up @@ -110,6 +107,6 @@
<script src="../modules/es/views/es.HeadingView.js"></script>

<!-- Demo -->
<script src="es.js"></script>
<script src="../modules/sandbox/sandbox.js"></script>
</body>
</html>
8 changes: 4 additions & 4 deletions modules/es/views/es.SurfaceView.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,12 +80,12 @@ es.SurfaceView = function( $container, model ) {
this.$.mousedown( function(e) {
return _this.onMouseDown( e );
} );
this.$input.on( {
this.$input.bind( {
'focus': function() {
// Make sure we aren't double-binding
$document.off( '.es-surfaceView' );
$document.unbind( '.es-surfaceView' );
// Bind mouse and key events to the document to ensure we don't miss anything
$document.on( {
$document.bind( {
'mousemove.es-surfaceView': function(e) {
return _this.onMouseMove( e );
},
Expand All @@ -102,7 +102,7 @@ es.SurfaceView = function( $container, model ) {
},
'blur': function( e ) {
// Release our event handlers when not focused
$document.off( '.es-surfaceView' );
$document.unbind( '.es-surfaceView' );
_this.hideCursor();
}
} );
Expand Down
7 changes: 3 additions & 4 deletions modules/es/views/es.ToolbarView.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ es.ToolbarView = function( $container, surfaceView ) {
],
state: function() {
return 'paragraph';
return '';
}
},
{
Expand Down Expand Up @@ -87,12 +86,12 @@ es.ToolbarView.prototype.updateToolbar = function() {
}
};

es.ToolbarView.prototype.setup = function() {
es.ToolbarView.prototype.setup = function() {
for ( var i = this.tools.length - 1; i >= 0; i-- ) {
if ( !es.isPlainObject( this.tools[i] ) ) {
// divider
if ( this.tools[i] === '/' ) {
this.$.prepend( '<div class="es-toolbarDivider">' );
this.$.prepend( '<div class="es-toolbarDivider">' );
}
} else {
var $group = $( '<div>' )
Expand Down Expand Up @@ -125,5 +124,5 @@ es.ToolbarView.prototype.setup = function() {
}
this.$.prepend( $group );
}
}
}
};
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
24 changes: 0 additions & 24 deletions demo/es.css → modules/sandbox/sandbox.css
Original file line number Diff line number Diff line change
@@ -1,27 +1,3 @@
body {
font-family: "Arial";
font-size: 1em;
width: 100%;
margin: 1em 0;
padding: 0;
overflow-y: scroll;
-webkit-user-select: none;
background-color: white;
}
#es-base {
margin: 2em;
-webkit-box-shadow: 0 0.25em 1.5em 0 #dddddd;
-moz-box-shadow: 0 0.25em 1.5em 0 #dddddd;
box-shadow: 0 0.25em 1.5em 0 #dddddd;
-webkit-border-radius: 0.5em;
-moz-border-radius: 0.5em;
-o-border-radius: 0.5em;
border-radius: 0.5em;
}
#es-panes {
border: solid 1px #dddddd;
border-top: none;
}
#es-toolbar {
border: solid 1px #dddddd;
position: relative;
Expand Down
File renamed without changes.

0 comments on commit 111ce5a

Please sign in to comment.