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

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ů

24.10.2014 17:45 /Petr Ježek
Hyper-Z pro radeony se vrací. Anreas Böll vydal patch umožňující opětovné povolení Hyper-Z v aktuální mesa 10.3 pro radeon R600g a radeonsi. Doporučuje se aplikovat, testovat a reportovat případné problémy před vydáním mesa10.4 v prosinci.
Komentářů: 1

24.10.2014 7:33 /MaReK Olšavský
Vyšlo Ubuntu 14.10 a spiny s dalšími desktopy Kubuntu 14.10, Xubuntu 14.10 a poprvé i Ubuntu-Mate (Lubuntu 14.10 bude opožděno). Změn je poměrně málo, nestihli zařadit aktuální GNOME a je bez convergence části.
Přidat komentář

24.10.2014 7:33 /MaReK Olšavský
Přípravy na vydání Debianu 8 jsou v plném proudu a nejednoho potenciálního uživatele by mohla zajímat připravovaná podpora multimédií pro novou verzi (jinak dosti konzervativní distribuce). Asi nebude potřeba používat obskurdní repozitáře kvůli podpoře přehrávání audia/videa a hudebníky nejspíše také potěší.
Přidat komentář

23.10.2014 7:13 /MaReK Olšavský
CERN používá OpenStack přibližně rok. Jaké je aktuální používání při výzkumu ukazuje článek na OpenSource.com. Vyprodukovaných dat, z měření, není malé množství a pro jejich zpracování je potřebný výkon několikatisíců serverů a pracovních stanic.
Přidat komentář

23.10.2014 7:13 /MaReK Olšavský
Prodejce starších her; jež jsou často hratelnější, než moderní grafické orgie; Good Old Games dosáhl milníku 100 her připravených pro Linux (nejde o portace, ale připravené konfigurace DOSBoxu/Wine).
Přidat komentář

23.10.2014 7:13 /MaReK Olšavský
O malou reklamu pro Ubuntu se postaral Andy Swan, se svým laptopem, při analýze počasí pro tragickou Velkou Cenu Japonska 2014 (Formule 1).
Přidat komentář

22.10.2014 7:19 /MaReK Olšavský
Programovacímu jazyku Swift, jenž nedávno zveřejnil Apple a je uzavřený, vzniká svobodná odpověď Phoenix (repozitář). Jazyk bude stejný, takže lze očekávat, že se Apple bude bránit i soudně. Název Phoenix už nejspíše také někdo používá, starší pamatují, že se tak chvíli jmenoval dnešní Mozilla Firefox.
Přidat komentář

22.10.2014 7:19 /MaReK Olšavský
Programátorům v PHP je určen nástroj RIPS, který jim pomůže odhalit zranitelnosti v jejich kódu. Pokud znáte další nástroje, podělte se o ně v diskusi.
Přidat komentář

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

> Poslední diskuze

24.10.2014 17:47 / Petr Ježek
Andreas

16.10.2014 7:56 / Leo
Sanba

13.10.2014 7:20 / MaReK Olšavský
Re: PDF a podpis

10.10.2014 8:01 / Hynek Beran
PDF a podpis

10.10.2014 7:41 / Dusan Hlavac
Re: Takže nic.

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