Matthias Scharwies: News im Wiki

Beitrag lesen

Servus!

Hallo,

aus gegebenem Anlass habe ich im Wiki in der common.js eine kleine Ergänzung durchgeführt, die Links auf Überschriften erleichtern kann.

Problem sind

  • Überschriften, die lang sind
  • Überschriften mit Zeichen, die in URLs nicht gestattet sind
  • Überschriften, die sich ändern 😲

Das Wiki kennt bereits die Vorlage {{anchor|id}}, mit der ein Dummy-Span erzeugt werden kann, der eine ID trägt. Aber unser Permalink-Feature kennt solche Anker nicht.

Jetzt schon:

=={{anchor|foo}} Eine langatmige (und weitschweifige) Überschrift ==

bekommt jetzt auf dem Permalink-Icon #foo als Link, und nicht mehr dem Bandwurm, in dem Klammern und Ü maskiert werden müssen.

De facto hat die Überschrift jetzt zwei IDs. Ich kann und will es Mediawiki nicht abgewöhnen, den Überschriftentext als id des Überschriftenelements zu generieren. Ähhh - ok, das auch nicht. Mediawiki generiert ohne die {{anchor}}-Vorlage sowas:

<h3>
  <span class="mw-heading"
        id="Eine langatmige .28und weitschweifige .29 .C3.9Cberschrift">
  Eine langatmige (und weitschweifige) Überschrift
  </span>
  <span class="mw-editsection">...</span>
</h3>

In .mw-editsection ist der Link auf die "Section bearbeiten" Funktion.

Die {{anchor}}-Vorlage fügt ein `<span id="foo"></span> am Anfang des .mw-heading Span ein.

Im common.js suche ich innerhalb von .mw-heading nach span[id], und wenn's da ist, verwende ich diese ID für den Permalink statt der .mw-heading id.

Jetzt weiß ich nur eins nicht. Der Permalink-Generator erzeugt außer dem Link-Symbol auch einen visuell versteckten Text, der der verlinkten URL entspricht. Hier sieht das z.B. jetzt so aus:

<h3>
  <span class="mw-headline" id="String.prototype.anchor.28name.29">
    <span id="string.anchor"></span>
    String.prototype.anchor(name)
  </span>
  <a href="/wiki/JavaScript/Deprecated#string.anchor" class="locale-anchor"> 
    <span>/wiki/JavaScript/Deprecated#string.anchor</span>
  </a>
  <span class="mw-editsection">...</span>
</h3>

Der Span in der siebten Zeile ist visuell versteckt und enthält die Permalink-URL - damit ein Screenreader "Link: /wiki/bla/fasel" vorliest, nehme ich an. Das war auch ohne meine Änderung so, nur entsprach die Permalink-URL da noch dem Überschriften-Inhalt.

Was enthält dieser Span richtigerweise? Die Permalink-URL oder die URL für die Heading-ID? Oder etwas ganz anderes, das auf die Permalink-Eigenschaft dieses Links hinweist? Also vielleicht "<span>Permalink auf diesen Abschnitt</span>"?

ja, das wäre imho ok. Ich würde da die Mediawiki-Konventionen nicht zu weit ändern.

Wir sollten aber weiter oben ansetzen und die Überschriften kürzen und um Umlaute, Doppelpunkte, etc säubern.

Die überlangen Seitentitel kommen aus unserer virtuellen Hierarchie. Ich habe ja schon begonnen, Seiten wie

  • CSS/Tutorials/Print-CSS
  • CSS/Tutorials/Transforms

direkt in den HNR auf die erste Ebene zu verschieben. Das sollten wir eventuell sukzessive bei Bearbeitungen gleich miterledigen. Gerade bei Transforms, die sowohl zu CSS als auch SVG gehören, ist das imho besser.

Herzliche Grüße

Matthias Scharwies

--
Eigentlich hatte ich heute viel vor - jetzt habe ich morgen viel vor!