Běh šablony výzkumu z více zdrojů vytvořil dobrý report o investičních nástrojích a pak ho špatně vytiskl. Devadesát pět značek ve tvaru [^1] bylo uvnitř textu a devět řádků ve tvaru [^1]: se hromadilo pod ním. Na webu i na telefonu.
Příčinou je, že poznámky pod čarou nejsou součástí markdownu. Je to rozšíření a ani jeden ze dvou markdown renderů, které dodáváme — jeden na webu, druhý na mobilu — ho neimplementuje. Žádali jsme model přesně o tento tvar a pak ho vykreslovali jako doslovný text.
Jeden přepisovač, dva enginy
Místo učení stejného rozšíření oběma rendererům se značky přepíšou dřív, než je jeden z nich uvidí, na jednoduchý odkaz, který oba už vykreslují stejně. Definice se vytáhnou a vrátí zvlášť a to, co po nich následovalo, zůstane jako ocas dokumentu. Hranaté závorky zůstávají v textu odkazu, takže naskládané citace se čtou jako [1][2], ne 12.
Na webu je citace nakreslena jako horní index, definice se vykreslují jako seznam se skutečnými kotvami, kliknutí na jednu přejde k ní a řádek zabliká, a číslo v seznamu skočí zpět na první místo, kde bylo citováno. Najetí myší zobrazí definici beze změny polohy. Na telefonu jsou stejné značky vykresleny akcentní barvou a klepnutí na jednu přesune panel na odpovídající řádek. Odkazy, které nejsou citacemi, se stále otevírají v prohlížeči jako dříve.
Karty zdrojů pod reportem nikdy nebyly ovlivněny — přicházejí odjinud a vždy byly v pořádku.
A ve staženém souboru
Report, který stáhnete jako .docx, .pdf nebo .md, procházel jiným konvertorem, který tiskl syrové značky přímo do dokumentu. Specifikace dokumentu nemá horní index, takže se citace vytiskne jako [3] a každá definice otevře vlastní řádek začínající [3]. Odsazené pokračovací řádky se připojí ke své definici. Čísla v souboru jsou stejná jako čísla na obrazovce.
První pokus byl špatně způsobem, na který jsme už měli ochranu
První verze udělala z čísel poznámek pod čarou obyčejné odkazy na fragment — href="#fn-3". Pod <base href="/">, které jednostránková aplikace potřebuje, se holý fragment řeší vůči kořeni webu, takže odkaz míří na domovskou stránku. Obsluha kliknutí navigaci zrušila, takže to fungovalo — a fungovalo by dál, dokud by se někdo té obsluhy nedotkl.
Kontrola, kterou jsme na tento vzorec už měli, se při lokálním běhu před pushem rozsvítila červeně. Čísla jsou nyní tlačítka; posouvají, přesouvají fokus a respektují preferenci čtenáře pro omezený pohyb.