LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

> CHM a LINUX

Tento krátký článeček je o práci se soubory *.chm, neboli hypertextové nápovědy pro Windows. Ukáži Vám několik přístupů k tomu, jak je číst v Linuxu.

20.8.2004 08:00 | MaReK Olšavský | Články autora | přečteno 11262×

Co je CHM?

Chm jsou compressed html soubory, které jsou známy také jako HTML Help. Jedná se obvykle o jeden soubor, ale není vyloučen link i do souboru jiného, ve kterém jsou zkomprimovány HTML stránky. Zkuste jej otevřít v libovolném editoru (třeba mém oblíbeném jEditu) a hned na začátku uvidíte něco jako výpis stránek, které jsou v něm obsaženy. HTML helpy můžete tvořit i Vy z formátu DocBook, ale to není předmětem tohoto článku.

Se soubory chm se poměrně často setkávám ve Windows. Líbí se mi jejich provázanost (jasně, klasické HTML můžete podotknout), ale i to, že program na jejich prohlížení v nich i vyhledává, kteroužto možnost většinou u lokálně uložených HTML dokumentací nemáte. Teprve nedávno, když jsem stahoval aktální dokumentaci PHP a nejaktuálnější byla právě v chm, jsem začal pořádně hledat, jak je to s podporou v LINUXu.

Pokud se někdo o tuto oblast zajímá trochu více, tak ví, že se vyvíjí i něco podobného na java platformě přímo od SUNu. Zatím je tento systém ale spíše "jenom" na světě a jeho použití jsem neviděl, ale není nad platformní nezávislost. Tento systém je založen na HTML 3.2

Pro čtení těchto souborů v LINUXu existují v současné době 3 různé přístupy. Za prvé je můžeme rozkomprimovat do balíku HTML stránek, za druhé lze použít webový server pomocí arCHMage a třetí přístup je možný pomocí software pro jejich přímé čtení, který se chová podobně, ne-li dokonce stejně, jako HTML help v MS Win. Je to asi ten nejrozumější způsob. Pro všechny tři přístupy budete potřebovat mít nainstalovaný interpret programovacího jazyka Python (o něm bych taky mohl jednou zpracovat nějaký tutorial). V tomto článečku se chci zaměřit na seznámení s existencí těchto produktů, takže se nebudu zabývat podrobnostmi jejich instalace, která je ale velmi dobře popsána, jak je obvyklé u GNU programů, na stránkách, nebo přímo v dokumentaci.

CHMlib

Základní knihovna pro práci s Microsoftími ITSS/CHM soubory (s těmi prvními jsem se nesetkal), kterou budeme potřebovat pro práci všech projektů. Je velmi jednoduchá, psaná v jazyce C, a ze zajímavých vlastností bych vyzdvihl to, že v současné chvíli má už alespoň základní podporu kódování UTF-8.

Její kód je šířen pod LGPL, takže ti z Vás, kteří se vyznají vědí, že ji mohou "beztrestně" použít i v komerčním projektu, aniž jej "nakazí" GPL.

PyCHM

Jedná se o knihovnu, která umožňuje napojení na CHMlib. Obsakuje 4 moduly psané v jazyce Python, které usnadňují použití knihovny CHMlib z jazyka Python a jsou využity v posledním projektu o kterém si něco napíšeme v tomto článku. Pro její zprovoznění budete potřebovat Python alespoň ve verzi 2.2.

arCHMagr

Tak toto je první prográmek, který nám práci s *.chm soubory umožňuje a je to podle mne ten zajímavější, byť ne lepší. Tato věta vám zní asi maximálně absurdně, ale záhy pochopíte. Prográmek je popsán jako rozšiřitelná čtečka (reader, češtější termín jsem nevymyslel) a dekompiler chm souborů. Můžete jej použít 3 způsoby, které hned popíšu.

Tento projekt je podle mého názoru už v současnosti mrtvý, nebo jej autoři považují za hotový, protože poslední verze, kterou jsem na serveru našel je ze srpna 2003. Protože se ale jedná o Open Source, může dál stavět někdo další.

Dekompilace

Nejjednodušší a zároveň nejkrásnější způsob, neříkám, že nejpraktičtější. Chm soubor rozbalíte tím, že jednoduše spustíte archmage [filename] [directory]. Filename je název souboru *.chm a directory je adresář, kam program rozbalí HTML stránky. Ty pak můžete číst běžným webovým prohlížečem. Toť vše k tomuto způsobu.

Hypertext od http serveru

Program umí pracovat jako samostatný http server, nebo jej lze použít jako modul do všemi milovaného Apache serveru (už jste koukali, jak toto jméno vzniklo, je to zajímavé). První způsob se hodí těm, kteří používají některou z desktopových distribucí neobsahující servery (třeba Vector LINUX), případně server nepotřebují, takže jim httpd neběží, druhý spíše pro nás, kteří běžně ladíme webové scripty a máme server nainstalovaný a nastavený.

Program lze spustit přímo jako http-server přímo pro *.chm, který potřebujete číst, pomocí archmage -p [port] [chmfile]. Čtení potom zrealizujete pomocí webového prohlížeče napsáním adresy http://vaspocitac:port. U mě doma konkrétně nastartuji pomocí archmade -p 100 db.chm http://desktop:100, používám port 100, náhodně vybraný, který snad žádná rozšířená služba nepoužívá. Soubor, který tu používám je příručka od Jirky Koska od DocBooku, což je aplikace XML a můžete vygenerovat třeba právě chm soubory.

Zatímco předchozí metodu jsem zkoušel jen jednou, způsob, kdy použijete Apache server je mi mnohem bližší a přirozenější, byť jsem u něj nakonec nezůstal. Přesto, že jsem napsal to, že se nebudu věnovat instalacím, tak zde se trochu pozastavím. Budete potřebovat mít nainstalovaný nejen Python interpretr, ale i mod_python. Zmodifikujete httpd.conf
AddHandler python-program .chm
PythonHandler mod_chm
Zrestartujete apache server. Do adresáře, který máte v httpd.conf zadaný jako document-root, umístíte chm soubor, který potřebujete zobrazit. Nyní zadáte adresu http://vaspocitac/file.chm, nebo http://vaspocitac/file.chm/ . Rozdíl ve verzi s lomítkem a bez něj je v tom, že bez lomítka se Vám zobrazí nezpracovaný chm soubor a s lomítkem prohlížíte soubory tzv. za letu.

xCHM

Toto je první zástupce, který umožňuje se soubory chm pracovat stejným způsobem, jako ve Windows, tj. i s vyhledáváním, interaktivně v okně. Je multiplatformní a to doslova a do písmene, funguje na UN*X like systémech (LINUX, *BSD, Solaris), ale úspěšné zprovoznění se prý podařilo i na MacOS X a v Cygwinu (účelnost tohoto kroku by mě docela zajímala).

xCHM umí zobrazit soubory jako &qout;obsahový strom , tisknout zobrazené stránky, měnit fonty, pracovat se záložkami, umožňuje hledání v záložkách, ale i celém textu. Software využívá knihovnu CHMLIB a skvělý projekt wxGTK, samozřejmostí je instalace jazyka Python.

GnoCHM

Poslední, ale nikoliv nejhorší, ba právě asi naopak, program pro čtení souborů *chm. Vzhledem zapadá do prostředí Gnome. Tento projekt je, IMHO, v současnosti nejaktivnější a nejpropracovanější. O všech potřebných balících a knihovnách se dočtete na domovských stránkách projektu. Zase je to klasicky Python, knihovna PyCHM a potom Gnome knihovny.

Podíváme-li se na vlastnosti, tak v podstatě opíšu jen to nejdůležitější, co je na domovských stránkách projektu: full-textové vyhledávání, záložky, plná integrace do Gnome, i18n, podpora pro http a ms-its linky.

Závěrem

Pokusil jsem se Vás formou článečku poinformovat o způsobech, jak číst HTML help soubory. Pokud to bude jednou aktuální, mohu napsat seriál (to by nebyl jen jeden díl) o vytváření chm pomocí XML formátu DocBooc, stylů a format processoru. Ze zde hrubě popsaných a zmíněných třech projektů mi nejvíce vyhovuje poslední, který je na obsluhu i nejpříjemnější a nejintuitivnější.

Verze pro tisk

pridej.cz

 

DISKUZE

Dobrej clanek 20.8.2004 22:13 Jiří Hnídek




Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

2.10.2014 7:15 /MaReK Olšavský
Projekt Kano, nabízející výukový komplet kolem Raspberry-Pi, zažívá úspěch s 18 000 prodanými kusy. Jde o úspěch pro R-Pi i pro GNU/Linux.
Přidat komentář

2.10.2014 7:15 /MaReK Olšavský
Projekt tiskového systému CUPS je tu s námi už 15 let a výročí bylo oslaveno vydáním verze 2.0. Aktualizace je zaměřena především na výkon systému a bezpečnostní opravy.
Přidat komentář

2.10.2014 7:11 /MaReK Olšavský
Další kolo boje o pozici Chromecastu začalo na Kickstarteru, kde pokračuje kampaň vývojářů MatchSticku, používajícího systém Firefox OS. Prodávat by se měl za US$ 25.
Přidat komentář

1.10.2014 7:13 /MaReK Olšavský
Microsoft nevydá Windows 9, místo nich přijdou Windows 10, které, mimo jiné, vrátí klasické tlačítko pro hlavní nabídku. Microsoft změnou číslování chce upozornit na větší evoluční skok; než bychom čekali; konvergenci systému napříč podporovanými platformami a chce opět uspět u firem, jež většinou etapu Windows 8.x vynechaly.
Přidat komentář

1.10.2014 7:13 /MaReK Olšavský
James Pearce, vedoucí open source ve Facebooku, poskytl rozhovor pro OpenSource.com, který je především o více než 200 F/L/OSS projektech, které má Facebook na GitHubu. Mnohdy proklínaný Facebook se možná stává otevřenější, než byl kdysi zbožňovaný Google.
Přidat komentář

30.9.2014 7:18 /MaReK Olšavský
HP dotáhlo jeden cíl, nabídku ARM serverů, do produkčního stavu; oficiální představení proběhne začátkem října 2014. V nové nabídce je i Proliant m400 (pdf), který je „poháněn“ 8 jádrovým, 64 bitovým, mikroprocesorem AppliedMicro® X-Gene.
Přidat komentář

30.9.2014 7:18 /MaReK Olšavský
Rodina jazyků podporovaných překladačem LLVM se rozrůstá o Common Lisp, díky ohlášenému projektu CLASP. Podpora „ultimátního jazyka“ je ve stádiu časné alfy a plány vývojářů nejsou nikterak malé.
Přidat komentář

30.9.2014 7:18 /MaReK Olšavský
Firma Adobe vstoupila mezi uživatele Chromebooků a první aplikací je populární Photoshop. Že by tento krok předznamenával nativní portace produktů Adobe pro GNU/Linux?
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

1.10.2014 0:26 / Miloslav Ponkrác
Re: To je hlod

29.9.2014 15:35 / Jan Němec
Re: To je hlod

26.9.2014 18:07 / Petr Ježek
Logické

26.9.2014 18:02 / Petr Ježek
No nevím.

26.9.2014 17:58 / Petr Ježek
Jistě

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2014) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze | zákony online