HTDS 1.12Jan Skýpala
HyperText Datatype System je soubor datatypů pro Amigu. Obsahuje HTDSAscii
(náhradu za ascii datatype), HGuide (náhradu za AmigaGuide) a HTML datatype
(datatype pro zobrazování Webovských stránek). Hypertextový systém AmigaGuide se nejdříve objevil ve formě knihovny
(amigaguide.library) a programu AmigaGuide jako volně šiřitelný balík pro
operační systém verze 2.0. Od verze 2.1 byl tento důležitý prvek přímo zahrnut
na diskety, na kterých byl AmigaOS distribuován (tzn. byl většinou dodáván s
počítačem u verzí 3.0 či 3.1), zároveň vznikla knihovna datatypes.library a
systém rozpoznávání a zobrazování dat s její pomocí. AmigaGuide byl předělán na
datatype, byl přidán ARexx port pro AmigaGuide.
Ale to bylo vše. Tento hypertextový systém se vyvinul naprosto minimálně a ve
srovnání s tím, co umí jeho protějšky na jiných platformách, vypadal jako
nedonošené ubožátko. Steffan Ruppert se rozhodl tuto situaci změnit. Začal psát
nový datatype pro AmigaGuide, který by toho ale uměl více. Nazval ho HyperGuide.
Obecné záležitosti ovšem umístil do samostatného datatypu, který nazval
HyperText, a ty pak může používat jakýkoliv dědic.
HyperText tedy zahrnuje ty nejobecnější věci, které přímo nesouvisí s
AmigaGuidem, ale obecně s hypertextem (případně s pouhým vypisováním textu). Pro
obyčejného uživatele má ten význam, že právě tento datatype se stará o
vykreslení okna, lišty s tlačítky apod. Dále je odpovědný za obecné hypertextové
věci (jako skok na dokument, který jsme zvolili daným tlačítkem v dokumentu
současném či návrat na předešlou stránku).
Již tento datatype nabízí nějaké příjemné novinky: v liště s tlačítky se
objevilo nové tlačítko „Forward“ (dopředu), které funguje přesně opačně než
Backward (lze se vrátit na stránku, z níž jsme se vrátili na tuto, to znamená
jít „zpět dopředu“). Funkce tohoto tlačítka je známá z Webovských prohlížečů.
Další tlačítko Search nám umožňuje v právě prohlíženém dokumentu hledat nějaký
řetězec. Tato funkce byla dosažitelná přes jistý patch i pro obyčejný ascii
datatype, avšak implementace přímo do datatypu je pochopitelně mnohem
bezpečnější. Vyhledávání má příjemné možnosti - hledat podle vzoru, ignorovat
velikost písmen, hledat směrem k začátku dokumentu, nebo i prohledávat všechny
stránky daného hypertextového dokumentu (velmi příjemná věc). No a pak je tu
ještě jedno tlačítko pro obligátní About requester.
Dalším příjemným rozšířením je možnost označení části textu a vložení do
clipboardu. Funguje to sice pouze po celých řádcích, ale díky i za to. Tuto
příjemnost obsahoval i původní program AmigaGuide, amigaguide.datatype v
MultiView už však ne. A dokonce i pro tuto vlastnost existoval patch pro ascii
datatype, ovšem nefungoval dohromady s patchem pro vyhledávání. V HTDS funguje
obojí, ovšem pouze v registrované verzi.
Základní hypertext.datatype je možné konfigurovat. Lze například zadat, jaká má
být základní barva nebo obrázek pro pozadí, neurčí-li to dokument. Velmi
příjemným je možnost předindexování. Jak asi mnozí víte, když MultiView nahrává
delší guide, trvá to docela dlouho. Například dokumentace k GNU C (má 1.2MB)
trvá na mé Amize (030/50Mhz) asi 10 sekund. Je to kvůli tomu, že je nejprve celý
soubor analyzován na rozdělení na jednotlivé hypertextové stránky u každé je
zapamatován její začátek a konec. Zapnete-li „node indexing“, HTDS po této
analýze uloží potřebné informace jako Tooltypes do ikony daného dokumentu a při
příštím nahrávání dokumentu ho již nebude muset procházet celý před zobrazením
jeho první stránky. Pouze je-li datum u ikony starší data vlastního souboru
(soubor jste pravděpodobně editovali), projde jej znovu a data opět uloží do
ikony. Takto je manuál GNU C zobrazen téměř okamžitě.
HTDSAscii je datatype nahrazující základní Ascii datatype. Zajišťuje zobrazování
standardních ascii dokumentů a vlastně jeho hlavní vlastností je zprostředkování
funkcí HyperText datatypu (jako jsou vyhledávání či výběr části textu) pro tento
typ dokumentu.
HyperGuide je datatype rozšiřující standard AmigaGuide. Při instalaci je možné
zadat, zda má být použit pouze pro HyperGuide dokumenty (zatímco AmigaGuide
dokumenty začínají @database, HyperGuide dokumenty začínají @hyperguide, jako
standardní přípona byla zvolena .hguide) nebo i pro AmigaGuide dokumenty. Tato
náhrada má jistá omezení - např. HTDS neumí tzv. dynamické uzly (dynamické
stránky) či využít soubory s křížovými referencemi, tedy jak autor píše, zatím
ne. Je ovšem nutné říci, že s aplikacemi, které by to umožňovaly (nebo
vyžadovaly) jsem se zatím nesetkal.
Jazyk pro HyperGuide je zpětně kompatibilní s AmigaGuidem, takže můžete vzít své
současné stránky a doplňovat je tím, co HyperGuide umí navíc.
Takže HyperGuide nám konečně umožňuje měnit font i v rámci jedné stránky,
uprostřed řádku, pochopitelně lze kombinovat i různé velikosti fontu. Takže už
je možné psát nadpisy jinak než tučně apod. Do textu můžeme vkládat separátory
(horizontální čáry pro logické oddělení částí stránky) a také jiné datatype
objekty - např. obrázky. Zatímco v AmigaGuide bylo možné se odkazem dostat na
začátek nějaké stránky nebo na nějaký konkrétní řádek na této stránce (to je
velmi nepoužitelné pro texty používající word wrapping), v HyperGuide je možné v
rámci stránky definovat návěští a pak se odkazovat na ně.
Dále lze zadat barvu či obrázek pozadí pro stránku. Barvu písma či pozadí lze
zadávat nejen jako číslo pera (barva číslo nula - skutečná barva zvolená
uživatelem může být nevhodná - např. stejná pro pozadí i text), ale i pomocí RGB
hodnot. Je implementovaná podpora pro seznamy - jednotlivé položky mohou být
uvozeny znakem bullet (tečka vertikálně uprostřed znaku) případně zvoleným
obrázkem, mohou být číslovány a nebo může jít o tzv. definiční seznam, to je o
vysvětlení nějakých pojmů. Jedná se o obdobu LaTeXových seznamů nemize,
enumerate a description.
Dále umožňuje HyperGuide vytvořit tlačítko, po jehož zmáčknutí spustí nějaký
program z disku (AmigaGuide umožňoval pouze spuštění ARexx skriptu, z něhož se
pak spouštěl požadovaný program; spuštění ARexx skriptu HyperGuide pochopitelně
umožňuje také). No a ještě je tady příkaz @include, pomocí něhož lze zadat
soubor s definicí maker a tak mít např. makra pro všechny dokumenty v jediném
souboru.
Je to celkem rozumné rozšíření AmigaGuide jazyka a s HyperGuidem je možné
vytvářet plnohodnotné hypertextové dokumentace, podobně jako v HTML (HyperGuide
navíc zachovává výhodu možnosti držet celou hypertextovou dokumentaci v jednom
nebo několika málo souborech). Navíc by se mi snad už jen líbilo, kdyby autor
zahrnul příkazy pro volbu základních fontů (font pro normální text, font pro
nadpisy), které by měl uživatel uvedeny v preferencích, a možnost definice
hlavičky a patky stránky, které by nebyly při scrollování posouvány.
Celkově funguje tento datatype uspokojivě. Ve starších verzích byl u delších
otřesně pomalý scrolling, nyní je ale tato vlastnost dle mých představ. Pouze
občas se nějak zamotá pořadí stránek a odkazů a skákání po stránkách funguje
úplně jinak, než jak vy chcete (nepřišel jsme na onu zákonitost jak). Dále je v
HyperGuide chybně implementováno vykreslování při scrollingu, dochází-li k němu
díky zmáčknuté klávese TAB (a tím posuvu po jednotlivých odkazech).
Již velice brzy po tom, co se objevily první Webovské prohlížeče pro Amigu, jsem
si řekl, že to je špatné řešení, vždyť Amiga má systém datatypů a html stránky
by mohly být zobrazovány přes něj a http komunikace by šla elegantně vyřešit
skrz filesystem, který by se jmenoval jednoduše HTTP: No a html.datatype máme
již k dispozici. Je nutné říci, že jsem toho s ním moc nevyzkoušel, jelikož
zatím úspěšně padá, máte-li na stránce obrázky či background obrázek v GIF
formátu. I HyperGuide krachuje na vložených obrázcích tohoto formátu, ILBM nebo
PNG fungují u obou datatypů naprosto bez problémů. Používám akGIF datatype a
jiné programy si s ním rozumí bez problémů. No a obrázek ve formátu JPEG
nezobrazí (alespoň ale neshazuje Amigu).
Jinak je html.datatype teprve na začátku své cesty, neumí hodně věcí včetně
tabulek apod., ale je to ta správná cesta, je to přesně ten způsob, kterým má
být zobrazování html stránek na Amize realizováno.
Jako takové doplnění jsou v balíku další tři datatypy. První, nazvaný
directory.datatype, umožňuje zobrazování disku v MultiView spusťte tento
program, on otevře file requester, vyberte nějaký adresář, ale nevolte žádný
soubor, a stiskněte OK. Další datatype je určen pro prohlížení Unixových
manuálových stránek - tzv. man formát. Ty jsou na Amize využitelné např. při
práci s programy z ADE distribuce. Jedná se ale pouze o man stránky již
naformátované, tj. uložené v adresářích catX a ne manX. Navíc tento datatype
bohužel při skákání mezi jednotlivými stránkami (pomocí SEE ALSO odkazů) občas
Amigu shodí. Třetím datatypem je pro tzv. productinfo formát, v kterém jsou
uloženy krátké popisky k jednotlivým souborům v ADE distribuci (jedná se vlastně
o obdobu souborů .readme z Aminetu).
No a poslední zajímavost - HTDS umožňuje export. Jeho ARexx port nabízí příkaz
EXPORT, který tuto činnost vykoná. Export je prováděn pomocí externích tříd
uložených v adresáři SYS:Classes/HyperText/Export a již nyní existuje třída na
export do HTML. Takže převést nějakou stránku vaší dokumentace do formátu pro
Web (kvůli prezentaci vašeho dílka na Internetu) asi už nemůže být jednodušší.
Celkově musím ohodnotit HTDS velice kladně. Je v něm sice ještě plno chyb, ale
je to něco, co Amiga potřebovala.
Ještě jedno upozornění. HyperText DataType System je shareware za 40 německých
marek. Někomu se může zdát tato cena přemrštěná, zvážíte-li ovšem, že v produktu
je kromě náhrady za AmigaGuide zahrnut i Web prohlížeč (tedy prohlížeč html
stránek, je zapotřebí dopsat HTTP filesystem), je to cena vskutku příznivá. No a
samozřejmě jako u většiny shareware programů po zaplacení dostanete keyfile,
který odemkne v demo verzi nedostupné funkce jednou pro vždy - takže žádné
vyhazování peněz za updaty. Navíc existuje i česká lokalizace přímo v balíku.
HTDS každému Amigistovi doporučuji.
(Pozn. Nejnovější verze HTDS většinou nejsou ihned dostupné na Aminetu, lze je
ovšem najít na URL http://home.pages.de/~Ruppert/amiga/HTDS.html)
HDTS 1.12 |
Hodnocení: 7,0 z 10 |
Autor: S.
Ruppert |
Cena: DM 30,- |
Typ: shareware |
+ |
dobré vyhledávání textu,
předindexace, seznamy v HyperGuide |
- |
padá na GIF obrázcích, JPEG
nezobrazí, špatný scrolling u HyperGuide, html.datatype zatím umí jen
minimum, chybí HTTP filesystem |
Vytlačiť článok
Pozn.: články boli naskenované ako text a preto obsahujú aj zopár chýb. Taktiež neručíme za zdrojové kódy (Asm, C, Arexx, AmigaGuide, Html) a odkazy na web. Dúfame, že napriek tomu vám táto databáza dobre poslúži.
Žiadna časť nesmie byť reprodukovaná alebo inak šírená bez písomného povolenia vydavatela © ATLANTIDA Publishing
none
|