CMS 2.: tri typy medzier z jedinej I.
V predošlej časti „CMS I.: medzery v texte“ menšej série „Fiktívny CMS by mal vedieť viac“ som prekvapivo oznámil existenciu troch typov medzier, ktoré sa používajú pre text na webových stránkach. Takisto poznáme príčiny, prečo vznikajú texty len s jediným typom medzier. Našou požiadavkou je však aspoň čiastočne sa priblížiť dodržiavaniu typografických pravidiel aj v textoch webových stránok.
Pretože renderovacie jadrá prehliadačov zanedbávajú niektoré striktné pravidlá typografie, nie je možné dosiahnuť uspokojivý výsledok z pohľadu sadzača. V prvom rade by to vyžadovalo nedosiahnuteľnú úroveň znalostí obsluhy systémov pre správu obsahu a v druhom rade naša snaha algoritmizovať niektoré pravidlá z nevhodne pripraveného textu jednoducho zlyhávajú. Pretože prevažná väčšina CMS sa pripravuje ako webová aplikácia najčastejšie v prostredí vytvorenom bežným webovým serverom, niektorým zo skriptovacích jazykov s podporou databázových prostredí na strane servera a niektorým z množstva internetových prehliadačov na strane klienta.
V taktomto prostredí však CMS neposkytujú príliš jednoduchú kontrolu nad pripravovaným textom a obmedzujú sa prakticky na možnosti poskytované internetovým prehliadačom v spojení s programovým vybavením samotného systému správy obsahu. V reáli to znamená praktickú invaliditu formulárov pre vkladanie textu (TEXTAREA nie je kvalitný textový editor). Konkrétne CMS sa s touto úlohou vysporiadajú vo väčšine prípadou náhradou HTMLAREA s viac alebo menej kvalitným filtrovaním vkladaného textu. Povedzme si rovno: nikdy to nie je dokonalé.
Nahradzovať výskyt viac ako jednej medzery medzi slovami v texte sme už previedli a vieme to ľahko realizovať bežným skriptovacím či programovacím jazykom.
Dnes sa zahryznem do zložitejšieho problému viacerých typov medzier v texte v spojení s pravidlami pre ich používanie.
Prvý typ medzery je bežný a v textovom editore sa vkladá z klávesnice medzerníkom. Z pochopiteľných dôvodov sa v texte vyskytuje najčastejšie. Je pre to objektívny dôvod: proste aj typografia túto medzeru doporučuje ako prirodzený oddeľovač slov, interpunkcie či viet. Menej objektívny a nežiadúci výskyt je už všade tam, kde patrí iný typ medzery alebo pokiaľ medzera nemá čo hľadať v texte.
Zúžená medzera sa vkladá HTML entitou thinsp
a mala by sa vkladať do textu v týchto prípadoch:
1. oddeľovanie tisícok v číslach (napr. aj telefónnych),
2. oddeľovanie dní, mesiacov a rokov v dátume,
Našim problémom je však vymeniť medzery v týchto častiach textu za zúženú alebo pokiaľ sa takáto medzera v nich žiada a nie je tam.
Pokiaľ pri prezeraní textu našou fiktívnou procedúrou (časť programu) narazíme na sled číslic, môže ísť o náš prípad. Problémom je, že výnimočne nemusí a preto si musíme podmienkami ešte vyšpecifikovať kandidátov na úpravu.
Pokiaľ teda v texte nájdeme takéto prípady, môžeme ich upravovať (prvý je bežný tvar aký vkladá používateľ a za dvojbodkou nasledujú vhodnejšie tvary a zúžená medzera je vizuálne nahradená podtržítkom):
1000000: 1_000_000, 1 mil.
2123.45: 2_123,45
23 158: 23_158
V texte sa však môže vyskytovať sled číslic, ktoré nie je vhodné oddeľovať medzerami. Žiarivým príkladom sú napríklad sériové čísla (vtipná vsuvka: pokiaľ programujete web uverejňujúci tieto čísla, máte problém). Tieto čísla však už v drvivej väčšine obsahujú aj iné znaky ako pomlčky a písmená.
Preto náš algoritmus musí vylúčiť „slová“, ktoré neobsahujú výhradne desatinnú bodku (čiarku) a číslice.
Zhrnutie článkov na tému CMS do 21. mája 2004:
- 30. apríl 2004: spravodaj: Fiktívny CMS by mal vedieť viac
- 4. máj 2004: spravodaj: CMS I.: medzery v texte
- 5. máj 2004: spravodaj: CMS 2.: tri typy medzier z jedinej I.
- 6. máj 2004: spravodaj: CMS 2.: tri typy medzier z jedinej II.
- 7. máj 2004: spravodaj: CMS 2.: tri typy medzier z jedinej III.
- 12. máj 2004: spravodaj: CMS 3.: Interpunkčné znamienka I.
- 13. máj 2004: spravodaj: CMS 3.: Interpunkčné znamienka II.
- 14. máj 2004: spravodaj: CMS 4.: Verzálky na koniec
- 20. máj 2004: spravodaj: Aké a ako CMS vyberať