Benutzer:Perhelion/signing
Anleitung & Benutzungshinweise:
…
Das Script threadSign (oder signing; für Thread und Signieren) ermöglicht das automatische Signieren (Unterschreiben) eigener Diskussionsbeiträge.
(Nicht zu verwechseln mit einem nachträglichen Unterschreiben anderer unsignierter Beiträge siehe: Unsigned | /unsigned.js)
Einbindung
[Bearbeiten | Quelltext bearbeiten]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
[Bearbeiten | Quelltext bearbeiten]- 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.
- Schaltfläche: Ein zweiter Signatur-Button in der Werkzeugleiste unterhalb des Textfeldes (manuelles Setzen).
- Schaltfläche: Outdent-Button (optischer Abbruch der Einrückung → daher Ausrückung).
- Schaltfläche: Echo-Button (Ping). (mit Userlist-Dropdown)
- Schaltfläche: Mention-Button (Link). (mit Userlist-Dropdown)
Weitere Details
[Bearbeiten | Quelltext bearbeiten]- 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
- 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)
- Automatisch: aktiv auf allen Diskussionsseiten
auch bei Nicht-Diskussionsseiten mit dem Magischen Wort(in Version 1.69 wieder entfernt) zusätzlich zu einer Whitelist (über den Parameter „regpages“ erweiterbar ist, siehe #Konfiguration)__NEWSECTIONLINK__
(gegenüber „Vorlage:Autoarchiv“ und „Vorlage:Autoarchiv-Erledigt“ mittels Ajax API) im Wikipedia-Namensraum, - 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.
- 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
[Bearbeiten | Quelltext bearbeiten]Das Script kennt einige optionale Parameter die vor der eigentlichen Einbindung gesetzt werden können:
- Individuelle Signatur (einfach):
usersignature: ' -- ~~\~~', // "Deine Sig."
- 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
- 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.
- Individuelle Signatur (ausführlicher):
- Einen automatischen Standardkommentar in der Zusammenfassung:
dSum: 'aw',
- Individuelle Seiten (Whitelist):
regpages: ['Wikipedia:'], // 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. - 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. - 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: ['Wikipedia:'], //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
[Bearbeiten | Quelltext bearbeiten]- 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.
- Dieser enthält bereits einige bekannte Seiten, ist jedoch über den Parameter
:# Ausnahmen: sind Seiten im Wikipedia-Namensraum die für den Archivbot markiert wurden (Version 1.64).
- Diese Liste sieht momentan wie folgt aus (whitelist s. Quellcode auch für En:):
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
[Bearbeiten | Quelltext bearbeiten]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 Wikipedia: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
[Bearbeiten | Quelltext bearbeiten]* 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). -- Perhelion 13:51, 27. Apr. 2014 (CEST) Der Fehler scheint nun behoben. → User: Perhelion 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: Perhelion 02:01, 24. Jun. 2014 (CEST)
* Noch einen ExtraButton für eine Funktion in der Art eines gesubsten c:Template:Outdent. → User: Perhelion 21:29, 2. Jul. 2014 (CEST)
Erledigt
Kompatibilität
[Bearbeiten | Quelltext bearbeiten]- 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
[Bearbeiten | Quelltext bearbeiten]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
[Bearbeiten | Quelltext bearbeiten]Der JavaScript-Code befindet sich unter m:User:Perhelion/signing.js (adaptiert März 2007).
Wikipedia ist ein Wiki, sei mutig!