2011-11-28 20:28:28 +00:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* VisualEditor extension
|
2012-07-19 21:25:16 +00:00
|
|
|
*
|
2011-11-28 20:28:28 +00:00
|
|
|
* @file
|
|
|
|
* @ingroup Extensions
|
2012-07-19 00:11:26 +00:00
|
|
|
* @copyright 2011-2012 VisualEditor Team and others; see AUTHORS.txt
|
|
|
|
* @license The MIT License (MIT); see LICENSE.txt
|
2011-11-28 20:28:28 +00:00
|
|
|
*/
|
|
|
|
|
2012-06-06 23:11:29 +00:00
|
|
|
/* Configuration */
|
|
|
|
|
|
|
|
// URL to the parsoid instance
|
Kranitor #1: On-boarding
'''Kranitor commits''' are commits by Krinkle with his janitor hat on.
Must never contain functional changes mixed with miscellaneous changes.
.gitignore:
* Add .DS_Store to the ignore list so that browsing the directories
on Mac OS X, will not add these files to the list of untracked
files.
* Fix missing newline at end of file
.jshintrc
* raises -> throws
* +module (QUnit.module)
* remove 'Node' (as of node-jshint 1.7.2 this is now part of
'browser:true', as it should be)
Authors:
* Adding myself
MWExtension/VisualEditor.php
* Fix default value of wgVisualEditorParsoidURL to not
point to the experimental instance in WMF Labs.
Issues:
* ve.ce.TextNode:
- Fix TODO: Don't perform a useless clone of an already-jQuerified object.
- Use .html() to set html content instead of encapsulating between
two strings. This is slightly faster but more importantly safer,
and prevents situations where the resulting jQuery collection
actually contains 2 elements instead of 1, thus messing up
what .contents() is iterating over.
* ve.ce.Document.test.js
- Fix: ReferenceError: assert is not defined
* ve.dm.Document.test.js
- Fix: ReferenceError: assert is not defined
* ve.dm.Transaction.test.js
- Fix: ReferenceError: assert is not defined
* ve.dm.TransactionProcessor.test.js
- Fix: ReferenceError: assert is not defined
* ext.visualEditor.viewPageTarget
- Missing dependency on 'mediawiki.Title'
Code conventions / Misc cleanup
* Various JSHint warnings.
* Whitespace
* jQuery(): Use '<tag>' for element creation,
use '<valid><xml/></valid>' for parsing
* Use the default operator instead of ternary when the condition and
first value are the same.
x = foo ? foo : bar; -> x = foo || bar;
Because contrary to some programming language (PHP...), in JS the
default operator does not enforce a boolean result but returns the
original value, hence it being called the 'default' operator, as
opposed to the 'or' operator.
* No need to call addClass() twice, it takes a space-separated list
(jQuery splits by space and adds if needed)
* Use .on( event[, selector], fn ) instead of the deprecated
routers to it such as .bind(), .delegate() and .live().
All these three are now built-in and fully compatible with .on()
* Add 'XXX:' comments for suspicious code that I don't want to change
as part of a clean up commit.
* Remove unused variables (several var x = this; where x was not
used anywhere, possibly from boilerplate copy/paste)
* Follows-up Trevor's commit that converts test suites to the new
QUnit format. Also removed the globals since we no longer use those
any more.
Change-Id: I7e37c9bff812e371c7f65a6fd85d9e2af3e0a22f
2012-07-27 08:43:33 +00:00
|
|
|
$wgVisualEditorParsoidURL = 'http://localhost:8000';
|
2012-06-06 23:11:29 +00:00
|
|
|
|
2011-11-28 20:28:28 +00:00
|
|
|
/* Setup */
|
|
|
|
|
|
|
|
$wgExtensionCredits['other'][] = array(
|
|
|
|
'path' => __FILE__,
|
|
|
|
'name' => 'VisualEditor',
|
|
|
|
'author' => array(
|
|
|
|
'Trevor Parscal',
|
|
|
|
'Inez Korczyński',
|
|
|
|
'Roan Kattouw',
|
|
|
|
'Neil Kandalgaonkar',
|
|
|
|
'Gabriel Wicke',
|
|
|
|
'Brion Vibber',
|
2012-06-25 23:26:48 +00:00
|
|
|
'Christian Williams',
|
|
|
|
'Rob Moen',
|
|
|
|
'Subramanya Sastry',
|
2012-07-27 23:43:27 +00:00
|
|
|
'Timo Tijhof',
|
2011-11-28 20:28:28 +00:00
|
|
|
),
|
|
|
|
'version' => '0.1.0',
|
2011-12-13 23:49:33 +00:00
|
|
|
'url' => 'https://www.mediawiki.org/wiki/Extension:VisualEditor',
|
2011-11-28 20:28:28 +00:00
|
|
|
'descriptionmsg' => 'visualeditor-desc',
|
|
|
|
);
|
|
|
|
$dir = dirname( __FILE__ ) . '/';
|
|
|
|
$wgExtensionMessagesFiles['VisualEditor'] = $dir . 'VisualEditor.i18n.php';
|
|
|
|
|
|
|
|
$wgVisualEditorResourceTemplate = array(
|
|
|
|
'localBasePath' => dirname( __FILE__ ) . '/modules',
|
|
|
|
'remoteExtPath' => 'VisualEditor/modules',
|
|
|
|
'group' => 'ext.visualEditor',
|
|
|
|
);
|
|
|
|
|
|
|
|
$wgResourceModules += array(
|
2012-03-29 21:05:25 +00:00
|
|
|
'rangy' => $wgVisualEditorResourceTemplate + array(
|
|
|
|
'scripts' => array(
|
|
|
|
'rangy/rangy-core.js',
|
|
|
|
'rangy/rangy-position.js',
|
|
|
|
),
|
|
|
|
),
|
2012-06-28 09:52:03 +00:00
|
|
|
// Alias for backwards compat, safe to remove after
|
|
|
|
'ext.visualEditor.editPageInit' => $wgVisualEditorResourceTemplate + array(
|
2011-11-28 20:28:28 +00:00
|
|
|
'dependencies' => array(
|
2012-06-28 09:52:03 +00:00
|
|
|
'ext.visualEditor.viewPageTarget',
|
|
|
|
)
|
2011-11-28 20:28:28 +00:00
|
|
|
),
|
2012-06-28 09:52:03 +00:00
|
|
|
'ext.visualEditor.viewPageTarget' => $wgVisualEditorResourceTemplate + array(
|
2012-05-25 19:50:48 +00:00
|
|
|
'scripts' => array(
|
2012-07-20 23:59:59 +00:00
|
|
|
've/init/mw/ve.init.mw.js',
|
|
|
|
've/init/mw/ve.init.mw.Platform.js',
|
|
|
|
've/init/mw/ve.init.mw.Target.js',
|
|
|
|
've/init/mw/targets/ve.init.mw.ViewPageTarget.js',
|
2012-06-11 06:54:41 +00:00
|
|
|
),
|
|
|
|
'styles' => array(
|
2012-07-20 23:59:59 +00:00
|
|
|
've/init/mw/styles/ve.init.mw.ViewPageTarget.css',
|
|
|
|
've/init/mw/styles/ve.init.mw.ViewPageTarget-hd.css' => array(
|
2012-06-14 01:26:21 +00:00
|
|
|
'media' => 'screen and (min-width: 982px)'
|
|
|
|
),
|
2012-06-11 06:54:41 +00:00
|
|
|
),
|
|
|
|
'dependencies' => array(
|
2012-07-20 23:59:59 +00:00
|
|
|
'ext.visualEditor.base',
|
2012-06-18 21:13:26 +00:00
|
|
|
'mediawiki.util',
|
2012-06-28 09:53:54 +00:00
|
|
|
'mediawiki.feedback',
|
Kranitor #1: On-boarding
'''Kranitor commits''' are commits by Krinkle with his janitor hat on.
Must never contain functional changes mixed with miscellaneous changes.
.gitignore:
* Add .DS_Store to the ignore list so that browsing the directories
on Mac OS X, will not add these files to the list of untracked
files.
* Fix missing newline at end of file
.jshintrc
* raises -> throws
* +module (QUnit.module)
* remove 'Node' (as of node-jshint 1.7.2 this is now part of
'browser:true', as it should be)
Authors:
* Adding myself
MWExtension/VisualEditor.php
* Fix default value of wgVisualEditorParsoidURL to not
point to the experimental instance in WMF Labs.
Issues:
* ve.ce.TextNode:
- Fix TODO: Don't perform a useless clone of an already-jQuerified object.
- Use .html() to set html content instead of encapsulating between
two strings. This is slightly faster but more importantly safer,
and prevents situations where the resulting jQuery collection
actually contains 2 elements instead of 1, thus messing up
what .contents() is iterating over.
* ve.ce.Document.test.js
- Fix: ReferenceError: assert is not defined
* ve.dm.Document.test.js
- Fix: ReferenceError: assert is not defined
* ve.dm.Transaction.test.js
- Fix: ReferenceError: assert is not defined
* ve.dm.TransactionProcessor.test.js
- Fix: ReferenceError: assert is not defined
* ext.visualEditor.viewPageTarget
- Missing dependency on 'mediawiki.Title'
Code conventions / Misc cleanup
* Various JSHint warnings.
* Whitespace
* jQuery(): Use '<tag>' for element creation,
use '<valid><xml/></valid>' for parsing
* Use the default operator instead of ternary when the condition and
first value are the same.
x = foo ? foo : bar; -> x = foo || bar;
Because contrary to some programming language (PHP...), in JS the
default operator does not enforce a boolean result but returns the
original value, hence it being called the 'default' operator, as
opposed to the 'or' operator.
* No need to call addClass() twice, it takes a space-separated list
(jQuery splits by space and adds if needed)
* Use .on( event[, selector], fn ) instead of the deprecated
routers to it such as .bind(), .delegate() and .live().
All these three are now built-in and fully compatible with .on()
* Add 'XXX:' comments for suspicious code that I don't want to change
as part of a clean up commit.
* Remove unused variables (several var x = this; where x was not
used anywhere, possibly from boilerplate copy/paste)
* Follows-up Trevor's commit that converts test suites to the new
QUnit format. Also removed the globals since we no longer use those
any more.
Change-Id: I7e37c9bff812e371c7f65a6fd85d9e2af3e0a22f
2012-07-27 08:43:33 +00:00
|
|
|
'mediawiki.Uri',
|
|
|
|
'mediawiki.Title'
|
2012-05-25 19:50:48 +00:00
|
|
|
),
|
|
|
|
'messages' => array(
|
2012-06-01 23:26:03 +00:00
|
|
|
'minoredit',
|
|
|
|
'savearticle',
|
|
|
|
'watchthis',
|
|
|
|
'summary',
|
|
|
|
'tooltip-save',
|
|
|
|
'copyrightwarning',
|
|
|
|
'copyrightpage',
|
|
|
|
'edit',
|
2012-06-18 23:53:03 +00:00
|
|
|
'create',
|
2012-06-01 23:26:03 +00:00
|
|
|
'accesskey-ca-edit',
|
2012-06-04 21:29:27 +00:00
|
|
|
'tooltip-ca-edit',
|
2012-06-19 08:30:30 +00:00
|
|
|
'viewsource',
|
2012-06-21 19:15:31 +00:00
|
|
|
'visualeditor-ca-editsource',
|
|
|
|
'visualeditor-loadwarning',
|
2012-06-28 09:53:54 +00:00
|
|
|
'visualeditor-feedback-prompt',
|
|
|
|
'visualeditor-feedback-dialog-title'
|
2012-05-25 19:50:48 +00:00
|
|
|
),
|
2012-06-11 06:54:41 +00:00
|
|
|
),
|
|
|
|
'ext.visualEditor.base' => $wgVisualEditorResourceTemplate + array(
|
2011-11-28 20:28:28 +00:00
|
|
|
'scripts' => array(
|
2012-05-24 22:15:11 +00:00
|
|
|
// ve
|
2012-06-20 17:57:23 +00:00
|
|
|
've/ve.js',
|
|
|
|
've/ve.EventEmitter.js',
|
2012-07-27 23:08:45 +00:00
|
|
|
've/init/ve.init.js',
|
|
|
|
've/init/ve.init.Platform.js',
|
2012-06-18 20:30:14 +00:00
|
|
|
),
|
2012-07-27 23:43:27 +00:00
|
|
|
'dependencies' => array(
|
|
|
|
'jquery.json',
|
|
|
|
),
|
2012-06-18 20:30:14 +00:00
|
|
|
'debugScripts' => array(
|
2012-06-20 17:57:23 +00:00
|
|
|
've/ve.debug.js',
|
2012-06-18 20:30:14 +00:00
|
|
|
),
|
2012-06-11 06:54:41 +00:00
|
|
|
),
|
2012-06-21 20:39:27 +00:00
|
|
|
'ext.visualEditor.specialMessages' => $wgVisualEditorResourceTemplate + array(
|
|
|
|
'class' => 'VisualEditorMessagesModule'
|
|
|
|
),
|
2012-06-11 06:54:41 +00:00
|
|
|
'ext.visualEditor.core' => $wgVisualEditorResourceTemplate + array(
|
|
|
|
'scripts' => array(
|
|
|
|
// ve
|
2012-06-20 17:57:23 +00:00
|
|
|
've/ve.Factory.js',
|
|
|
|
've/ve.Position.js',
|
|
|
|
've/ve.Range.js',
|
|
|
|
've/ve.Node.js',
|
|
|
|
've/ve.BranchNode.js',
|
|
|
|
've/ve.LeafNode.js',
|
|
|
|
've/ve.Surface.js',
|
|
|
|
've/ve.Document.js',
|
2012-05-21 19:37:30 +00:00
|
|
|
|
2012-02-06 23:50:56 +00:00
|
|
|
// dm
|
2012-06-20 17:57:23 +00:00
|
|
|
've/dm/ve.dm.js',
|
|
|
|
've/dm/ve.dm.NodeFactory.js',
|
|
|
|
've/dm/ve.dm.AnnotationFactory.js',
|
|
|
|
've/dm/ve.dm.Node.js',
|
|
|
|
've/dm/ve.dm.BranchNode.js',
|
|
|
|
've/dm/ve.dm.LeafNode.js',
|
|
|
|
've/dm/ve.dm.Annotation.js',
|
|
|
|
've/dm/ve.dm.TransactionProcessor.js',
|
|
|
|
've/dm/ve.dm.Transaction.js',
|
|
|
|
've/dm/ve.dm.Surface.js',
|
|
|
|
've/dm/ve.dm.Document.js',
|
|
|
|
've/dm/ve.dm.DocumentSynchronizer.js',
|
|
|
|
've/dm/ve.dm.Converter.js',
|
2012-05-21 19:37:30 +00:00
|
|
|
|
2012-06-20 17:57:23 +00:00
|
|
|
've/dm/nodes/ve.dm.AlienInlineNode.js',
|
|
|
|
've/dm/nodes/ve.dm.AlienBlockNode.js',
|
|
|
|
've/dm/nodes/ve.dm.DefinitionListItemNode.js',
|
|
|
|
've/dm/nodes/ve.dm.DefinitionListNode.js',
|
|
|
|
've/dm/nodes/ve.dm.DocumentNode.js',
|
|
|
|
've/dm/nodes/ve.dm.HeadingNode.js',
|
|
|
|
've/dm/nodes/ve.dm.ImageNode.js',
|
|
|
|
've/dm/nodes/ve.dm.ListItemNode.js',
|
|
|
|
've/dm/nodes/ve.dm.ListNode.js',
|
|
|
|
've/dm/nodes/ve.dm.ParagraphNode.js',
|
|
|
|
've/dm/nodes/ve.dm.PreformattedNode.js',
|
|
|
|
've/dm/nodes/ve.dm.TableCellNode.js',
|
|
|
|
've/dm/nodes/ve.dm.TableNode.js',
|
|
|
|
've/dm/nodes/ve.dm.TableRowNode.js',
|
|
|
|
've/dm/nodes/ve.dm.TableSectionNode.js',
|
|
|
|
've/dm/nodes/ve.dm.TextNode.js',
|
2012-05-21 19:37:30 +00:00
|
|
|
|
2012-06-20 17:57:23 +00:00
|
|
|
've/dm/annotations/ve.dm.LinkAnnotation.js',
|
|
|
|
've/dm/annotations/ve.dm.TextStyleAnnotation.js',
|
2012-05-21 19:37:30 +00:00
|
|
|
|
2012-03-29 21:05:25 +00:00
|
|
|
// ce
|
2012-06-20 17:57:23 +00:00
|
|
|
've/ce/ve.ce.js',
|
|
|
|
've/ce/ve.ce.NodeFactory.js',
|
|
|
|
've/ce/ve.ce.Document.js',
|
|
|
|
've/ce/ve.ce.Node.js',
|
|
|
|
've/ce/ve.ce.BranchNode.js',
|
|
|
|
've/ce/ve.ce.LeafNode.js',
|
|
|
|
've/ce/ve.ce.Surface.js',
|
2012-05-21 19:37:30 +00:00
|
|
|
|
2012-06-20 17:57:23 +00:00
|
|
|
've/ce/nodes/ve.ce.AlienInlineNode.js',
|
|
|
|
've/ce/nodes/ve.ce.AlienBlockNode.js',
|
|
|
|
've/ce/nodes/ve.ce.DefinitionListItemNode.js',
|
|
|
|
've/ce/nodes/ve.ce.DefinitionListNode.js',
|
|
|
|
've/ce/nodes/ve.ce.DocumentNode.js',
|
|
|
|
've/ce/nodes/ve.ce.HeadingNode.js',
|
|
|
|
've/ce/nodes/ve.ce.ImageNode.js',
|
|
|
|
've/ce/nodes/ve.ce.ListItemNode.js',
|
|
|
|
've/ce/nodes/ve.ce.ListNode.js',
|
|
|
|
've/ce/nodes/ve.ce.ParagraphNode.js',
|
|
|
|
've/ce/nodes/ve.ce.PreformattedNode.js',
|
|
|
|
've/ce/nodes/ve.ce.TableCellNode.js',
|
|
|
|
've/ce/nodes/ve.ce.TableNode.js',
|
|
|
|
've/ce/nodes/ve.ce.TableRowNode.js',
|
|
|
|
've/ce/nodes/ve.ce.TableSectionNode.js',
|
|
|
|
've/ce/nodes/ve.ce.TextNode.js',
|
2012-05-21 19:37:30 +00:00
|
|
|
|
2012-02-06 23:50:56 +00:00
|
|
|
// ui
|
2012-06-20 17:57:23 +00:00
|
|
|
've/ui/ve.ui.js',
|
|
|
|
've/ui/ve.ui.Inspector.js',
|
|
|
|
've/ui/ve.ui.Tool.js',
|
|
|
|
've/ui/ve.ui.Toolbar.js',
|
|
|
|
've/ui/ve.ui.Context.js',
|
|
|
|
've/ui/ve.ui.Menu.js',
|
2012-05-21 19:37:30 +00:00
|
|
|
|
2012-06-20 17:57:23 +00:00
|
|
|
've/ui/inspectors/ve.ui.LinkInspector.js',
|
2012-05-21 19:37:30 +00:00
|
|
|
|
2012-06-20 17:57:23 +00:00
|
|
|
've/ui/tools/ve.ui.ButtonTool.js',
|
|
|
|
've/ui/tools/ve.ui.AnnotationButtonTool.js',
|
|
|
|
've/ui/tools/ve.ui.ClearButtonTool.js',
|
|
|
|
've/ui/tools/ve.ui.HistoryButtonTool.js',
|
|
|
|
've/ui/tools/ve.ui.ListButtonTool.js',
|
|
|
|
've/ui/tools/ve.ui.IndentationButtonTool.js',
|
|
|
|
've/ui/tools/ve.ui.DropdownTool.js',
|
|
|
|
've/ui/tools/ve.ui.FormatDropdownTool.js'
|
2011-11-28 20:28:28 +00:00
|
|
|
),
|
2011-11-30 20:45:24 +00:00
|
|
|
'styles' => array(
|
2012-05-24 22:15:11 +00:00
|
|
|
// ce
|
2012-07-19 01:23:11 +00:00
|
|
|
've/ce/styles/ve.ce.DocumentNode.css',
|
2012-06-20 17:57:23 +00:00
|
|
|
've/ce/styles/ve.ce.Node.css',
|
|
|
|
've/ce/styles/ve.ce.Surface.css',
|
2012-02-06 23:50:56 +00:00
|
|
|
// ui
|
2012-06-20 17:57:23 +00:00
|
|
|
've/ui/styles/ve.ui.Context.css',
|
|
|
|
've/ui/styles/ve.ui.Inspector.css',
|
|
|
|
've/ui/styles/ve.ui.Menu.css',
|
|
|
|
've/ui/styles/ve.ui.Surface.css',
|
|
|
|
've/ui/styles/ve.ui.Toolbar.css',
|
2011-11-30 20:45:24 +00:00
|
|
|
),
|
2011-11-28 20:28:28 +00:00
|
|
|
'dependencies' => array(
|
|
|
|
'jquery',
|
2012-03-29 21:05:25 +00:00
|
|
|
'rangy',
|
2012-06-25 23:25:09 +00:00
|
|
|
'ext.visualEditor.base',
|
|
|
|
'mediawiki.Title',
|
2011-11-28 20:28:28 +00:00
|
|
|
),
|
2012-02-07 16:37:08 +00:00
|
|
|
'messages' => array(
|
|
|
|
'visualeditor',
|
2012-06-19 18:11:01 +00:00
|
|
|
'visualeditor-linkinspector-title',
|
2012-06-19 08:30:30 +00:00
|
|
|
'visualeditor-linkinspector-label-pagetitle',
|
2012-07-06 23:28:16 +00:00
|
|
|
'visualeditor-formatdropdown-title',
|
2012-06-19 08:30:30 +00:00
|
|
|
'visualeditor-formatdropdown-format-paragraph',
|
|
|
|
'visualeditor-formatdropdown-format-heading1',
|
|
|
|
'visualeditor-formatdropdown-format-heading2',
|
|
|
|
'visualeditor-formatdropdown-format-heading3',
|
|
|
|
'visualeditor-formatdropdown-format-heading4',
|
|
|
|
'visualeditor-formatdropdown-format-heading5',
|
|
|
|
'visualeditor-formatdropdown-format-heading6',
|
|
|
|
'visualeditor-formatdropdown-format-preformatted',
|
|
|
|
'visualeditor-annotationbutton-bold-tooltip',
|
|
|
|
'visualeditor-annotationbutton-italic-tooltip',
|
|
|
|
'visualeditor-annotationbutton-link-tooltip',
|
|
|
|
'visualeditor-indentationbutton-indent-tooltip',
|
|
|
|
'visualeditor-indentationbutton-outdent-tooltip',
|
|
|
|
'visualeditor-listbutton-number-tooltip',
|
|
|
|
'visualeditor-listbutton-bullet-tooltip',
|
|
|
|
'visualeditor-clearbutton-tooltip',
|
|
|
|
'visualeditor-historybutton-undo-tooltip',
|
|
|
|
'visualeditor-historybutton-redo-tooltip',
|
|
|
|
'visualeditor-viewpage-savewarning',
|
2012-06-21 02:14:04 +00:00
|
|
|
'visualeditor-saveerror',
|
2012-02-07 16:37:08 +00:00
|
|
|
),
|
2011-11-28 20:28:28 +00:00
|
|
|
)
|
|
|
|
);
|
2012-01-31 00:02:48 +00:00
|
|
|
|
2012-06-11 06:54:41 +00:00
|
|
|
/*
|
|
|
|
* VisualEditor Namespace
|
2012-07-27 23:43:27 +00:00
|
|
|
* Using 2500 and 2501 as per registration on mediawiki.org.
|
|
|
|
*
|
|
|
|
* @todo FIXME: Move these demonstration settings out of the extension
|
|
|
|
* (or commented out as example).
|
2012-06-11 06:54:41 +00:00
|
|
|
*
|
2012-07-27 23:43:27 +00:00
|
|
|
* @see https://www.mediawiki.org/wiki/Extension_default_namespaces
|
|
|
|
*/
|
2012-06-11 06:54:41 +00:00
|
|
|
define( 'NS_VISUALEDITOR', 2500 );
|
2012-06-18 23:00:08 +00:00
|
|
|
define( 'NS_VISUALEDITOR_TALK', 2501 );
|
2012-06-11 06:54:41 +00:00
|
|
|
$wgExtraNamespaces[NS_VISUALEDITOR] = 'VisualEditor';
|
|
|
|
$wgExtraNamespaces[NS_VISUALEDITOR_TALK] = 'VisualEditor_talk';
|
2012-05-25 23:33:39 +00:00
|
|
|
$wgContentNamespaces[] = NS_VISUALEDITOR;
|
|
|
|
$wgContentNamespaces[] = NS_VISUALEDITOR_TALK;
|
2012-05-25 19:50:48 +00:00
|
|
|
|
2012-05-31 00:09:06 +00:00
|
|
|
// VE Namespace protection
|
2012-06-11 06:54:41 +00:00
|
|
|
$wgNamespaceProtection[NS_VISUALEDITOR] = array( 've-edit' );
|
2012-05-31 00:09:06 +00:00
|
|
|
$wgGroupPermissions['sysop']['ve-edit'] = true;
|
|
|
|
|
2012-07-27 23:43:27 +00:00
|
|
|
|
|
|
|
|
2012-05-25 22:23:40 +00:00
|
|
|
// Parsoid Wrapper API
|
2012-05-25 19:50:48 +00:00
|
|
|
$wgAutoloadClasses['ApiVisualEditor'] = $dir . 'ApiVisualEditor.php';
|
|
|
|
$wgAPIModules['ve-parsoid'] = 'ApiVisualEditor';
|
|
|
|
|
|
|
|
// Integration Hooks
|
|
|
|
$wgAutoloadClasses['VisualEditorHooks'] = $dir . 'VisualEditor.hooks.php';
|
2012-06-11 06:54:41 +00:00
|
|
|
$wgHooks['BeforePageDisplay'][] = 'VisualEditorHooks::onBeforePageDisplay';
|
|
|
|
$wgHooks['MakeGlobalVariablesScript'][] = 'VisualEditorHooks::onMakeGlobalVariablesScript';
|
2012-07-27 23:43:27 +00:00
|
|
|
$wgHooks['ResourceLoaderTestModules'][] = 'VisualEditorHooks::onResourceLoaderTestModules';
|
2012-06-21 20:39:27 +00:00
|
|
|
|
|
|
|
$wgAutoloadClasses['VisualEditorMessagesModule'] = $dir . 'VisualEditorMessagesModule.php';
|