Wikipedia:Technik/Text/Edit/CodeEditor
Vorlage:Überschriftensimulation 1 Die MediaWiki-Erweiterung CodeEditor (basierend auf Ace) dient dazu, bei der Bearbeitung Seiten besser darzustellen, die vollständig in einer formalen Sprache notiert sind („Content Model“). Insbesondere geht es um Syntaxhervorhebung, auch um die Anzeige von Zeilennummern.
Zurzeit ist Quellcode in JavaScript, CSS und Lua von Interesse. Im Namensraum Modul:
, der Lua-Quellen enthält, wird dies automatisch zugeschaltet. In anderen Situationen müssen sich die Benutzer selbst um die Aktivierung kümmern.
Individuelle Aktivierung
Wichtig: Konkurrierende Editoren müssen deaktiviert sein, namentlich WikEd.
Die Programmierung wird in die benutzerdefinierte JavaScript-Seiten eingefügt; meist common.js (siehe Skin/JS).
Kriterien für die Auswahl geeigneter Seiten:
- Die aktuelle Aktivität ist
edit
odersubmit
(wgAction). - CSS und JavaScript:
- Namensraum-Nummer größer Null und gerade (wgNamespaceNumber).
- Letzte drei bzw. vier Buchstaben des Seitennamens sind
.js
oder.css
(wgTitle).
- Lua
- Benutzernamensraum, also Nummer 2 (wgNamespaceNumber).
- Seitenname enthält
/Spielwiese/Modul:
(wgTitle).
- Zu den Variablen siehe hier.
Ist die Situation festgestellt worden, dass eine Quellcode-Seite bearbeitet wird, ist das entsprechende Schlüsselwort zuzuweisen; hier lua
als Beispiel. Danach werden die erforderlichen Module eingebunden (ResourceLoader).
mw.config.set("wgCodeEditorCurrentLanguage", "lua");
mw.loader.load( [ "ext.codeEditor",
"ext.codeEditor.ace",
"jquery.ui.resizable",
"jquery.wikiEditor" ] );
Verfügbare Sprachen
Standardmäßig werden zurzeit Syntaxdefinitionen passend zu den folgenden Schlüsselwörtern zugeladen:
javascript
json
css
lua
Es lassen sich weitere Typen aktivieren, für die in einer Wikipedia bislang keine Seiten bekannt sind:
c_cpp
clojure
csharp
coffee
groovy
html
java
ocaml
perl
php
python
ruby
scala
Dazu ist auch die Ressource ext.codeEditor.ace.modes
zu laden.
Cookie
Die Extension setzt den Cookie wikiEditor-0-codeEditor-enabled
– wird diesem der Wert 0 zugewiesen, ist die Grundeinstellung „geladen, aber keine Hervorhebung“.
Ein Klick auf die Schaltfläche /* aktiviert (1) und deaktiviert die Hervorhebung und ändert den Wert des Cookies.
Tools
- Benutzer:PerfektesChaos/js/editorContent startet den CodeEditor automatisch auf dafür geeigneten Seiten.