Portál AbcLinuxu, 30. dubna 2025 12:42
V Abíčku máte dvě možnosti, jak psát texty. Buď v HTML s tím, že si formátování řídíte přes značky P, BR a DIV, nebo pomocí prázdného řádku rozdělíte text na odstavce. Druhý způsob interně nazývám simple formátem a ukládám jej v tomto tvaru do databáze. To má tři nevýhody - při každém zobrazení stránky se text převádí na HTML, nestabilita komplikuje možnost diffů u wiki stránek a nezachovávají se odstavce v připravovaném WYSIWYG editoru. Po více než třech letech jsem dneska nasadil opravu bugy 26, tedy automatický převod na HTML už při ukládání dokumentu.
Má vysněná varianta měla umět automaticky obalit odstavce značkou P. Strávil jsem spoustu hodin studiemi a testy nástrojů jako jake htmlcleaner, jtidy či tagsoap, ale žádný mi v této snaze nepomohl. Pokoušel jsem se to napsat sám přes htmlparser, ale napadalo mě tolik možností, které by mé algoritmy zbořily, že jsem tuto snahu vzdal. Pragmaticky jsem tedy začal před dvojici znaků \n\n vkládat dvojici značek BR, což sémanticky není totéž, ale vzhledově ano.
Znamenalo to, že jsem upravil úplně všechny controllery pro všechny typy dokumentů. Doufám, že jsem při tom nic nerozbil. Prosím o otestování nejrůznějších HTML konstrukcí (nejlépe v náhledu, bez zbytečného ukládání) a hlášení chyb. Pokud se to bude jevit stabilně, zmigruju stávající obsah databáze (což asi bude obnášet nějaký výpadek). Děkuju za pochopení.
Update: ještě jsem přidal počítání a zobrazování počtů přečtení wiki dokumentů (FAQ, učebnice, slovník, software atd). Ignorují se zobrazení od botů a autora / editorů dokumentu.
Tiskni
Sdílej:
Tohle je blockquote textA takhle to vypadá za ním, pokud to nenarvu natěsno (bez prázdného řádku, který zajišťuje, abych se v tom vyznal). Ty mezery jsou strašně velké.
A takhle to vypadá za ním, pokud to nenarvu natěsno (bez prázdného řádku, který zajišťuje, abych se v tom vyznal). Ty mezery jsou strašně velké.Tohle by uz melo byt fixnuto, htmlparser je fakt sikovna knihovna. Pridan i junitovy test (test driven development je super metodika).
Rozhodila se transformace do plain textu.
Po sobě následující explicitní odstavce (<p/>
<p/>
) se proloží pěti prázdnými řádky, mezi blokovou citaci a odstavec (<blockquote/>
<p/>
) se vkládají tři řádky.
Příklad: HTML, Message-ID: <123575.14@abclinuxu.cz> (na webové rozhraní Gmane se nedívejte, oni násobné prázdné řádky srážejí)
Uzřete záverečné většítko, když použiji element p. Tohle je záležitost posledních dní.
>ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.