Text::TikiText is a Perl module for TikiText.
my $tiki = new Text::Tiki;
$tiki->macro_handler('BR', &html_break, 'inline');
Despite the notion of a universal canvas, rich authoring of content through Web browsers is still rather poor and laborious to do. There have been attempts to create WYSIWYG(What You See Is What You Get) editor widgets to rectify this, however none of these tools are reliable cross-platform and cross-browser not and often lack the flexiblity of its read-only counterparts. This is unfortunate and nothing one person will be able to fix any time soon leaving us to cope with brain dead and plain text.
TikiText is an attempt to work with what we have and minimize (not completely solve) these shortcomings.
I was faced with the task of architecting a way for non-developer non-markup saavy business user to publish information. Plain text (with no formatting) was not going to cut it. Nor was teaching them XHTML markup. I did an intensive study of different structured text formatting notations that have been developed in the past. These notations included a few different Wiki implements such as UseMod Wiki, MoinMoin Wiki, Text::WikiFormat, in addition to Zope's Structured Text, HTML::FromText and Textile. For one reason or another these notations fell short of my requirements. So in scratching my own itch I developed a notation I call TikiText based on my observations and key learnings.
The name Tiki came from the combination of Text formatting and wIKI and was chosen to reflect Hawaiian heritige. (For those not familiar with this mythical god of retro poleynesia it's said /tee-kee/ and not /tick-E/)
I defined the design goals for TikiText are as follows:
· Leverage existing text formatting notions.
· Least amount of characters from plain text.
· Use more intuitive and common plain text email conventions.
· Abstract users from needing to know or understand markup whenever possible.
· Make valid and semantical XHTML markup easy. (And let CSS do its job!)
· Easy to learn the basics. Richer functionality for those who want to dive in.
While Wikis are a part of TikiText's lineage, it was never my intention to create a new Wiki notation or tool. Based on the feedback I received from the initial releases, I've added more Wiki features to this module. (See "Wiki Functions" for more.)
This code is quite usable and has been improved over the months, but it should still be used with the understanding that it is still somewhat experimental and is just being tested and properly documented. Feedback, bug fixes, and feature implementations are appreciated. Furthermore, I realized this format is less then perfect and falls short of its design goals. My hope is that it will be refined an tweaked over time to optimize its effectiveness.