Mirin webspace

Nejbohatší život má ten, kdo žije s minimem nároků

20. 1. 2008 Ostatní

Nakonec nechci texy

Několik uplynulých dní jsem se věnoval jedné věci, implementaci (nebo spíš integraci) nějakého přívětivého značkovacího jazyka do svého blogu. Už mě prostě moc nebavilo psát příspěvky v html, html (a vlastně i xml) je poměrně dost upovídané, člověk toho musí psát o dost navíc, názorné to také zrovna dvakrát není. Nakonec jsem se rozhodl pro značkování, které využívá dokuwiki. Měl jsem samozřejmě na výběr mnoho dalších možností, ale hlavním převažujícím důvodem, proč jsem si nakonec vybral dokuwiki, byl skvělý popis parseru.

Jaký byl výběr

Uvažoval jsem o několika možnostech

  • Nějaký wisiwig on-line editor a trochu ho přiohnout nebo nastavit tak, aby produkoval správně ostylované značky.
  • Texy a podobné hotové záležitosti (markdown, textile).
  • Pear Text_Wiki balíček.
  • Napsat si něco sám.

Protože mě čím dál tím více lákalo zkusit si napsat něco sám, zajímalo mne, jak se takové věci asi píši, navíc jsem chtěl něco trochu flexibilnějšího, aby šlo výstup mít nejen v HTML, ale po menších úpravách později třeba i v PDF. Pořád jsem ještě chtěl použít Texy, ale nenašel jsem kromě výstupu PhpDocumentoru nějaký pěkný popis, jak Texy engine vlastně funguje. Také ohýbat nástroj pro výstup jinam než do HTML by asi nebylo také nic jednoduchého, všechny stávající konvertory fungují na principu převodu až výstupního HTML. Začal jsem se tedy trochu zabývat i tím Pear balíčkem, ale nakonec jsem narazil na dokuwiki, kde mne zaujal právě popis parseru. Troufám si tvrdit, že žádný podobný popis na internetu není. Takže bylo jasno, použiji a upravím dokuwiki engine.

Úpravy pro PHP 5 a Zend Framework

Cílem bylo použít maximum toho, jak je engine napsaný teď s tím, že se ho pokusím předělat tak, aby využíval výhod PHP 5 a respektoval principy, které používá Zend Framework pro nahrávání definic tříd. Nakonec se ukázalo, že to není nic snadného. Dokuwiki je php 4 kompatibilní, takže nepoužívá nových oop věcí jako modifikátorů přístupu, statických metod atd. Nakonec to tedy bylo a je (pořád to nemám úplně hotové) dost nevděčná práce. Malinko jsem i upravil manipulaci s GeSHi uvnitř dokuwiki.

Námět na články

Nakonec už to alespoň nějak funguje, proto i tento příspěvek již píši v dokuwiki syntaxi. Způsob zpracování dokuwiki enginu mě ale poměrně zaujal, přece jen zpracování takového parseru už je trochu náročnější téma, a proto se k němu v několika dalších článcích vrátím. Tím odsouvám původně zvolené téma o implementaci ajaxového hodnocení pomocí hvězdiček na později.


Komentáře (0)

Komentáře jsou uzavřeny.