A több forrásból dolgozó kutatási sablon egy futtatása jó jelentést készített a befektetési eszközökről, majd rosszul nyomtatta ki. Kilencvenöt jelölő [^1] formátumban volt a szövegben belül, kilenc sor pedig [^1]: formátumban halmozódott alatta. Mind a weben, mind a telefonon.
Az ok az, hogy a lábjegyzetek nem részei a markdownnak. Ez egy kiterjesztés, és a két markdown motor közül, amit szállítunk — az egyik a weben, a másik a mobilon — egyik sem valósítja meg. Pontosan ezt a formátumot kértük a modelltől, majd szó szerinti szövegként jelenítettük meg.
Egy átíró, két motor
Ahelyett, hogy mindkét megjelenítőt ugyanarra a kiterjesztésre tanítanánk, a jelölőket átírják, mielőtt bármelyikük látná őket, egy egyszerű linkre, amelyet mindkettő már azonosan jelenít meg. A definíciókat kinyerik és külön adják vissza, ami utánuk következett, a dokumentum farkaként marad. A szögletes zárójelek a link szövegében maradnak, így az egymásra halmozott hivatkozások úgy olvashatók: [1][2], nem pedig 12.
A weben a hivatkozás felső indexként jelenik meg, a definíciók valódi horgonyokkal ellátott listaként jelennek meg, az egyikre kattintva odagördül és villog a sor, a lista száma pedig visszaugrik az első helyre, ahol idézték. Rámutatva a definíció megjelenik anélkül, hogy elmozdulna. A telefonon ugyanazokat a jelölőket a kiemelő színnel rajzolják, és az egyikre koppintva a panel az adott sorra görget. A hivatkozásnak nem minősülő linkek továbbra is böngészőben nyílnak meg, mint korábban.
A jelentés alatti forráskártyákat soha nem érintette ez — máshonnan érkeznek, és mindig rendben voltak.
És a letöltésben is
Az a jelentés, amit .docx, .pdf vagy .md formátumban töltesz le, egy másik konverteren ment keresztül, amely a nyers jelölőket közvetlenül a dokumentumba nyomtatta. A dokumentumspecifikációnak nincs felső indexe, így egy hivatkozás [3]-ként nyomtatódik ki, és minden definíció [3]-mal kezdődő saját sort nyit. A behúzott folytatósorok csatlakoznak a definíciójukhoz. A fájlban lévő számok ugyanazok, mint a képernyőn lévő számok.
Az első próbálkozás olyan módon volt hibás, amire már volt védelmünk
Az első verzió a lábjegyzetszámokat egyszerű töredéklinkekké alakította — href="#fn-3". Az egyoldalas alkalmazáshoz szükséges <base href="/"> alatt egy csupasz töredék a webhely gyökeréhez képest oldódik fel, így a link a főoldalra mutat. A kattintáskezelő megszakította a navigációt, ezért működött — és tovább is működött volna, amíg valaki hozzá nem nyúl a kezelőhöz.
Egy ellenőrzés, amely pontosan erre a mintára már megvolt, a push előtti helyi futtatás során pirosra váltott. A számok most gombok; görgetnek, fókuszt mozgatnak, és tiszteletben tartják az olvasó csökkentett mozgásra vonatkozó beállítását.