Ein Lauf der Multi-Source-Research-Vorlage erzeugte einen guten Bericht über Anlageinstrumente — und druckte ihn dann schlecht aus. Fünfundneunzig Markierungen der Form [^1] standen mitten im Fließtext, und neun Zeilen der Form [^1]: lagen als Haufen darunter. Im Web wie auf dem Handy.
Der Grund: Fußnoten sind nicht Teil von Markdown. Sie sind eine Erweiterung, und keine der beiden Markdown-Engines, die wir ausliefern — eine im Web, eine andere auf dem Handy — implementiert sie. Wir baten das Modell genau um diese Form und stellten sie dann als reinen Text dar.
Ein Umschreiber, zwei Engines
Statt beiden Renderern dieselbe Erweiterung beizubringen, werden die Markierungen umgeschrieben, bevor eine der beiden sie sieht — in einen einfachen Link, den beide bereits identisch darstellen. Die Definitionen werden herausgelöst und separat zurückgegeben, und was danach folgt, bleibt als Ende des Dokuments erhalten. Die eckigen Klammern bleiben im Linktext, sodass gestapelte Zitate als [1][2] gelesen werden, nicht als 12.
Im Web wird das Zitat als hochgestellt gezeichnet, die Definitionen werden als Liste mit echten Ankern dargestellt, ein Klick darauf scrollt dorthin und lässt die Zeile kurz aufblinken, und die Nummer in der Liste springt zurück zur ersten Stelle, an der sie zitiert wurde. Beim Darüberfahren erscheint die Definition, ohne die Position zu ändern. Auf dem Handy werden dieselben Markierungen in der Akzentfarbe gezeichnet, und ein Tippen darauf scrollt den Bereich zur passenden Zeile. Links, die keine Zitate sind, öffnen sich weiterhin wie gewohnt im Browser.
Die Quellenkarten unter einem Bericht waren nie betroffen — sie kommen aus einer anderen Quelle und waren immer in Ordnung.
Und im Download
Ein Bericht, den du als .docx, .pdf oder .md herunterlädst, ging durch einen anderen Konverter, der die rohen Markierungen direkt in das Dokument druckte. Eine Dokumentspezifikation kennt kein Hochstellen, also wird ein Zitat als [3] gedruckt, und jede Definition öffnet ihre eigene Zeile beginnend mit [3]. Eingerückte Fortsetzungszeilen gehören zu ihrer Definition. Die Zahlen in der Datei sind die Zahlen auf dem Bildschirm.
Der erste Versuch war auf eine Weise falsch, für die wir bereits eine Absicherung hatten
Die erste Version machte aus den Fußnotenzahlen gewöhnliche Fragment-Links — href="#fn-3". Unter dem <base href="/">, das eine Single-Page-Anwendung braucht, löst sich ein bloßes Fragment gegen die Wurzel der Website auf, sodass der Link auf die Startseite zeigt. Der Klick-Handler brach die Navigation ab, also funktionierte es — es hätte weiter funktioniert, bis jemand den Handler angefasst hätte.
Eine Prüfung, die wir bereits genau für dieses Muster hatten, schlug beim lokalen Testlauf vor dem Push rot an. Die Zahlen sind jetzt Schaltflächen, die scrollen, den Fokus verschieben und die Präferenz für reduzierte Bewegung respektieren.