LINUXSOFT.cz Přeskoč levou lištu

ARCHIV



   

> 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 16417×

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ů

28.11.2018 23:56 /František Kučera
Prosincový sraz spolku OpenAlt se koná ve středu 5.12.2018 od 16:00 na adrese Zikova 1903/4, Praha 6. Tentokrát navštívíme organizaci CESNET. Na programu jsou dvě přednášky: Distribuované úložiště Ceph (Michal Strnad) a Plně šifrovaný disk na moderním systému (Ondřej Caletka). Následně se přesuneme do některé z nedalekých restaurací, kde budeme pokračovat v diskusi.
Komentářů: 1

12.11.2018 21:28 /Redakce Linuxsoft.cz
22. listopadu 2018 se koná v Praze na Karlově náměstí již pátý ročník konference s tématem Datová centra pro business, která nabídne odpovědi na aktuální a často řešené otázky: Jaké jsou aktuální trendy v oblasti datových center a jak je optimálně využít pro vlastní prospěch? Jak si zajistit odpovídající služby datových center? Podle jakých kritérií vybírat dodavatele služeb? Jak volit vhodné součásti infrastruktury při budování či rozšiřování vlastního datového centra? Jak efektivně datové centrum spravovat? Jak co nejlépe eliminovat možná rizika? apod. Příznivci LinuxSoftu mohou při registraci uplatnit kód LIN350, který jim přinese zvýhodněné vstupné s 50% slevou.
Přidat komentář

6.11.2018 2:04 /František Kučera
Říjnový pražský sraz spolku OpenAlt se koná v listopadu – již tento čtvrtek – 8. 11. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma umění a technologie, IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

4.10.2018 21:30 /Ondřej Čečák
LinuxDays 2018 již tento víkend, registrace je otevřená.
Přidat komentář

18.9.2018 23:30 /František Kučera
Zářijový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 20. 9. 2018 od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Tentokrát bez oficiální přednášky, ale zato s dobrým jídlem a pivem – volná diskuse na téma IoT, CNC, svobodný software, hardware a další hračky.
Přidat komentář

9.9.2018 14:15 /Redakce Linuxsoft.cz
20.9.2018 proběhne v pražském Kongresovém centru Vavruška konference Mobilní řešení pro business. Návštěvníci si vyslechnou mimo jiné přednášky na témata: Nejdůležitější aktuální trendy v oblasti mobilních technologií, správa a zabezpečení mobilních zařízení ve firmách, jak mobilně přistupovat k informačnímu systému firmy, kdy se vyplatí používat odolná mobilní zařízení nebo jak zabezpečit mobilní komunikaci.
Přidat komentář

12.8.2018 16:58 /František Kučera
Srpnový pražský sraz spolku OpenAlt se koná ve čtvrtek – 16. 8. 2018 od 19:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát jsou tématem srazu databáze prezentaci svého projektu si pro nás připravil Standa Dzik. Dále bude prostor, abychom probrali nápady na využití IoT a sítě The Things Network, případně další témata.
Přidat komentář

16.7.2018 1:05 /František Kučera
Červencový pražský sraz spolku OpenAlt se koná již tento čtvrtek – 19. 7. 2018 od 18:00 v Kavárně Ideál (Sázavská 30, Praha), kde máme rezervovaný salonek. Tentokrát bude přednáška na téma: automatizační nástroj Ansible, kterou si připravil Martin Vicián.
Přidat komentář

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

> Poslední diskuze

31.7.2023 14:13 / Linda Graham
iPhone Services

30.11.2022 9:32 / Kyle McDermott
Hosting download unavailable

13.12.2018 10:57 / Jan Mareš
Re: zavináč

2.12.2018 23:56 / František Kučera
Sraz

5.10.2018 17:12 / Jakub Kuljovsky
Re: Jaký kurz a software by jste doporučili pro začínajcího kodéra?

Více ...

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