Benutzer:PerfektesChaos/js/citoidWikitext
JavaScript Benutzerskript – automatisches Ausfüllen von Zitationsvorlagen – {{Literatur}} und {{Internetquelle}} etc. – mittels Zotero-Expertise und dem Citoid-Server der WMF.
Bei einer nach der Cursorposition im Bearbeitungsfeld stehenden Publikationsbezeichnung wird versucht, die Metadaten dazu zu erlangen; und im Erfolgsfall dies mittels geeigneter ausgefüllter Zitationsvorlage in den Wikitext eingefügt. Bei auskunftsfreudigen Zielseiten genügen zwei Mausklicks.
Installation
Folgende Zeile in die persönliche common.js einfügen:
mw.loader.load("https://en.wikipedia.org/w/index.php?title=User:PerfektesChaos/js/citoidWikitext/r.js&action=raw&bcache=1&maxage=86400&ctype=text/javascript");
Kompatibilität
Aktiviertes JavaScript ist zwangsläufig erforderlich.
- Der Browser muss Cross-Origin Resource Sharing (CORS) unterstützen, was bei allen gängigen und aktuellen großen Browsern der Fall ist.[1]
- CodeMirror wird berücksichtigt; ebenso die Gadgets wikEd, edithelper@Schnark und syntaxhighlight@Schnark.
- Beide Arten von Werkzeugleisten (2006 und 2010) werden unterstützt; auch ganz ohne Werkzeugleiste.
- LivePreview ohne Bedeutung.
- Skin ist ohne Bedeutung.
- Desktop (nicht mobil) dringend empfohlen.
Mögliche Suchwünsche
Die spezifischen Publikationsbezeichner sollen zukünftig noch um weitere Typen ergänzt werden.
URL
Jede beliebige URL (mit mindestens einem Schrägstrich als root-Pfad) kann versuchsweise analysiert werden. Mit einem Leerzeichen, Zeilenumbruch, #
oder <
sowie schließender eckiger Klammer ]
ist die wirksame URL beendet.
Im ungünstigsten Fall, sofern die Website wenigstens reagiert hatte, kann zumindest die {{Internetquelle}} eingefügt werden, mit vorausgefüllter URL und momentanem Abrufdatum.
Vor der URL kann die öffnende Klammer [
stehen.
ISBN
Folgende Formatvariationen von ISBN werden unterstützt, tolerant gegen Leerzeichen, Groß- und Kleinschreibung ohne Bedeutung; Beispiele:
- ISBN 3-7891-4161-5
- isbn: 9129657520
- isbn = 978-3-577-09102-2
Zu jeder syntaktisch gültigen ISBN (auch bei fehlerhafter Prüfziffer) wird WorldCat abgefragt.
Ergänzt wird das je nach der mutmaßlichen Sprache, die sich aus der ISBN ableiten lässt, durch Nationalbibliotheken usw.:
- Deutsch – Deutsche Nationalbibliothek sowie zurzeit im Südwestdeutschen Bibliotheksverbund
- Englisch – Library of Congress
- Französisch, niederländisch, polnisch analog
- Weitere Sprachen werden zukünftig besser unterstützt, sobald sich die Qualität der Ergebnisse genauer einschätzen lässt.
- Benutzerdefinierte Bibliothekskataloge können allgemein oder je Sprache vereinbart werden.
Während der Auswertung werden zu jeder abgefragten Bibliothek auch Links auf die angefragten Seiten angezeigt; zusätzlich auch zur spezifischen Spezial:ISBN-Suche.
DOI
DOI können beispielsweise in folgenden Formaten spezifiziert werden:
- DOI 10.1000/182
- doi=10.1000/182
- [[doi:10.1000/182]]
- {{DOI|10.1000/182}}
Es wird weitergeleitet auf wissenschaftliche Zeitschriften, deren Seiten häufig gut aufbereitete Informationen bereitstellen.
Standard-IDs: arXiv, PMID, PMC
Die Formate für arXiv, PubMed sind ähnlich wie für ISBN usw.:
- [[arxiv:0704.0220]]
- arXiv astro-ph/0301118
- PMID 1234567
- pmid= 7654321
- pmid: 1234
- PMC 123
- {{PMC|456}}
Die wissenschaftlichen Zeitschriften, die derartige IDs anbieten, sind oft mit semantischen Informationen ausgestattet.
Bibliothekskataloge: DNB, LCCN, OCLC
Die Formate für DNB, LCCN, OCLC sind vergleichbar aufgebaut:
Die semantische Aufbereitung der Kataloge ist unterschiedlich detailliert.
Vorlage:Google Buch
Zu dieser Vorlage wird die URL gebildet und ausgewertet; oft mit gutem Ergebnis.
Zotero-Unterstützung
Eine Aufzählung der zurzeit unterstützen Websites oder aber inhaltlicher Formate wird auf GIT oder für (angemeldete?) Phabricator-Benutzer im Repositorium GZTT gelistet. Die derzeitigen Domains sind unter Wikipedia:Technik/Labs/Citoid/Zotero aufgelistet.
Wissenschaftliche Zeitschriften, das deutsche Bundesgesetzblatt, die Neue Zürcher Zeitung und viele andere deutschsprachige wie internationale Zeitungen und Magazine sowie die Software verschiedener Bibliothekskataloge werden besonders unterstützt, so dass dafür gut strukturierte Ergebnisse zu erwarten sind.
Interaktive Bedienung
Geeignete Seiten
Auf den nachstehenden Seiten wird im Quelltext-Bearbeitungsmodus das Skript aktiv:
- Alle Artikel.
- Alle eigenen Benutzer-Unterseiten.
- Vorlagen, deren Titel mit
Bib
beginnt. - Wikipedia:Spielwiese.[2]
Weitere Seiten können zusätzlich benutzerdefiniert vorgegeben werden.
Werkzeuglinks
Wenn eine grafische Werkzeugleiste vorhanden ist, wird dort ein Button eingefügt, sonst in der linken Spalte des Portals:
Element | Modus |
| |
| |
Werkzeugbox | ohne Werkzeugleisten |
Citoid | Nach dem Öffnen der Citoid-Box oberhalb des Bearbeitungsfeldes. |
Der Klick startet sofort die Auswertung des Textes an der Cursorposition und die Abfrage; die Citoid-Box wird geöffnet.
Gesuchte Publikation beschreiben
- Standardmäßig wird der Quelltext an der Cursorposition im Bearbeitungsfeld analysiert.
- Wenn ein Textbereich selektiert (markiert) ist, dann dieser.
- Nach dem Öffnen der Citoid-Box (meist oberhalb des Bearbeitungsfeldes) kann mit _ ein Texteingabefeld aktiviert werden. Dann gilt statt der Cursorposition die dortige Eingabe.
Von der Cursorposition an gilt der dort stehende Text. Leerzeichen können geeignet zwischen Schlüsselwörter und Daten eingestreut werden. Die Publikationsbeschreibung wird dort soweit ausgewertet, wie das syntaktisch zu erwarten ist:
- URL bis zum nächsten Leerzeichen, schließende Klammer
]
oder Zeilenende. - ID bis zum nächsten Leerzeichen, geeignete Satzzeichen oder Zeilenende; ggf. beginnend mit einem Schlüsselwort wie „ISBN“.
- Vorlageneinbindungen bis zur entsprechenden Pipe
|
, schließende Klammern}}
oder Zeilenende.
Nachstehend ein Bildschirmausschnitt zu dieser allerersten Phase; eine geeignete Cursorposition im Bearbeitungsfeld ist blau markiert:
== Literatur ==
Wiki-Lexikon: |ISBN 978-3-577-09102-2 (von 2008)
Citoid-Box
Nach dem ersten Werkzeug-Klick wird (in der Regel unmittelbar oberhalb des Bearbeitungsfeldes) eine Box geöffnet. Sie kann auch wieder geschlossen werden. Durch Interaktion mit anderen Systemen für die Benutzeroberfläche (WikiEditor) könnte sie auch unterhalb des Textfeldes stehen.
Ganz links darin befindet sich ein Button Citoid zum Starten von Abfragen. Die Buttons in den Werkzeugleisten behalten ihre Wirkung; sie ist identisch.
Als Tooltip wird auf dem Button die aktuelle Versionsbezeichnung dieses Skripts angezeigt.
Steuerelemente
In der einmal geöffneten Citoid-Box sind rechts oben die folgenden Knöpfe verfügbar (von links nach rechts):
Button | Wirkung |
0 | Bearbeitung abbrechen, Citoid-Box leeren |
_ | Texteingabefeld für Publikationsbeschreibung anzeigen |
? | Diese Hilfeseite in einem neuen Browser-Fenster anzeigen (aber immer in demselben) |
X | Bearbeitung abbrechen, Citoid-Box schließen. |
Abruf und Probleme
In der Citoid-Box werden nach Beginn des Abrufs folgende Symbole angezeigt:
Symbol | Bedeutung |
Citoid-Server wird kontaktiert. | |
??? | Es konnte kein Publikationsbezeichner erkannt werden. |
!?!?! | Es wurde ein Publikationsbezeichner gefunden, die zugehörigen Daten sind jedoch ungültig. |
* | Ergebnisse liegen vor. |
:-( | Ein Server antwortete nicht (WMF oder Zielseite) oder forderte eine Autorisierung. |
Zusätzlich werden Verlinkungen [1] [2] usw. angezeigt. Sie bilden genau diejenigen Webseiten ab, die zurzeit automatisch kontaktiert werden. Diese Seiten werden in neuen Browser-Fenstern angezeigt (aber immer in denselben).
Nachstehend ein Bildschirmausschnitt während der Kontaktaufnahme mit dem Server:
Wiki-Lexikon: |ISBN 978-3-577-09102-2 (von 2008)
Ergebnisse
Grundsätzlich hängt die Qualität des Ergebnisses davon ab, was in der Zielseite an Informationen verfügbar ist; ob dies bereits semantisch strukturiert aufbereitet wurde (etwa bei einer wissenschaftlichen Zeitschrift) oder die Formatierung Zotero bereits bekannt ist.
Wenn ein Ergebnis vorliegt, wird die dafür geeignetste Vorlage bestimmt und in einer der folgenden Formatierungen an der Cursorposition eingefügt, bzw. ein selektierter (markierter) Textbereich ersetzt:
Button | Wirkung |
kompakt |
Vorgesehen für die Verwendung innerhalb des laufenden Texts. |
<ref></ref> | Wie eben kompakt, aber in <ref> und </ref> einschließen.
|
== Literatur == | (Nur wenn Vorlage sich dafür eignet)
|
<references> |
Vorgesehen für die Verwendung innerhalb eines Blocks |
Nach dem Einfügen müssen alle Parameterwerte auf Plausibiltät geprüft und ggf. korrigiert oder manuell ergänzt werden:
- Das Auslesen von Personennamen aus der Website gelingt nicht immer richtig.
- Angaben können völlig fehlen.
- Werte können in den falschen Feldern gelandet sein.
- Werte können völliger Nonsens sein.
- Groß- und Kleinschreibung, Abkürzungen, Typografie müssen ggf. nachgearbeitet werden.
In der Citoid-Box sind noch Links auf alle abgefragten Seiten vorhanden, die in eigenen Browser-Fenstern geöffnet werden und mittels derer fehlende Angaben manuell identifiziert und kopiert werden können.
Dieses Skript hat weder einen Einfluss auf die inhaltliche Qualität der Ergebnisse noch auf die Verfügbarkeit des Citoid-Servers oder die auszuwertenden Zielseiten.
Nachstehend ein Bildschirmausschnitt zu dieser Phase; ein Klick auf einen der Buttons fügt das Resultat an der blau markierten Cursorposition ein:
== Literatur ==
Wiki-Lexikon: |ISBN 978-3-577-09102-2 (von 2008)
Nach einem Klick auf == Literatur == wird das Resultat an der Cursorposition eingefügt. Wäre die Textpassage markiert gewesen, dann wäre der markierte Bereich ersetzt worden. Die Links auf die externen Websites sind immer noch vorhanden:
== Literatur ==
Wiki-Lexikon: |
* {{Literatur
|Autor=
|Hrsg=Tanja Loos, Lexikoninstitut Bertelsmann
|Titel=Das Wikipedia-Lexikon in einem Band: [die meistgesuchten Inhalte der freien Enzyklopädie]
|Sammelwerk=
|Band=
|Nummer=
|Auflage=1.
|Verlag=Wissen-Media-Verl
|Ort=Gütersloh München
|Darum=2008
|Seiten=
|ISBN=978-3-577-09102-2}}
ISBN 978-3-577-09102-2 (von 2008)
Benutzerkonfiguration
Persönliche Anpassungen sind möglich.
Anwendungs-Objekt definieren
Noch vor der Zeile mit der Einbindung ist in die persönliche common.js einzufügen:
if ( typeof mw.libs.citoidWikitext !== "object" ) {
mw.libs.citoidWikitext = { };
}
Danach können individuelle Zuweisungen vorgenommen werden.
Zusätzliche Seiten
Es können zusätzlich zu den Standardseiten weitere Seiten vorgegeben werden, die mit Citoid ausgestattet werden sollen.
Die Komponente .pages
muss ein object sein, dessen Komponenten die Nummer des Namensraums darstellen und denen als Zeichenkette oder object ein Regulärer Ausdruck zugewiesen wird, der alle gewünschten Seitentitel abdeckt.
Beispiel: Alle Unterseiten von Benutzer:Artikelstube
if ( typeof mw.libs.citoidWikitext !== "object" ) {
mw.libs.citoidWikitext = { };
}
mw.libs.citoidWikitext.pages = { 2: "^Artikelstube/" };
Die 2
steht für Benutzer:, Benutzerin: oder user: und das ^
fordert, dass der Benutzername wie angegeben beginnen muss. Der /
am Ende schränkt auf Unterseiten ein.
Box zu Beginn öffnen
Soll die Citoid-Box bereits beim Öffnen der Bearbeitungsseite geöffnet sein, kann dies wie folgt erreicht werden:
if ( typeof mw.libs.citoidWikitext !== "object" ) {
mw.libs.citoidWikitext = { };
}
mw.libs.citoidWikitext.leading = true;
Bibliothekskataloge
Es können die URL von bevorzugten Bibliothekskatalogen vorgegeben werden, die zusätzlich kontaktiert werden. Für die aktuelle ISBN ist als Platzhalter ein #
anzugeben.
Beispiel: Suche im KOBV-Verbund
if ( typeof mw.libs.citoidWikitext !== "object" ) {
mw.libs.citoidWikitext = { };
}
mw.libs.citoidWikitext.isbn = "http://digibib.kobv.de/cgi-bin/deeplink-from-wikipedia?ISBN=#";
Es ist auch möglich, statt einer einzelnen Zeichenkette für eine immer aufzurufende Bibliothek ein Array oder ein Objekt anzugeben, um mehrere URL oder eine für die momentane Publikationssprache spezifische Serie von Bibliotheken zu nennen:
Datentyp | Bedeutung |
string
|
Ein URL-Muster, das immer abgefragt wird. |
Array
|
Mehrere string mit URL, die immer abgefragt werden.
|
object
|
|
Insgesamt wird aber jede sich ergebende URL nur einmal abgefragt.
Sprachanpassung
Mit der Komponente .l10n
lassen sich alle Textelemente der Benutzeroberfläche anpassen. Das ist für die deutschsprachige Wikipedia kaum erforderlich, sondern zielt auf die übergangsweise Unterstützung fremdsprachiger Projekte ab. Die Komponente .l10n
müsste ein Objekt sein, das in gleicher Struktur wie I18N.texts
im core zusätzliche Übersetzungen bereitstellt oder auch vorhandene überschreibt. Allgemein verwendbare Übersetzungen werden mittelfristig allen Anwendern verfügbar gemacht.
Alternative Citoid-Server
Fachleuten ermöglicht die Komponente .server
den Wechsel zu einer anderen URL des Citoid-Dienstes, etwa auf wmflabs zur Erprobung.
Codes und Software-Angelegenheiten
Siehe Dokumentation in der englischsprachigen Wikipedia.
Die aktuelle Versionsbezeichnung ist als Tooltip auf dem Button Citoid in der Citoid-Box ablesbar.
Es gibt eine Testprozedur zur Prüfung auf Erfüllung der Grundfunktionalität; auch als Tutorial für Menschen, die mit den Fingern lernen.
Anmerkungen
- ↑
Unterstützt wird CORS durch:
- Gecko (Firefox)
- WebKit (Safari, Google Chrome)
- MSHTML/Trident 4.0+ (Internet Explorer ab IE10, möglicherweise bereits IE8/IE9)
- Presto (Opera 12)
Konqueror bietet kein CORS. - ↑ Erst die Spielwiesenseite besuchen, danach im selben Browser-Tab zum Bearbeiten öffnen.