MediaWiki Diskussion:Gadget-SemanticTemplates.js

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
Aus Wikiversity

Einige Fragen[Bearbeiten]

Negation[Bearbeiten]

1) Es gibt einige Buttons, die nur bedingt erscheinen mittels einer if-Umgebung, wie z.B.

if(wgPageName.match(/Definition$/)){
   mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/7/7b/Button_clipboard_bold.gif",
     "speedTip": "Definitionswort",
     "tagOpen": " {{Definitionswort|",
     "tagClose": "|SZ=}} ",
     "sampleText": " Definitionswort "};
 }

Wie kann man es umgekehrt erreichen, dass gewisse Sachen bedingt nicht erscheinen. Mit sowas wie ifnot?

Z.B.: if(!wgPageName.match(/Definition$/)){
Das ! dreht die Lösung der Bedingung um, also wenn normalerweise die Bedingung wahr wäre, dann führt das ! dazu, dass die Bedingung falsch ist. Das gleiche passiert anders herum(normalerweise falsch, durch ! wahr) => Anweisungen(zwischen { und }) wird nur ausgeführt, wenn die ursprüngliche Bedingung falsch ist.
Gruß -- Jan Luca (Diskussion · Beiträge) 19:31, 14. Jun. 2009 (CEST)[Beantworten]
Sowas wie ifnot gibt es natürlich, nur wird es formal etwas anders ausgedrückt:
Nehmen wir:
if(wgPageName.match(/Definition$/))
wollen wir die Bedienung umgekehrt, also wenn es nicht übereinstimmt, geht es einfach mit ! hier im Beispiel also:
if(!wgPageName.match(/Definition$/))
-- MichaelFrey 19:50, 14. Jun. 2009 (CEST)[Beantworten]

Kategorie[Bearbeiten]

2) Wie muss man (wenn man eine bedingte Verwendung möchte) den vorderen Teil eines Seitennamens ansprechen, etwa eine Vorlage oder eine Kategorie?

Du meinst wohl den Namensraum. Die Variabeln dazu heissen
wgCanonicalNamespace
wgNamespaceNumber
Da du schätzungsweise gerne mit Text arbeitest, empfehle ich wgCanonicalNamespace
Beachte: Das ist der interne Name für Mediawiki. Da dies ein deutschsprachiges Projekt ist, kann es sein das er vom angezeigten Namen abweicht.
-- MichaelFrey 19:50, 14. Jun. 2009 (CEST)[Beantworten]
ich hab jetzt mal
if(wgCanonicalNamespace.match(/Vorlage$/)){
mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/7/74/Button_oeil.png",
     "speedTip": "Strukturvorlage",
     "tagOpen": "<includeonly>{{#switch:{{{opt|}}}\n|wort=\n|#default=\n {{#switch: {{#titleparts:{{FULLPAGENAME}}|1|-1}}\n|latex=\n|#default=",
     "tagClose": "\n}}\n}}</includeonly><noinclude>{{Operatorvorlage| |}}</noinclude>",
     "sampleText": "Struktur"};
}

ausprobiert (und zwar auch ohne die / und ohne $), der Button ist dann aber immer verschwunden, egal ob unter Vorlage: oder nicht. Was muss ich ändern? Vielen Dank schon mal an euch beide für die vielen und schnellen Tipps, ich brauch noch was Zeit, um es umzusetzen.--Bocardodarapti 22:53, 14. Jun. 2009 (CEST)[Beantworten]

Du hast zwei { geöffnet und nur ein } geschlossen:
if(wgCanonicalNamespace.match(/Vorlage$/)){
  mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/7/74/Button_oeil.png",
     "speedTip": "Strukturvorlage",
     "tagOpen": "<includeonly>{{#switch:{{{opt|}}}\n|wort=\n|#default=\n {{#switch: {{#titleparts:{{FULLPAGENAME}}|1|-1}}\n|latex=\n|#default=",
     "tagClose": "\n}}\n}}</includeonly><noinclude>{{Operatorvorlage| |}}</noinclude>",
     "sampleText": "Struktur"};
  }
}
[1] oder [2]
Du musst also den englischen Namen des Namensraumes verwenden.
-- MichaelFrey 18:50, 15. Jun. 2009 (CEST)[Beantworten]
Vielen Dank, das passt, Gruß--Bocardodarapti 08:50, 16. Jun. 2009 (CEST)[Beantworten]

Ausblenden von Buttons[Bearbeiten]

3) Wie könnte man noch die Standardbuttons wegkriegen (na ja, die Unterschrift und nowiki braucht man, für alles andere gibt es eine semantische Variante.

Die Buttons haben eigene CSS Klassen. Der für fetten Text hat z.B.
mw-editbutton-bold
Du kannst die Button per CSS ausblenden. Damit verschwindet z.B. der Knopf für die Fettschreibung.
Damit dein Gadget CSS verwenden kann, kannst du eine CSS Datei bei MediaWiki:Gadgets-definition eintragen.
Alternativ kann ich es dir auch machen. Sag mir einfach welche Buttons und ich mach es dir.
-- MichaelFrey 19:50, 14. Jun. 2009 (CEST)[Beantworten]

aufteilen des Codes[Bearbeiten]

4) Kann man in eine solchen js-Datei auch eine kleinere js-Datei einlesen (also gewisse Teile auslagern)?--Bocardodarapti 17:51, 14. Jun. 2009 (CEST)[Beantworten]

Z.B. importScript ('MediaWiki:Gadget-ToolbarExtension-SemanticTemplates-Hauptfunctionen.js'); => importScript (' Name unter dem die das Skript zu finden ist ');
Gruß -- Jan Luca (Diskussion · Beiträge) 19:31, 14. Jun. 2009 (CEST)[Beantworten]
Ja das geht, dazu gibt es mehre Mechanismen.
Dazu aber erst eine gegenfrage:
Wieso willst du es spalten?
Deine Beweggründe sollen ein Kriterum bei der Wahl der Technik sein.
Wenn du z.B. Code für ein anderes Gadget auch gebrauchen kannst, ist das etwas anderes als wenn du "nur" den Code übersichtlicher haben möchtest.
-- MichaelFrey 19:50, 14. Jun. 2009 (CEST)[Beantworten]

Bemerkungen[Bearbeiten]

if(wgPageName.match(/Situation$/)){
   mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/e/ec/Button_aviso_borrado.png",
     "speedTip": "Situationsbeschreibung",
     "tagOpen": " ",
     "tagClose": "<noinclude>\n{{Mathematischer Text
          \n|TEXTART=Situation
          \n|KATEGORIE= 
          \n|KATEGORIE2= 
          \n|KATEGORIE3= 
          \n|STICHWORT=
          \n|OBJEKTKATEGORIE= 
          \n|BEARBEITUNGSSTAND= 
          \n|VERMERK1= 
          \n}}</noinclude>",
     "sampleText": "Subjekt (Grammatik)"};
 }





Match-Begriffe müssen immer in / / stehen.


if(wgPageName.match(/Mastalink/)){
   mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/7/74/Button_oeil.png",
     "speedTip": "Standardlink",
     "tagOpen": "#REDIRECT [[",
     "tagClose": "/Definition|{{{1|}}}]][[Kategorie:Mathematische Standardlinks]]",
     "sampleText": "Linkseitenname"};
 }




Das folgende hatte einiges durcheinandergebracht. Die Aufklappfunktion (Definitionsliste und inputfaktbeweisklappe) hat nicht mehr funktioniert.

if(wgPageName.match(Vorlage)){
   mwCustomEditButtons[mwCustomEditButtons.length] = {
     "imageFile": "http://upload.wikimedia.org/wikipedia/commons/7/74/Button_oeil.png",
     "speedTip": "Vorlagenumgebung",
     "tagOpen": "<includeonly>{{#switch: {{#titleparts:{{FULLPAGENAME}}|1|-1}}\n|latex=\n#default=",
     "tagClose": "\n}}</includeonly><noinclude>[[Kategorie:/Strukturvorlagen|/Strukturvorlagen]]</noinclude>",
     "sampleText": "Wirkungsweise"};
 }

--Bocardodarapti 21:37, 5. Mai 2009 (CEST)[Beantworten]





Die neuen Buttons für Vorlage und Parameter passen nicht zu den Clipboards, der Smiley passt inhaltlich nicht zu Parameter und ist eine Notlösung.--Bocardodarapti 17:03, 17. Jan. 2009 (CET)[Beantworten]