Benutzer:Cowboy/signing

Aus Cowboy’s Wiki
Zur Navigation springen Zur Suche springen
Information.png
Dieses Benutzerscript stammt aus der deutschprachigen Wikipedia von Benutzer:Perhelion.



Anleitung & Benutzungshinweise:

Das Script threadSign (oder signing; für Thread und Signieren) ermöglicht das automatische Signieren (Unterschreiben) eigener Diskussionsbeiträge. Signatur und Zeitstempel

(Nicht zu verwechseln mit einem nachträglichen Unterschreiben anderer unsignierter Beiträge siehe: Unsigned | /unsigned.js)
So sieht in etwa die An/Aus-Checkbox aus.

Einbindung

Das Script kann ohne Konfiguration mittels folgendem Code in deiner benutzerdefinierten /common.js (JavaScript-Skinseite) eingebunden werden:

// Automatische Unterschrift, Beschreibung [[:de:Benutzer:Perhelion/signing]]
mw.loader.load("https://meta.wikimedia.org/w/index.php?title=User:Perhelion/signing.js&action=raw&ctype=text/javascript");

Für den konkreten Fall, dass du eine Kopie von PDD's monobook benutzt, brauchst du einfach nur die var signing = true; setzen.


Features/Technikinfo

  • Eine Signatur wird in den allermeisten Fällen problemlos automatisch gesetzt, in seltenen Fällen (bei Uneindeutigkeit) wird eine Warnung gesetzt (allerdings nur einmal).
  • Über eine Schaltfläche kann das Script ein- und ausgeschaltet werden (nur bis zur nächsten Bearbeitung).
Zusätzliche Gimmicks
  • Es wird eine automatische Einrückung entsprechend dem letzten Kommentar erhöht gesetzt (falls vorhanden), falls diese nicht benutzt wird, wird diese automatisch wieder entfernt.
    (Technik-Detail: Quelltext-Kommentare (sog. versteckte) am Ende werden als solche erkannt und übersprungen)
    Die automatische Einrückung wird entsprechend bei einem manuellen Zeilenumbruch (Enter) fortgeführt (Mai 2016).
  • Die Signatur kann mittels zweier Parameter für einen differenzierten Einsatz konfiguriert werden.
  • Die Cursormarke (caret) wird ans Ende des Textfeldes gesetzt, mit aut. Focus dorthin.
    (Technik-Detail: Kompatibilität zu den jeweiligen Syntax-Highlightern besteht)[1][2]
  • Schaltfläche: Ein zweiter Signatur-Button in der Werkzeugleiste unterhalb des Textfeldes (manuelles Setzen). Signatur und Zeitstempel
  • Schaltfläche: Outdent-Button (optischer Abbruch der Einrückung → daher Ausrückung).Tango style outdent icon.svg
  • Schaltfläche: Echo-Button (Ping).Tango style ping icon.svg (mit Userlist-Dropdown)
  • Schaltfläche: Mention-Button (Link).Flow-mention.svg (mit Userlist-Dropdown)

Weitere Details

  1. Automatisch: signiert werden mit Sicherheit (unproblematisch) Kommentare am Ende bzw. Neuerstellung eines Abschnitts (– natürlich ohne Nachfrage), auch schon bei der Vorschau- oder Änderungs-Anzeige
  2. Automatisch: ist auch eine Erkennung von Kommentaren zwischen anderen (hier müssen wesentlich mehr Möglichkeiten abgedeckt werden, daher könnte hier noch eine potentielle Anfälligkeit bestehen, daher eine solche Eventualität bitte melden)
  3. Automatisch: aktiv auf allen Diskussionsseiten auch bei Nicht-Diskussionsseiten mit dem Magischen Wort __NEWSECTIONLINK__ (gegenüber „Vorlage:Autoarchiv“ und „Vorlage:Autoarchiv-Erledigtmittels Ajax API) im Wikipedia-Namensraum,(in Version 1.69 wieder entfernt) zusätzlich zu einer Whitelist (über den Parameter „regpages“ erweiterbar ist, siehe #Konfiguration)
  4. Ignoriert: werden kleine Änderungen, bzw. werden unter (weniger als 4 Zeichen) Umständen automatisch als solche erkannt. Mit Ausnahme von Kommentaren als neuer Abschnitt oder als Letzter/Unterster.
  5. Tastaturkürzel: Der „Automatik“-Schalter (Checkbox) kann per <+Alt bedient werden (wäre für den Signatur-Button auch möglich. Vorschläge siehe #Bugs/ToDo)
    (Das Neuladen und eine Vorschauübergabe, bzw. Vergleichsansicht ist mittels Cookie-Übergabe gelöst.)

Konfiguration

Das Script kennt einige optionale Parameter die vor der eigentlichen Einbindung gesetzt werden können:

  1. Individuelle Signatur (einfach): usersignature: ' -- ~~\~~', // "Deine Sig."
    1. Individuelle Signatur (ausführlicher):
      Falls man eine etwas aufwändigere Signatur hat, ist dafür ein zweiter spezieller Signatur-Parameter vorgesehen. Aus dem schlichten Grund, dass in bestimmten Fällen eine nur einfache Signatur angebracht ist.
        sigText: '<kbd style=\"white-space:nowrap;color:#567\">~~\~ <small>~~\~~\~</small></kbd>',  // Deine noch besonderere Sig
      
  2. Einen automatischen Standardkommentar in der Zusammenfassung: dSum: 'aw',
  3. Individuelle Seiten (Whitelist):
    regpages: ['CowboysWiki:'], // Vorsicht: komplette Projekt-Namensraum
    Das Bsp. setzt das Script für alle Seiten im Wikipedia-Projekt-Namensraum aktiv (Diskussionsseiten stets, nicht zu verwechseln mit ‚Portal:‘), mehr geht nicht. Ansonsten kennt das Script einige bekannte Seiten (zu den Diskussionsseiten) (siehe Whitelist). Anm.: Der Beispiel-Parameter könnte ab Version 1.64 teilweise obsolet sein.
    Der Parameter muss ein String-Array sein, also eine Liste mit Textstücken.
  4. Individuelles Tastaturkürzel (accesskey) für die Checkbox: sigAccessKey: 'a',
    Standard ist das Kleiner-als-Zeichen <, aktivierbar mit Alt. Je nach Browser, dabei ist darauf zu achten, dass dieser nicht schon anderweitig belegt ist.
  5. BETA: Eine automatische Anrede bzw. Begrüßung: autoSalut: 1,

Um die Parameter dem Script zu übergeben sieht die Einbindung wie folgt aus (obiges Einbindungs-Bsp. ist folglich hinfällig. Beim letzten bzw. einzelnen Parameter sollte kein Komma gesetzt werden):

if ( !mw.config.get('wgIsArticle') && /^(edit|submit)$/.test(mw.config.get('wgAction')) ) { // Hier nachfolgend nur Scripte im Edit-Modus
	// Automatische Unterschrift, Beschreibung [[:de:Benutzer:Perhelion/signing]]
	$(document).bind('loadWikiScript', function (e, name, threadSign) {
		if (name === 'Perhelion/signing.js') {
			threadSign.config = {
				regpages: ['CowboysWiki:'],  //Vorsicht: kompletter Wikipedia-Namensraum
				usersignature: " -- ~~\~~",
				sigText: '<kbd style=\"white-space:nowrap;color:#567\">~~\~ <small>~~\~~\~</small></kbd>',
				sigAccessKey: 'a'
			};
		}
	});
	mw.loader.load("https://meta.wikimedia.org/w/index.php?title=User:Perhelion/signing.js&action=raw&ctype=text/javascript");
}

Einschränkungen

Hinweise & Instruktionen
  • Ausgeschlossen: sind (absichtlich) als solche gekennzeichnete „Kleine Änderungen“ (minoredits)
  • Ausgeschlossen: sind zunächst Seiten, die keine Diskussionsseiten sind (so wie auch diese), es sei denn die Seite befindet sich im Whitelist-Filter:
Dieser enthält bereits einige bekannte Seiten, ist jedoch über den Parameter regpages individuell erweiterbar, allerdings nur für den Wikipedia-Namensraum.

:# Ausnahmen: sind Seiten im Wikipedia-Namensraum die für den Archivbot markiert wurden (Version 1.64).

whitelist: [
		':Löschkandidaten/', // -nns
		'erkstatt', //Grafik -nns
		'wünsche', // Entsperr, Bilder -nns
		':Auskunft',
		':Café',
		':Fragen von Neulingen',
		':Fragen zur Wikipedia',
		':Verbesserungsvorschläge',
		':Urheberrechtsfragen',
		':Kandidat', // en, uren
		':Löschprüfung',
		':Sperrprüfung',
		'Meinung', // sbilder, Dritte
		':Qualitätssicherung/',
		' Bilder', // Diskussionen über, , Redaktion
		':Review',
		':Vandalismusmeldung',
		'/Anfragen', //WP:A/A
		'Notizen', //WP:A/N
		':Tellerrand',
		':WikiProjekt Vorlagen',
		':Projektdiskussion',
		':WikiProjekt Wappen',
		':Redaktion '
	];

Meinungen/Anregungen/Vorschläge

Diesbezügliches Feedback oder sonstige Hilfe ist immer willkommen. Hierfür wäre die umseitige Diskussionsseite angeraten. Ein vorausgehender genereller Dank geht unter anderem an die Unterstützer der CowboysWiki:Technik/Werkstatt.

  • Eventueller Funktions-Abgleich mit Benutzer:CopperBot
  • Ein extra Modul für User-Ignore⁉User: Perhelion 18:15, 9. Aug. 2014 (CEST) verworfen (für dieses Feature gibt es nun auch offizielle Pläne)

Bugs/ToDo

* Falls sich Leerzeichen (wie Zeilenumbrüche) am Ende des Kommentars befinden, werden diese „sporadisch“ nicht wie gewünscht entfernt (dafür wird momentan eine jQuery-Funktion verwendet). Den Fehler konnte ich bis jetzt nur auf Commons beobachten (im speziellen bei Löschanträgen). -- Cowboy 13:51, 27. Apr. 2014 (CEST) Der Fehler scheint nun behoben. → User: Cowboy 00:59, 24. Jun. 2014 (CEST)

  • Ein Tastaturkürzel für das Signieren? Wäre im Prinzip redundant aber möglich (zur eigenen Sicherheit).User: Cowboy 02:01, 24. Jun. 2014 (CEST)

* Noch einen ExtraButton für eine Funktion in der Art eines gesubsten c:Template:Outdent.User: Cowboy 21:29, 2. Jul. 2014 (CEST) erledigtErledigt

Kompatibilität

  • Das Script ist im Vector- und Monobook-Skin getestet.
  • Die Verwendung des Edittools wikEd wird nicht unterstützt. (Es scheint auch eher im konträren Namensraum von Nutzen. Tatsächlich werden ganze „zwei“ andere Scripte als kompatibel gelistet – 20. Jun. 2016. Allerdings kann man gerne – auf Anfrage – über eine Implementierung nachsinnen.)
  • Browser-Kompatibilität: Sollte mit allen gängigen aktuellen Browsern funktionieren (ansonsten bitte melden).

Fehler können auch direkt auf meiner Diskussionsseite gemeldet werden.

Verwendung in anderen Projekten

Die Nutzung in anderen Projekten sollte ohne größere Probleme möglich sein. Zurzeit ist das Script in Deutsch und Englisch konfiguriert verfügbar. Über die Parameterliste (regpages) können die betreffenden Seiten individuell definiert werden, s. #Einbindung und #Konfiguration. (Persönlich benutze ich es in der Englischen und auf Commons.)

Code

Der JavaScript-Code befindet sich unter m:User:Perhelion/signing.js (adaptiert März 2007).

Hinweis: Du darfst diese Seite editieren!
Ja, wirklich. Es ist schön, wenn jemand vorbeikommt und Fehler oder Links korrigiert und diese Seite verbessert. Sollten deine Änderungen aber dem Inhaber dieser Benutzerseite nicht gefallen, sei bitte nicht traurig oder verärgert, wenn sie rückgängig gemacht werden.
Cowboy’s Wiki ist ein Wiki, sei mutig!