Zum Inhalt springen

Wikipedia:Technik/Text/Edit/CodeEditor

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 24. März 2013 um 21:52 Uhr durch PerfektesChaos (Diskussion | Beiträge) (kl. ergs). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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 oder submit (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.

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

Implementierung