Extension:CodeMirror/scn
- Not to be confused with CodeEditor .
CodeMirror Release status: stable |
|
---|---|
File:Pride and codemirror.png | |
Implementation | User interface |
Description | Provides syntax highlighting in wikitext editor |
Author(s) | Pavel Astakhov (pastakhovtalk) |
Compatibility policy | Snapshots releases along with MediaWiki. Master is not backward compatible. |
MediaWiki | 1.32+ |
PHP | 5.3+ |
Database changes | No |
License | No license specified |
Download | |
Quarterly downloads | Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin'). |
Public wikis using | Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin'). |
Translate the CodeMirror extension if it is available at translatewiki.net | |
Vagrant role | codemirror |
Issues | Open tasks · Report a bug |
The CodeMirror extension provides syntax highlighting in MediaWiki's wikitext editor. It adds a button with the icon File:Codemirror-icon.png to the editing toolbar that allows for switching syntax highlighting on and off. It supports the 2010 WikiEditor toolbar as well as the VisualEditor toolbar.
By default it is switched off. When switched on, it will replace the standard textarea with the editor provided by CodeMirror library. When switched off, it will switch back to the standard textarea.
The colors used in this extension have been optimised for higher contrast, accessibility and better readability and now conform to the Web Content Accessibility Guidelines (WCAG 1.4.3 AA). The colors provide better access for people with limited vision as well as for users working in bright daylight conditions. (more information)
Features
Bracket matching
This feature highlights the innermost pair of brackets when the cursor lies between any bracket pair, and when the cursor lies directly next to a bracket, the feature highlights the corresponding matching bracket. Bracket matching is active in both editors when syntax highlighting is turned on in any namespace using these editors.
- Bracket matching new styling EN.gif
Bracket matching
Line numbering
In the wikitext edit mode line numbers are automatically displayed in both editors.
- Technical Wishes – Line numbering - 2010 wikitext editor.png
Line numbering in 2010 wikitext editor
- Zeilennummerierung im 2017 Wikitext Editor.png
Line numbering in 2017 wikitext editor
Colorblind mode
For users who have difficulty distinguishing between colors, CodeMirror offers a colorblind-friendly mode. This feature can be activated on wikis with CodeMirror enabled by navigating to the Special:Preferences page.
With the colorblind-friendly scheme active, the colors of the following page elements change:
Headings, symbols, signatures, section names, magic words | #E4A400 |
Templates | #9C3A00 |
HTML tags, references, mathematical expressions | #56B4E9 |
Variables | #009E73 |
In addition, background highlights and colors are removed from all text and objects. Bolding and underlining behavior remains unaffected.
Browser support
All browsers supported by MediaWiki are supported.
Nstallazzioni
- Install either the Estinzioni:WikiEditor extension or the VisualEditor extension, as instructed on their pages; at least one of these is required for this extension to work.
- <translate> [[<tvar name=2>Special:ExtensionDistributor/CodeMirror/scn</tvar>|Download]] and move the extracted <tvar name=name>
CodeMirror/scn
</tvar> folder to your <tvar name=ext>extensions/
</tvar> directory.</translate>
<translate> Developers and code contributors should install the extension [[<tvar name=git>Special:MyLanguage/Download from Git</tvar>|from Git]] instead, using:</translate>cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CodeMirror%2Fscn - <translate> Add the following code at the bottom of your <tvar name=1>LocalSettings.php </tvar> file:</translate>
wfLoadExtension( 'CodeMirror/scn' );
- Configure as required.
- File:OOjs UI icon check-constructive.svg <translate> Done</translate> – <translate> Navigate to <tvar name=special>Special:Version</tvar> on your wiki to verify that the extension is successfully installed.</translate>
<translate> Vagrant installation:</translate>
- <translate> If using <tvar name=vagrant>Vagrant </tvar>, install with <tvar name=code>
vagrant roles enable codemirror --provision
</tvar></translate>
Paràmitri di cunfigurazzioni
For color and style customization, see Meta help page. You can use your own styles for wikitext highlighting. Used styles available here. You should place your own styles to common.css .
Agghiunci lu còdici ccà susu â fini dô tò LocalSettings.php .
# Enables use of CodeMirror by default but still allow users to disable it
$wgDefaultUserOptions['usecodemirror'] = true;
Additional configuration:
- $wgCodeMirrorLineNumberingNamespaces
- Restrict line numbering to specific namespaces. Defaults to null, which enables it for all namespaces. Set to [] to disable everywhere.
- $wgCodeMirrorV6
- Temporary feature flag to control the migration to CodeMirror 6 (phab:T259059).
- $wgCodeMirrorConflictingGadgets
- An array of gadget names that, if enabled, will prevent CodeMirror from loading. Defaults to wikEd.
Extension integration
<translate> Task <tvar name=1>T348684</tvar></translate>
If your MediaWiki extension adds a new tag and you want to make sure CodeMirror properly highlights the content within it, you can add CodeMirror support to your extension. Here are two examples: Cite extension and PhpTags extension.
JavaScript integration
The following front-end hooks are used in this extension:
Hook | Parameters | |
---|---|---|
Type | Description | |
ext.CodeMirror.switch
|
boolean | Whether the CodeMirror editor is now shown |
jQuery object | The current "editor", which is either the normal <textarea /> or the .CodeMirror element.
|
If you need to interact with the contents of a CodeMirror instance, use jQuery.plugin.textSelection.
To do
- Unfortunately, right-to-left content is not supported. (<translate> task <tvar name=1>T170001</tvar></translate>)
- highlighting definition lists ( ;foo :bar ) (<translate> task <tvar name=1>T170042</tvar></translate>)
- auto-completion (<translate> task <tvar name=1>T95100</tvar></translate>)
- code folding (<translate> task <tvar name=1>T166098</tvar></translate>)
- highlighting inside gallery tag (<gallery> foo | bar </gallery>)
Talìa puru
- Overview of missing features and bugs: MediaWiki-extensions-CodeMirror
- User:Remember the dot/Syntax highlighter
- Extension:VisualEditor
- Estinzioni:WikiEditor
- Extension:CodeEditor
- Community Tech/Wikitext editor syntax highlighting - includes information on customizing the colors
- c:Category:MediaWiki extension CodeMirror
File:Wikimedia-logo black.svg | <translate> This {{<tvar name=1>#ifeq:Extension|Extension</tvar>|extension|skin}} is being used on one or more [[<tvar name=2>m:Special:MyLanguage/Wikimedia projects</tvar>|Wikimedia projects]].</translate> <translate> This probably means that the {{<tvar name=1>#ifeq:Extension|Extension</tvar>|extension|skin}} is stable and works well enough to be used by such high-traffic websites.</translate> <translate> Look for this {{<tvar name=1>#ifeq:Extension|Extension</tvar>|extension's|skin's}} name in Wikimedia's <tvar name=2>CommonSettings.php</tvar> and <tvar name=3>InitialiseSettings.php</tvar> configuration files to see where it's installed.</translate> <translate> A full list of the {{<tvar name=1>#ifeq:Extension|Extension</tvar>|extensions|skins}} installed on a particular wiki can be seen on the wiki's <tvar name=ver>Special:Version</tvar> page.</translate> |
Pride and codemirror.png |
- Pages with script errors
- Pages with broken file links
- Stable extensions/scn
- User interface extensions/scn
- Extensions with manual MediaWiki version
- Extensions with no license specified/scn
- Extensions in Wikimedia version control/scn
- All extensions/scn
- Extensions not in ExtensionJson
- Extensions used on Wikimedia/scn
- Syntax highlighting extensions/scn