Czechtile: Hezká česká WikiSyntax
Byl jednou jeden vývojář a ten se rozhodl, že svým českým uživatelům poskytne wiki. Rozhodl se ovšem, že chce, aby se používala příjemně a nenutila všechny používat nějaké podivné znaky z jiných klávesnic. Podíval se pěkné prýčeské Texy!, ale zjistil, že to mu taky nevyhovuje.
A tak nezbylo, než začít vymýšlet něco jiného a lepšího. A tak začal vznikat Czechtile.
Czechtile se skládá ze dvou částí: DefiniceSyntaxe (tedy popis, jak v Czechtile psát; viz browse source) a PythonImplementace (knihovna pro programovací jazyk Python, která je rozšířením SneakyLangu a obsahuje nástroje pro jednoduchou konverzi a práci s Czechtile; see http://hg.almad.net/python-czechtile). Obé jest distribuováno pod licencí LGPL.
Andros nyní také pracuje na PHP implementaci. Pro zaručení kompatibility se používa Czechtile Compatibility Suite
Pro modifikaci WikiStránek se přihlašte jako guest / rpgplanet
S připomínkami, návrhy či pro všeobecnou debatu Vás rádi uvidíme na google groups.
Co je Czechtile?
Czechtile jednoduchý a pohodlný způsob zápisu textu, který umožňuje dobře vyjádřit jeho strukturu a poskytuje všechny výhody z toho plynoucí. Czechtile je postaven na stejném principu, jako třeba Texy!, Wikimedia syntax nebo Textile; na rozdíl od nich však nesoustředí jen na "pohodlnější způsob zápisu XHTML", nýbrž obecně na vyjádření obsahu. Krom toho je zaměřen na české uživatele, proto nepoužívá jiné znaky, než jaké existují na české klávesnici a podporuje psaní hezky česky (nahrazování českých uvozovek, kontrola spojovníků apod.).
Na rozdíl od zmíněných jazyků, definice jazyka (tedy pravidla "značkování" textu) nejsou svázána s konkrétní jazykovou implementací. Jazyk tak není formulován podle potřeb implementujcích programátorů, ale podle skutečných potřeb uživatelů.
Hlavní implementace Czechtile je v jazyce Python. Implementace v ostatních jazycích zatím nebyly vytvořeny a plánují se až po důkladnějším otestování a stabilizaci samotného jazyka. Dobrovolníci jsou vítání, zejména co se rozšířeného jazyka PHP týče.
Výhody Czechtile pro uživatele
- Rychlé psaní: Jelikož není třeba přepínat na obskurní rozložení klávesnic či používat nepohodlný pravý alt, je zápis v Czechtile rychlejší, než v HTML či jiných syntaxích; to ocení zejména uživatelé ovládající psaní všemi deseti.
- Intuitivní syntax: Vzhledem k tomu, že 95% textů je jen minimálně formátovaných (nadpisy, odstavce a zvýraznění částí textu), je třeba se naučit jen několik pravidel a ta používat; zbytek Czechtile zařídí sám.
- Jednoduchá konverze: Každý formát se hodí k něčemu jinému. V některých (jako třeba Czechtile) se dobře píše, v jiných se dobře ukazují prezentace (ODF), jiné se používají pro zobrazení na webu (XHTML) a jiné pro tisk (PDF). Kombinací Czechtile a PyArticle můžete využít výhod všech formátů, neboť z Czechtile se přes DocBook? dostanete ke všem zmiňovaným formátům.
Výhody Czechtile pro administrátory a programátory
- Bezpečný vstup zadarmo: Uživatel neposílá "zdrojové" HTML, které je třeba složitě validovat a kontrolovat, co je povoleno a či se uživatle nesnaží něco podvrhnout. Výstup z Czechtile je vždy validní XHTML či DocBook?, netřeba se zabývat dalšími kontrolami.
- Další formát zadarmo: Můžete umožnit uživatelům psaní v dalším jazyce a vzhledem k jednoduchosti API knihovny je to jen pár řádek ,)
Co Czechtile není
- Náhrada za HTML nebo DocBook?: Chcete-li jednodušší náhradu za psaní textů v HTML, zkuste Texy!; chcete-li psát DocBook? bez opruzoidní XML syntaxe, zkuste Asciidoc. Czechtile slouží k zápisu jednodušších struktur jako jsou komentáře či články; píšete-li knihu s rozsáhlými formátovacími požadavky, použijte nástroje k tomu určené (tj. nejspíše Docbook nebo TeX).
Výhody Python implementace aneb Není Czechtile jako Czechtile, rozšiřte si svůj jazyk!
Czechtile imlementace v Pythonu je postavena na knihovně SneakyLang? a je "pouze" sadou použitých pravidel. Výhodou je, že tak lze jazyk rozšířit, což má neocenitelné výhody, pokud chcete nějakou drobnost specifickou pro Vaši stránku (například aby #3 vytvářelo hyperlink na chybu č. 3). Jak (jednoduše) na to naleznete v dokumentaci SneakyLangu?.
TODO: Odkazy do dokumentace
