Beh šablóny výskumu z viacerých zdrojov vytvoril dobrý report o investičných nástrojoch a potom ho zle vytlačil. Deväťdesiatpäť značiek v tvare [^1] bolo priamo v texte a deväť riadkov v tvare [^1]: sa hromadilo pod ním. Na webe aj na telefóne.
Príčinou je, že poznámky pod čiarou nie sú súčasťou markdownu. Je to rozšírenie a ani jeden z dvoch markdown rendererov, ktoré dodávame — jeden na webe, druhý na mobile — ho neimplementuje. Žiadali sme model presne o tento tvar a potom ho vykresľovali ako doslovný text.
Jeden prepísavač, dva enginy
Miesto učenia rovnakého rozšírenia oboch rendererov sa značky prepíšu skôr, než ich jeden z nich uvidí, na jednoduchý odkaz, ktorý oba už vykresľujú rovnako. Definície sa vytiahnu a vrátia zvlášť a to, čo po nich nasledovalo, zostane ako chvost dokumentu. Hranaté zátvorky zostávajú v texte odkazu, takže naskladané citácie sa čítajú ako [1][2], nie 12.
Na webe je citácia nakreslená ako horný index, definície sa vykresľujú ako zoznam so skutočnými kotvami, kliknutie na jednu prejde k nej a riadok zablikne, a číslo v zozname skočí späť na prvé miesto, kde bolo citované. Prejdenie myšou zobrazí definíciu bez zmeny polohy. Na telefóne sú rovnaké značky vykreslené akcentnou farbou a klepnutie na jednu presunie panel na zodpovedajúci riadok. Odkazy, ktoré nie sú citáciami, sa naďalej otvárajú v prehliadači ako predtým.
Karty zdrojov pod reportom nikdy neboli ovplyvnené — prichádzajú odinakiaľ a vždy boli v poriadku.
A v stiahnutom súbore
Report, ktorý stiahnete ako .docx, .pdf alebo .md, prechádzal iným konvertorom, ktorý tlačil surové značky priamo do dokumentu. Špecifikácia dokumentu nemá horný index, takže sa citácia vytlačí ako [3] a každá definícia otvorí vlastný riadok začínajúci [3]. Odsadené pokračovacie riadky sa pripoja k svojej definícii. Čísla v súbore sú rovnaké ako čísla na obrazovke.
Prvý pokus bol zlý spôsobom, na ktorý sme už mali ochranu
Prvá verzia urobila z čísel poznámok pod čiarou obyčajné odkazy na fragment — href="#fn-3". Pod <base href="/">, ktoré jednostránková aplikácia potrebuje, sa holý fragment rieši voči koreňu webu, takže odkaz smeruje na domovskú stránku. Obsluha kliknutia navigáciu zrušila, takže to fungovalo — a fungovalo by ďalej, kým by sa niekto tej obsluhy nedotkol.
Kontrola, ktorú sme na tento vzor už mali, sa pri lokálnom behu pred pushom rozsvietila červeno. Čísla sú teraz tlačidlá; posúvajú, presúvajú fokus a rešpektujú preferenciu čitateľa pre obmedzený pohyb.