Yearly Pay yearly and get 2 months free on every paid plan. See plans
Zaloguj się Zacznij za darmo

Cytaty, które zachowują się jak cytaty

Uruchomienie szablonu badań wieloźródłowych wyprodukowało dobry raport o instrumentach inwestycyjnych, a potem źle go wydrukowało. Dziewięćdziesiąt pięć znaczników w postaci ^1 było wewnątrz tekstu, a dziewięć linii w po…

Uruchomienie szablonu badań wieloźródłowych wyprodukowało dobry raport o instrumentach inwestycyjnych, a potem źle go wydrukowało. Dziewięćdziesiąt pięć znaczników w postaci [^1] było wewnątrz tekstu, a dziewięć linii w postaci [^1]: piętrzyło się poniżej. Zarówno w sieci, jak i na telefonie.

Przyczyna jest taka, że przypisy nie są częścią markdown. To rozszerzenie, i żaden z dwóch silników markdown, które dostarczamy — jeden w sieci, drugi na mobile — go nie implementuje. Prosiliśmy model dokładnie o tę formę, a potem renderowaliśmy ją jako dosłowny tekst.

Jeden przepisywacz, dwa silniki

Zamiast uczyć oba renderery tego samego rozszerzenia, znaczniki są przepisywane, zanim któryś z nich je zobaczy, na prosty link, który oba już renderują identycznie. Definicje są wyodrębniane i zwracane osobno, a to, co po nich następowało, pozostaje jako ogon dokumentu. Nawiasy kwadratowe zostają w tekście linku, więc spiętrzone cytaty czyta się jako [1][2], a nie 12.

W sieci cytat jest rysowany w indeksie górnym, definicje są renderowane jako lista z prawdziwymi kotwicami, kliknięcie w jedną przewija do niej i migocze linią, a numer na liście wraca do pierwszego miejsca, gdzie był cytowany. Najechanie pokazuje definicję bez przewijania. Na telefonie te same znaczniki są rysowane kolorem akcentu, a dotknięcie jednego przewija panel do odpowiedniej linii. Linki, które nie są cytatami, nadal otwierają się w przeglądarce, jak wcześniej.

Karty źródeł pod raportem nigdy nie były dotknięte — pochodzą z innego miejsca i zawsze były w porządku.

I w pobraniu

Raport, który pobierasz jako .docx, .pdf lub .md, przechodził przez inny konwerter, który drukował surowe znaczniki bezpośrednio w dokumencie. Specyfikacja dokumentu nie ma indeksu górnego, więc cytat drukuje się jako [3], a każda definicja otwiera własną linię zaczynającą się od [3]. Wcięte linie kontynuacji dołączają do swojej definicji. Numery w pliku to numery na ekranie.

Pierwsza próba była błędna w sposób, przed którym już mieliśmy zabezpieczenie

Pierwsza wersja zamieniała numery przypisów na zwykłe linki fragmentów — href="#fn-3". Pod <base href="/">, którego potrzebuje aplikacja jednostronicowa, goły fragment rozwiązuje się względem korzenia strony, więc link wskazuje na stronę główną. Obsługa kliknięcia anulowała nawigację, więc działało to — i działałoby dalej, dopóki ktoś nie dotknąłby tej obsługi.

Kontrola, którą już mieliśmy dokładnie dla tego wzorca, zapaliła się na czerwono podczas lokalnego uruchomienia przed pushem. Numery są teraz przyciskami; przewijają, przenoszą fokus i respektują preferencję czytelnika dotyczącą ograniczonego ruchu.

Udostępnij LinkedIn X E-mail
Wypróbuj na własnej pracyKażda odpowiedź pokazuje, ile kosztowała. Zacznij od planu bezpłatnego. Zacznij za darmo
Get product updates, not noise New models, features, and changelog highlights - a short email when something actually ships.
Subskrybując, zgadzasz się na otrzymywanie e-maili od ToRun z nowościami produktu. Możesz zrezygnować w dowolnym momencie. Polityka prywatności