Extension:CodeEditor - MediaWiki (original) (raw)

Languages:

Not to be confused with CodeMirror .

MediaWiki extensions manual

CodeEditor Release status: stable
Description Provides a syntax-highlighting code editor for site & user JS, CSS and Lua pages, integrating with advanced edit toolbar
Author(s) Brooke Vibber Derk-Jan Hartman authors of Ace (ace.c9.io)
Compatibility policy Snapshots releases along with MediaWiki. Master is not backward compatible.
Database changes No
Parameters $wgCodeEditorEnableCore
Hooks used EditPage::showEditForm:initial EditPage::showReadOnlyForm:initial GetPreferences
Hooks provided CodeEditorGetPageLanguage
Licence GNU General Public License 2.0 or laterBSD 3-clause "Modified" License
Download Download extension Git [?]: Browse repository (Phabricator · GitHub) Gerrit code review Git commit log Download source tarball
Translate the CodeEditor extension if it is available at translatewiki.net
Issues Open tasks · Report a bug

In MediaWiki 1.46, Extension:CodeMirror became the default syntax aware editor of MediaWiki for all content types, replacing CodeEditor.

The CodeEditor extension extends the WikiEditor advanced editing toolbar with an embedded Ace editor widget, providing some handy features for user/site JavaScript pages, CSS pages, JSON pages, and when extension Scribunto is also installed, for Lua pages, i.e. pages in the Module namespace. The code editor does not show on regular wiki pages, i.e. wiki pages with the "wikitext" content model. (See Extension:CodeMirror for syntax highlighting of wikitext when using the source editor.)

It provides the following features:

This extension comes with MediaWiki 1.31 and later, so you do not need to download it. The remaining configuration instructions must still be followed.

The WikiEditor extension needs to be installed for this extension to work. Installing the Scribunto extension is optional.

Vagrant installation:

$wgCodeEditorEnableCore

To disable the editor on JavaScript and CSS pages in the MediaWiki, User and other core namespaces, set $wgCodeEditorEnableCore = false; (default is true)

$wgCodeEditorContentModels

Temporary feature flag to control conflicts with Extension:CodeMirror .

$wgScribuntoUseCodeEditor

To disable this extension for Scribunto, i.e. in the module namespace set $wgScribuntoUseCodeEditor = false; (default is true)

This configuration parameter is provided by the Scribunto extension and must therefore be added after invoking the CodeEditor as well as the Scribunto extension which also needs to be installed for this to work.

It is possible to change the configuration of the ACE editor, by hooking into the MediaWiki JS hook (i.e. mw.hook( 'codeEditor.configure' ).add( ... )). The argument passed to your hook will be an ACE EditSession object.

If you need to interact with the contents of a CodeEditor instance, use module-jquery.textSelection.$.fn.textSelection().

While this extension is licensed GNU General Public License v2.0 or later (GPL-2.0+) it makes use of the Ace editor software which is licensed BSD 3-clause "New" or "Revised" License (BSD-3-Clause).

This extension is being used on one or more Wikimedia projects. This probably means that the extension is stable and works well enough to be used by such high-traffic websites. Look for this extension's name in Wikimedia's CommonSettings.php and InitialiseSettings.php configuration files to see where it's installed. A full list of the extensions installed on a particular wiki can be seen on the wiki's Special:Version page.