Benutzer:PerfektesChaos/js/citoidWikitext

aus Wikipedia, der freien Enzyklopädie
Button

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.

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.:

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:

  • {{DNB|820224316}}
  • DNB 454663196
  • dnb=770531741
  • DNB:993443176
  • LCCN 2004-059084
  • {{OCLC|633555891}}

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:

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
Button easy cite (1).png
  • Bearbeiten-Werkzeugleiste
  • wikEd
WikiEditor Cite.svg
  • Erweiterte Bearbeiten-Werkzeugleiste
    („WikiEditor“)
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
Ajax-Animation 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:

0_?X Citoid Ajax-Animation [1] [2] [3] ISBN 9783577091022

== Literatur ==
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
  • Alle Parameter, für die Daten vorliegen, und Pflichtparameter bzw. solche, die immer auch zum späteren Ausfüllen bereitstehen sollen.
  • Alle Angaben lückenlos in einem Block.

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)
  • Alle Standardparameter angeben (neben den mit Werten belegten auch solche, die oft später ausgefüllt werden)
  • In einer neuen Zeile ein * voranstellen
  • Zeilenweise eintragen und einrücken
<references>
  • Alle Standardparameter wie eben zeilenweise eintragen
  • Einschließen in <ref name=""> und </ref>

Vorgesehen für die Verwendung innerhalb eines Blocks <references> am Ende des Artikels.

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:

0_?XCitoid* [1] [2] [3] ISBN 9783577091022 kompakt <ref></ref> == Literatur == <references>

== 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:

0_?XCitoid * [1] [2] [3] ISBN 9783577091022

== 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:

Komponente .isbn
Datentyp Bedeutung
string Ein URL-Muster, das immer abgefragt wird.
Array Mehrere string mit URL, die immer abgefragt werden.
object
  • Der Bezeichner jeder Komponente ist ein Sprachcode nach ISO 639.
    • qqq steht für alle Sprachen.
  • Jede Komponente ist ein Array mit URL-Mustern, die für diese Sprache ausgewertet werden.

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

  1. 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)
    Zu Details siehe Cross-Origin Resource Sharing #Browser-Unterstützung.
    Konqueror bietet kein CORS.
  2. Erst die Spielwiesenseite besuchen, danach im selben Browser-Tab zum Bearbeiten öffnen.