PyArticle aneb Články s DocBookem v Pythonu

Lukáš Linhart almad na include.cz
Pátek Červen 9 21:37:56 CEST 2006


Zdravím,

konference je trošku mrtvá, tak jsem se rozhodl pro trochu reklamy. Pravda, 
možná bych měl počkat, až to bude ve více dodělaném stavu, ale podle 
hesla "publish early, publish often" si říkám, že to třeba někoho bude 
zajímat (v ideálním případě natolik, že se přidá k vývoji ,))

Poslední dobou dost dělám cms/wiki/crm a podobně věci, kde je často třeba, aby 
uživatelé mohli v-nějakém-formátu napsat článek a následně jej v několika 
formátech publikovat. Proto jsem se rozhodl napsat knihovnu, která tohle 
usnadňuje.

Účelem je být schopen přijmout článek v-nějakém-formátu-co-se-v-něm-dobře-píše 
(Textile, Wiki a spol.) a mít za výstup formát-co-se-dobře-prezentuje (Pdf, 
Xhtml a pod.). Protože psát konvertory pro všechny kombinace vstup-výstup je 
únavné/nemožné, je nasnadě převádět přes nějaký meziformát, takže je 
konvertorů m+n a ne m*n.

Je možné si přidat vlastní meziformáty, ale zatím je podporován jen DocBook4, 
který je nasnadě (zvlášť proto, že už má skoro všechno hotovo :))

Knihovna nedělá nic světoborného, je to (aspoň zatím) jen wrapper okolo 
existujících utilit, ale časem bych chtěl možnosti rozšířit (verzování článků 
(=možnost použití i na wiki engine), automatický backend (=lehká integrace do 
systémů spolupracujících s databází) apod.

Zatím nejjednodušší použití vypadá nějak takhle:

art = Article(text=artText, format=Asciidoc7)
art.transform() # this will tranform into exchange format, Docbook4 is default
art.transform(format=Xhtml11)
art.transform(format=Pdf)
print art.pyarticle['out'][Xhtml11]
print art.pyarticle['out'][Pdf]

(s předpokladem konfigurace, see 
http://projects.almad.net/pyarticle/wiki/QuickExample)

Samozřejmě půjde na jednoduchou konverzi použít metoda transform() (až ji 
dopíšu ,)), takže se to bude chovat jako jednoduchý konvertor, tohle je 
ukecaná varianta pro moje použítí ,)

Projektů mám tak nějak víc než dost, takže jsem v poslední době přesunul 
energii jinam s tím, že se k tomu plánuji vrátit, až mi přestanou stačit 
současné možnosti (což se určitě stane), ale teď se to minimálně pár týdnů až 
měsíců nepohne...čili měl-li by někdo zájem podílet se, ať už radou, kódy, 
testy či psaním dokumentace, ať se ozve ,)

Současný stav je zatím podpora Asciidoc7, Docbook4, Pdf a Xhtml přes Xsltproc, 
Saxon, Xep a Fop. Na jedněch windows se nepodařilo spustit test kvůli 
zvláštnímu chování systému k dočasným souborům, kdyby se na to někdo podíval, 
byl bych mu vděčen (nemám k dispozici Windows na hraní).

Kdyby se někdo chtěl podívat podrobněji, tak stránky jsou na 
http://projects.almad.net/pyarticle , pro 
diskuzi/feedback/kritiky/pochvaly/nabídky google groupu 
http://groups.google.com/group/pyarticle , ať tu přeci jenom tu konferenci 
nespamujeme ,)

S omluvou za reklamu :),

-- 
Lukáš Linhart
------------- další část ---------------
A non-text attachment was scrubbed...
Name: [žádný popis není k dispozici]
Type: application/pgp-signature
Size: 198 bytes
Desc: [žádný popis není k dispozici]
URL: <http://www.linux.cz/pipermail/docbook/attachments/20060609/5f9879f9/attachment.sig>


Další informace o konferenci Docbook