Specifikace formátovacího jazyka

pro projekt "Slideshow pro linux"

Tento dokument se zabývá specifikací formátovacího jazyka, přičemž se zaměřuje na obecný popis jeho prostředků, nikoliv podrobnější programátorskou analýzou. Rovněž neobsahuje formátovací prostředky pro konstrukci slidu (více o něm viz dokument  Specifikace struktury slidu ).
 

Obecné prostředky formátování

Dokumentem v projektu "Slideshow pro Linux" (dále jen SLS) je míněn formátovaný text, doplněný bloky schématických obrázků - slidy. K formátování textu používá SLS prostředky jazyka HTML, konkrétně HTML verze 2, přičemž je kladen důraz na zpětnou kompatibilitu (textová část dokumentu musí být prohlížitelná libovolným WWW prohlížečem, který HTML2 ovládá). Výjimku tvoří nově zavedené párové tagy <SLIDE> a (popřípadě) <EQUATION>, které budou dle specifikace HTML ignorovány (v další fázi může nastoupit cgi skript, který na jejich místo vloží vygenerované obrázky). Dokumenty jsou kódovány češtinou v normě ISO-8859-2. Aby o tomto byl informován i prohlížeč, který získává informace o kódování, je dokument uvozen direktivou <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
 

Základní syntaxe jazyka

Formátovací jazyk SLS je řízen tagy ve tvaru <JMENO_TAGU>. Některé tagy mohou být párové: <JMENO_TAGU>....</JMENO_TAGU>. Jméno tagu je řetězec, ve kterém nerozhoduje velikost písmen a nesmí obsahovat mezery. Mezera ukončuje jméno tagu podobně, jako značka >, s tou výjimkou, že za mezerou mohou následovat parametry tagu s následujícími možnostmi: Výskyt následujících speciálních znaků je v dokumentu nepřípustný a je třeba je nahradit příslušnou sekvencí: Znaky CRLF, případně jen LF nemají v textu význam konce řádky, pouze oddělují slova podobně jako mezera. Podobně tak znak tabelátoru a více mezer za sebou jsou interpretovány jako jediná mezera.
Pokud parametr není zadán

Formát textu

<P ALIGN=a>...</P>
Označuje odstavec. Parametr ALIGN určuje formátování odstavce a může nabývat hodnot LEFT, RIGHT a CENTER, default je LEFT. Před i za odstavec se vloží malá mezera, opticky oddělující ostatní text.
<BR>
Označuje konec řádky. Nepárová značka.
<HR>
Vytvoří v dokumentu vodorovnou čáru, oddělující od sebe části textu. Nepárová značka.
<I>...</I>
Vyznačený text bude vysázen kurzívou.
<B></B>
Vyznačený text bude vysázen tučně.
<U></U>
Vyznačený text bude vysázen podtrženě.
<TT></TT>
Vyznačený text bude vysázen písmem s pevnou šířkou.
<PRE>...</PRE>
Úsek předformátovaného textu. Bude vysázen písmem s pevnou šířkou tak, jak je, tj. s platnými CRLF a násobnými mezerami. Nezobrazují se však texty tagů a lze použít změny písem <B>, <I> a <U>.
<Hi ALIGN=a>...</Hi>
Označuje text, který je nadpisem i-té úrovně, i=1-6. Úroveň nadpisu je znázorněná velikostí písma, čím vyšší číslo, tím menší písmo. Před i za nadpisem je vynechána mezera, úměrná úrovni nadpisu. Nadpis může být zarovnán pomocí parametru ALIGN a může nabývat hodnot LEFT, RIGHT a CENTER, default je LEFT.

Seznamy

<UL>...</UL>
Označuje nečíslovaný seznam. Text uvnitř tagu je odsazen doprava a každá položka (viz dále) začíná na samostatném řádku. Parametr TYPE určuje typ uvozovacího znaku a může nabývat hodnot NONE (žádný), BULLET (černá tečka) a SQUARE (černý čtvereček). Default je BULLET.
<OL>...</OL>
Označuje číslovaný seznam. Text uvnitř tagu je odsazen doprava a každá položka (viz dále) začíná na samostatném řádku a je označena číslem podle pořadí, v kterém se v textu vyskytuje (číslo s připojenou tečkou).
<LI>
Označuje položku číslovaného nebo nečíslovaného seznamu. Začíná vždy na novém řádku a je uvozena příslušnou značkou či číslem. Nepárový tag.

Odkazy

<A NAME="jmeno">...</A>
Označuje cíl pro odkaz uvnitř dokumentu.
<A HREF="jmeno">...</A>
Označuje odkaz. Pokud jmeno obsahuje řetězec formátu #text, odskočí prohlížeč na cíl jménem text. Pokud je jmeno řetězec nezačínající #, bere se za jméno souboru (s případnou cestou) a prohlížeč se jej pokusí zobrazit (je možné použít současně se specifikací cíle).

Tabulky

Tabulka je uzavřena tagy <TABLE>..</TABLE>. Jednotlivé řádky tabulky jsou uzavřeny do tagů <TR>..</TR>,  buňky do tagů <TD>...</TD>. Tag <TH>...</TH> označuje buňku která je hlavičkou tabulky (text v ní je tučný).
Možné parametry jednotlivých tagů
<TABLE>
  • BORDER  - pokud je přítomný, má tabulka okraje
  • <TH>, <TD>
    <TR>
  • ALIGN=LEFT/RIGHT/CENTER - zarovnání textu uvnitř řádku
  • Definice <DL>, <DT>, <DD>