<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>WikklyText</title>
        <link>http://wikklytext.com/wiki</link>
        <description>A wikitext server and rendering library</description>
        <lastBuildDate>Sun, 17 Aug 2008 17:49:00 +0000</lastBuildDate>
        <generator>WikklyText 1.4.0</generator>
        <docs>http://blogs.law.harvard.edu/tech/rss</docs>
        <atom:link href="http://wikklytext.com/wiki/rss.xml" rel="self" type="application/rss+xml" />        <item>
            <title>Tags</title>
            <link>http://wikklytext.com/wiki/Tags.html</link>
            <description><![CDATA[<div class="wikkly-code-block">&lt;!--<br/>&nbsp;&nbsp;&nbsp;&nbsp;These&nbsp;are&nbsp;the&nbsp;tags&nbsp;generated&nbsp;by&nbsp;wikXML&nbsp;and&nbsp;recognized&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;by&nbsp;wikHTML.&nbsp;Macros&nbsp;are&nbsp;allowed&nbsp;to&nbsp;generate&nbsp;&amp;&nbsp;return&nbsp;any<br/>&nbsp;&nbsp;&nbsp;&nbsp;of&nbsp;these&nbsp;as&nbsp;well.<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;--&nbsp;CAUTION&nbsp;-------------------------------------------------------------<br/>&nbsp;&nbsp;&nbsp;&nbsp;Macro&nbsp;writers&nbsp;MUST&nbsp;ensure&nbsp;that&nbsp;no&nbsp;unfiltered&nbsp;user&nbsp;data&nbsp;is&nbsp;injected&nbsp;into<br/>&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;'style'&nbsp;attribute&nbsp;of&nbsp;&lt;MacroBlock&gt;&nbsp;(at&nbsp;least&nbsp;in&nbsp;Safe&nbsp;Mode).&nbsp;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;only&nbsp;attribute&nbsp;that&nbsp;is&nbsp;not&nbsp;sanity&nbsp;checked&nbsp;when&nbsp;generating<br/>&nbsp;&nbsp;&nbsp;&nbsp;HTML&nbsp;in&nbsp;Safe&nbsp;Mode.<br/>&nbsp;&nbsp;&nbsp;&nbsp;------------------------------------------------------------------------<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;General&nbsp;note:&nbsp;Only&nbsp;the&nbsp;&lt;Text*&gt;&nbsp;tags&nbsp;are&nbsp;allowed&nbsp;to&nbsp;have<br/>&nbsp;&nbsp;&nbsp;&nbsp;character&nbsp;content.&nbsp;ALL&nbsp;of&nbsp;the&nbsp;remaining&nbsp;tags&nbsp;(except&nbsp;for<br/>&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;self-closing&nbsp;tags)&nbsp;are&nbsp;containers.<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Overall&nbsp;structure:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;WikklyContent&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ErrorsList&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;..<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/ErrorsList&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Content&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;..<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Content&gt;<br/>--&gt;&nbsp;&nbsp;&nbsp;&nbsp;<br/><br/>&lt;!--&nbsp;Overall&nbsp;container&nbsp;--&gt;<br/>&lt;WikklyContent&gt;<br/><br/>&lt;!--&nbsp;Container&nbsp;for&nbsp;content&nbsp;--&gt;<br/>&lt;Content&gt;<br/><br/>&lt;!--&nbsp;Used&nbsp;to&nbsp;pass&nbsp;around&nbsp;lists&nbsp;of&nbsp;Elements.&nbsp;Ignore&nbsp;for&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HTML&nbsp;output&nbsp;(output&nbsp;subelements&nbsp;instead).<br/>--&gt;<br/>&lt;ElementList&gt;<br/><br/>&lt;!--&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Links.&nbsp;Only&nbsp;the&nbsp;following&nbsp;subnodes&nbsp;are&nbsp;recognized.<br/>--&gt;<br/>&lt;Link&gt;<br/>&nbsp;&nbsp;&lt;!--&nbsp;The&nbsp;object&nbsp;linked&nbsp;to,&nbsp;i.e.&nbsp;&lt;a&nbsp;..&gt;&nbsp;LinkElement&nbsp;&lt;/a&gt;&nbsp;--&gt;<br/>&nbsp;&nbsp;&lt;LinkElement&gt;<br/>&nbsp;&nbsp;&lt;!--&nbsp;The&nbsp;URL,&nbsp;i.e.&nbsp;&lt;a&nbsp;href="LinkURL"&gt;&nbsp;...&nbsp;&lt;/a&gt;&nbsp;--&gt;<br/>&nbsp;&nbsp;&lt;LinkURL&nbsp;new_window={0,1}&gt;<br/>&nbsp;&nbsp;<br/>&lt;!--&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Basic&nbsp;text&nbsp;styling.<br/>--&gt;<br/>&lt;Bold&gt;<br/>&lt;Italic&gt;<br/>&lt;Strikethrough&gt;<br/>&lt;Underline&gt;<br/>&lt;Superscript&gt;<br/>&lt;Subscript&gt;<br/><br/>&lt;!--&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Generic&nbsp;inline&nbsp;CSS&nbsp;styling.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;'style'&nbsp;is&nbsp;missing,&nbsp;uses&nbsp;default&nbsp;highlighting.&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;In&nbsp;'Safe&nbsp;Mode',&nbsp;style&nbsp;is&nbsp;ignored&nbsp;to&nbsp;prevent&nbsp;HTML&nbsp;injection.<br/>--&gt;<br/>&lt;Highlight&nbsp;[style="CSS&nbsp;style&nbsp;string"]&gt;<br/><br/>&lt;!--&nbsp;Numbered&nbsp;lists.&nbsp;'level'&nbsp;is&nbsp;indent&nbsp;level.&nbsp;--&gt;<br/>&lt;NumberedList&gt;<br/>&nbsp;&nbsp;&lt;NumberedListItem&nbsp;level="NR"&gt;<br/><br/>&lt;!--&nbsp;Unumbered&nbsp;lists.&nbsp;'level'&nbsp;is&nbsp;indent&nbsp;level.&nbsp;--&gt;<br/>&lt;UnnumberedList&gt;<br/>&nbsp;&nbsp;&lt;UnnumberedListItem&nbsp;level="NR"&gt;&nbsp;&nbsp;<br/><br/>&lt;!--&nbsp;Headings.&nbsp;'level'&nbsp;is&nbsp;heading&nbsp;level&nbsp;--&gt;&nbsp;&nbsp;<br/>&lt;Heading&nbsp;level="NR"&gt;<br/><br/>&lt;!--&nbsp;Do&nbsp;a&nbsp;block&nbsp;or&nbsp;line&nbsp;indent&nbsp;of&nbsp;contents&nbsp;--&gt;<br/>&lt;BlockIndent&gt;<br/>&lt;LineIndent&gt;<br/><br/>&lt;!--&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Create&nbsp;a&nbsp;named&nbsp;anchor.&nbsp;Uses&nbsp;the&nbsp;first&nbsp;&lt;Text&gt;&nbsp;node<br/>&nbsp;&nbsp;&nbsp;&nbsp;as&nbsp;the&nbsp;name&nbsp;<br/>--&gt;<br/>&lt;CreateAnchor&gt;<br/><br/>&lt;!--&nbsp;Images&nbsp;--&gt;<br/>&lt;Image&gt;<br/>&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;Optional:&nbsp;URL&nbsp;to&nbsp;link&nbsp;to&nbsp;--&gt;<br/>&nbsp;&nbsp;&nbsp;&lt;ImageLinkURL&nbsp;new_window={0,1}&gt;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;Source&nbsp;of&nbsp;image&nbsp;--&gt;<br/>&nbsp;&nbsp;&nbsp;&lt;ImageSource&gt;<br/>&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;Title&nbsp;for&nbsp;popup&nbsp;--&gt;<br/>&nbsp;&nbsp;&nbsp;&lt;ImageTitle&gt;<br/>&nbsp;&nbsp;&nbsp;<br/>&lt;!--&nbsp;A&nbsp;block&nbsp;of&nbsp;code&nbsp;--&gt;&nbsp;&nbsp;&nbsp;<br/>&lt;CodeBlock&gt;<br/><br/>&lt;!--&nbsp;Inline&nbsp;code&nbsp;--&gt;<br/>&lt;CodeInline&gt;<br/><br/>&lt;!--&nbsp;Tables&nbsp;--&gt;<br/>&lt;Table&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;Caption,&nbsp;must&nbsp;be&nbsp;first&nbsp;tag&nbsp;if&nbsp;present&nbsp;--&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TableCaption&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;Each&nbsp;row&nbsp;...&nbsp;--&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;TableRow&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;Each&nbsp;cell&nbsp;...&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;In&nbsp;"Safe&nbsp;Mode",&nbsp;bgcolor&nbsp;is&nbsp;ignored&nbsp;to&nbsp;prevent&nbsp;HTML&nbsp;injection.&nbsp;--&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TableCell&nbsp;type="header|data"&nbsp;text-align="left|center|right"<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[skip="1"]&nbsp;[colspan="NR"]&nbsp;[rowspan="NR"]&nbsp;[bgcolor="color"]&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&lt;!--&nbsp;Definition&nbsp;lists&nbsp;--&gt;<br/>&lt;DefinitionList&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;Each&nbsp;list&nbsp;entry&nbsp;...&nbsp;--&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;DefinitionEntry&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;One&nbsp;Term&nbsp;&amp;&nbsp;Def&nbsp;per&nbsp;entry.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Both&nbsp;must&nbsp;be&nbsp;present&nbsp;(even&nbsp;if&nbsp;empty)&nbsp;and&nbsp;in&nbsp;order.&nbsp;--&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;DefinitionTerm&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;DefinitionDef&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&lt;!--&nbsp;A&nbsp;block&nbsp;of&nbsp;content&nbsp;styled&nbsp;by&nbsp;the&nbsp;given&nbsp;CSS&nbsp;class&nbsp;--&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&lt;CSSBlock&nbsp;class="CLASSNAME"&gt;<br/><br/>&lt;!--&nbsp;Self-closing&nbsp;tags&nbsp;(no&nbsp;subnodes&nbsp;recognized)&nbsp;--&gt;<br/>&lt;Separator&nbsp;/&gt;<br/>&lt;BlankLines&nbsp;count="NR"&nbsp;/&gt;<br/>&lt;LineBreak&nbsp;/&gt;<br/>&lt;DashChar&nbsp;/&gt;<br/><br/>&lt;ErrorsList&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;Error&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ErrorMessage&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ErrorLookingAt&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ErrorTrace&gt;<br/><br/>&lt;!--&nbsp;<br/>&nbsp;&nbsp;A&nbsp;MacroBlock&nbsp;is&nbsp;a&nbsp;DIV-like&nbsp;element&nbsp;with&nbsp;optional&nbsp;class,&nbsp;style,&nbsp;and&nbsp;id&nbsp;attributes.<br/>&nbsp;&nbsp;It&nbsp;is&nbsp;called&nbsp;"MacroBlock"&nbsp;because&nbsp;it&nbsp;is&nbsp;meant&nbsp;for&nbsp;use&nbsp;by&nbsp;macros&nbsp;to&nbsp;define&nbsp;<br/>&nbsp;&nbsp;their&nbsp;own&nbsp;blocks&nbsp;when&nbsp;an&nbsp;existing&nbsp;tag&nbsp;won't&nbsp;do.&nbsp;<br/>--&gt;<br/>&lt;MacroBlock&nbsp;[class="CLASSNAME"]&nbsp;[style="CSS&nbsp;style"]&nbsp;[id="ID"]&gt;<br/><br/>&lt;!--&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;As&nbsp;noted&nbsp;above,&nbsp;only&nbsp;&lt;Text*&gt;&nbsp;nodes&nbsp;are&nbsp;allowed&nbsp;to&nbsp;contain<br/>&nbsp;&nbsp;&nbsp;&nbsp;character&nbsp;data.&nbsp;There&nbsp;are&nbsp;several&nbsp;types&nbsp;of&nbsp;Text&nbsp;nodes&nbsp;depending<br/>&nbsp;&nbsp;&nbsp;&nbsp;on&nbsp;the&nbsp;type&nbsp;of&nbsp;content.<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;Text&nbsp;nodes&nbsp;are&nbsp;not&nbsp;allowed&nbsp;to&nbsp;have&nbsp;any&nbsp;subnodes;&nbsp;only&nbsp;their<br/>&nbsp;&nbsp;&nbsp;&nbsp;character&nbsp;data&nbsp;is&nbsp;recognized.<br/>--&gt;<br/><br/>&lt;!--&nbsp;Normal&nbsp;text,&nbsp;HTML-special&nbsp;chars&nbsp;are&nbsp;escaped&nbsp;--&gt;<br/>&lt;Text&gt;<br/><br/>&lt;!--&nbsp;Like&nbsp;&lt;Text&gt;,&nbsp;but&nbsp;whitespace&nbsp;is&nbsp;preserved&nbsp;as&nbsp;well&nbsp;--&gt;<br/>&lt;TextCode&gt;<br/><br/>&lt;!--&nbsp;No&nbsp;escaping,&nbsp;written&nbsp;as&nbsp;raw&nbsp;chars&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;In&nbsp;"Safe&nbsp;Mode",&nbsp;these&nbsp;are&nbsp;ignored.&nbsp;--&gt;<br/>&lt;TextHTML&gt;<br/><br/>&lt;!--&nbsp;For&nbsp;URLs&nbsp;under&nbsp;LinkURL&nbsp;or&nbsp;ImageSource&nbsp;tags&nbsp;--&gt;<br/>&lt;TextURL&gt;<br/><br/>&lt;!--&nbsp;Like&nbsp;&lt;Text&gt;&nbsp;but&nbsp;no&nbsp;wikification&nbsp;of&nbsp;text&nbsp;is&nbsp;performed&nbsp;--&gt;<br/>&lt;TextNoWiki&gt;<br/><br/>&lt;!--&nbsp;For&nbsp;2.x&nbsp;parser&nbsp;--&nbsp;not&nbsp;yet&nbsp;implemented&nbsp;--&gt;<br/><br/>&lt;!--&nbsp;A&nbsp;macro&nbsp;call&nbsp;--&gt;<br/>&lt;MacroCall&gt;<br/>&lt;!--&nbsp;Subnodes&nbsp;will&nbsp;be&nbsp;either&nbsp;...&nbsp;--&gt;<br/>&lt;TextMacroArg&gt;<br/>&lt;!--&nbsp;<br/>&nbsp;&nbsp;&nbsp;...&nbsp;for&nbsp;args&nbsp;parsed&nbsp;directly&nbsp;from&nbsp;wikitext,&nbsp;but&nbsp;can<br/>&nbsp;&nbsp;&nbsp;be&nbsp;any&nbsp;other&nbsp;type&nbsp;of&nbsp;node&nbsp;for&nbsp;nodes&nbsp;that&nbsp;have&nbsp;already&nbsp;been&nbsp;evaluated.&nbsp;<br/>&nbsp;&nbsp;&nbsp;(Note&nbsp;especially&nbsp;that&nbsp;another&nbsp;&lt;MacroCall&gt;&nbsp;can&nbsp;be&nbsp;one&nbsp;of&nbsp;the&nbsp;elements<br/>&nbsp;&nbsp;&nbsp;to&nbsp;denote&nbsp;an&nbsp;inner&nbsp;macro&nbsp;call.)<br/><br/>&nbsp;&nbsp;The&nbsp;name&nbsp;of&nbsp;the&nbsp;macro&nbsp;to&nbsp;call&nbsp;is&nbsp;simply&nbsp;be&nbsp;the&nbsp;first&nbsp;element.text<br/>--&gt;<br/><br/>&lt;!--&nbsp;Embedded&nbsp;Python&nbsp;code&nbsp;--&gt;<br/>&lt;PyCode&gt;<br/>&nbsp;&nbsp;&nbsp;&lt;TextPyCode&gt;&nbsp;..&nbsp;code&nbsp;here&nbsp;...</div><br/><br/>]]></description>
            <guid isPermaLink="false">a49878d7241b223d207dec9ce94f7d778ddeb524</guid>
            <pubDate>Sun, 17 Aug 2008 17:49:00 +0000</pubDate>
        </item>
        <item>
            <title>LatestNews</title>
            <link>http://wikklytext.com/wiki/LatestNews.html</link>
            <description><![CDATA[You might be interested in reading the <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/RecentChanges.html" >RecentChanges</a>. <br/><br/><h3 class="wikkly-h3">August 11, 2008</h3><br/>WikklyText 1.4.0 released. Interesting new features are autolinks to unknown CamelWords and links (just as TiddlyWiki creates) and a new plugin API for adding user macros. See the <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/RecentChanges.html" >RecentChanges</a> for more.<br/><br/><h3 class="wikkly-h3">June 17, 2008</h3><br/>Oops, the link on the <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/DrupalPlugIn.html" >DrupalPlugIn</a> page was pointing to the wrong file. If you had problems getting the plugin, please try again.<br/><br/><h3 class="wikkly-h3">June 11, 2008</h3><br/>WikklyText 1.3.0 released. This adds a new GUI 'control center' which is handy when you are managing multiple local wikis. There are several other smaller enhancements and fixes, see the <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/RecentChanges.html" >RecentChanges</a>.<br/><br/>]]></description>
            <guid isPermaLink="false">9785432b4b471add34fd1b6fca1406cdbdfe91c2</guid>
            <pubDate>Sun, 17 Aug 2008 16:49:00 +0000</pubDate>
        </item>
        <item>
            <title>RecentChanges</title>
            <link>http://wikklytext.com/wiki/RecentChanges.html</link>
            <description><![CDATA[<h3 class="wikkly-h3">Version 1.4.0</h3> <div class="wikkly-infobox-container" ><div class="wikkly-infobox-title" >Upgrade notes ...</div><div class="wikkly-infobox-body" ><ol class="wikkly-ol"><li class="wikkly-ol-li1">This is a major feature release with the addition of the many features listed below. </li><li class="wikkly-ol-li1">You only need to install the Python library to get this upgrade. There is no need to update your Drupal plugin or update your Apache setup. (If you are using the standalone <span class="wikkly-tt">.exe</span> then just download the new version(s).) </li></ol></div></div> <b class="">User-visible changes</b> <ul class="wikkly-ul"><li class="wikkly-ul-li1">Now creates autolinks to unknown CamelWords and links, just like TiddlyWiki does. <i class="">Turned <b class="">off</b> by default to avoid surprising existing users. You can enable this behavior from the admin page.</i> </li><li class="wikkly-ul-li1">Metadata updates are now automatically applied. No longer have to shutdown wiki and run <span class="wikkly-code-inline">wik&nbsp;updatemeta</span> from the command line. </li><li class="wikkly-ul-li1">Added user-defined log filters on admin page. </li><li class="wikkly-ul-li1">Added StyleSheet link on admin page for convenience. </li><li class="wikkly-ul-li1">Added button on admin page to clear rendercache. </li><li class="wikkly-ul-li1">Stricter parsing of CamelWords &mdash; now accepts alphabetical only. </li><li class="wikkly-ul-li1">Fixed cache handling in SiteTitle()/SiteSubtitle() </li><li class="wikkly-ul-li1">Tags <span class="wikkly-code-inline">nocache</span> and <span class="wikkly-code-inline">norss</span> changed to <span class="wikkly-code-inline">-cache</span> and <span class="wikkly-code-inline">-rss</span>. </li><li class="wikkly-ul-li1">Added <span class="wikkly-code-inline">&lt;&lt;div&gt;&gt;</span> and <span class="wikkly-code-inline">&lt;&lt;span&gt;&gt;</span> macros. </li><li class="wikkly-ul-li1">Fixed <span class="wikkly-code-inline">&lt;nowiki&gt;</span> handling.<br/><br/></li></ul><b class="">Internal changes</b> <ul class="wikkly-ul"><li class="wikkly-ul-li1">New plugin API make it easy to add user-defined macros. (see <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/WritingPlugins.html" >WritingPlugins</a>) </li><li class="wikkly-ul-li1"><span class="wikkly-highlight">API Changes</span>  <ul class="wikkly-ul"><li class="wikkly-ul-li2">URL resolvers now return linktype as string ('internal', 'external', or 'newitem') instead of True/False to allow more types of links. (For backwards compatibility, True/False are still accepted.) </li><li class="wikkly-ul-li2"><span class="wikkly-code-inline">wikStore_tw_re</span> can no longer be used directly. <span class="wikkly-code-inline">wikStore_tw</span> has always been marked as the official interface; if you are using <span class="wikkly-code-inline">wikStore_tw_re</span> just change to <span class="wikkly-code-inline">wikStore_tw</span>, it has the same API. </li></ul></li><li class="wikkly-ul-li1"><span class="wikkly-code-inline">var_get_*</span> and <span class="wikkly-code-inline">var_set_*</span> functions moved into WikContext. Old functions left in place for now to avoid breaking API, but marked as deprecated. </li><li class="wikkly-ul-li1">Added file locking to wikStore_tw </li><li class="wikkly-ul-li1">Updated wikStore_sqlite for multiprocess use. </li><li class="wikkly-ul-li1">Added locking to wikStore_files </li><li class="wikkly-ul-li1">More comprehensive time handling in wikStore_tw to account for many variations in TiddlyWiki formats. </li><li class="wikkly-ul-li1">Fixes for CherryPy 3.1-final<br/><br/></li></ul><h3 class="wikkly-h3">Version 1.3.0</h3> <div class="wikkly-infobox-container" ><div class="wikkly-infobox-title" >Upgrade notes ...</div><div class="wikkly-infobox-body" ><ol class="wikkly-ol"><li class="wikkly-ol-li1">This is a major feature release with the addition of the GUI 'control center' application. </li><li class="wikkly-ol-li1">You only need to install the Python library to get this upgrade. There is no need to update your Drupal plugin or update your Apache setup. (If you are using the standalone <span class="wikkly-tt">.exe</span> then just download the new version(s).) </li></ol></div></div> <ul class="wikkly-ul"><li class="wikkly-ul-li1">New GUI "control center" for managing wikis. It is particularly useful if you are running several local wikis and don't want to keep starting/stopping them by hand. This is now the default command if you simply run <span class="wikkly-code-inline">wik.exe</span> or <span class="wikkly-code-inline">wikgui.exe</span>. </li><li class="wikkly-ul-li1">SiteTitle and SiteSubtitle are now rendered correctly. </li><li class="wikkly-ul-li1">Fixed handling of embedded Python code (<span class="wikkly-code-inline">&lt;?py</span>) so that globals are visible. </li><li class="wikkly-ul-li1">Added CherryPy to auto dependencies. </li><li class="wikkly-ul-li1">Allow turning on/off metadb usage in wiki admin page (will enable/disable logging.) </li><li class="wikkly-ul-li1">Allow turning on/off caching in wiki admin page. </li><li class="wikkly-ul-li1">Added <span class="wikkly-code-inline">--no-respawn</span> command-line option to prevent wiki from doing an auto-restart on exit. (<i class="">Primarily for use by <span class="wikkly-code-inline">wik</span> and <span class="wikkly-code-inline">wikgui</span></i>.) </li><li class="wikkly-ul-li1">Create rss.xml when running "wik render" </li><li class="wikkly-ul-li1">RSS feed now validates with no warnings at <a title="Link to http://feedvalidator.org" class="wikkly-a-www" href="http://feedvalidator.org/" target="_blank">http://feedvalidator.org/</a><br/><br/></li></ul><h3 class="wikkly-h3">Version 1.2.2</h3> <div class="wikkly-infobox-container" ><div class="wikkly-infobox-title" >Upgrade notes ...</div><div class="wikkly-infobox-body" ><ol class="wikkly-ol"><li class="wikkly-ol-li1">This is a minor bugfix update. There is no need to update unless you need the fix (see below). </li><li class="wikkly-ol-li1">You only need to install the Python library to get this upgrade. There is no need to update your Drupal plugin or update your Apache setup. (If you are using the standalone <span class="wikkly-tt">.exe</span> then just download the new version.) </li></ol></div></div> <ul class="wikkly-ul"><li class="wikkly-ul-li1">Updated to handle wikis created with TiddlyWiki 2.4.0. (<i class="">Works will all versions of TiddlyWiki from 2.0-2.4</i>) </li></ul> <h3 class="wikkly-h3">Version 1.2.0</h3><br/><div class="wikkly-infobox-container" ><div class="wikkly-infobox-title" >Upgrade notes ...</div><div class="wikkly-infobox-body" ><ol class="wikkly-ol"><li class="wikkly-ol-li1">This upgrade is highly recommended for all users. Version 1.1 had a showstopper bug in its XSS filter. </li><li class="wikkly-ol-li1">You only need to install the Python library to get this upgrade. There is no need to update your Drupal plugin or update your Apache setup. (If you are using the standalone <span class="wikkly-tt">.exe</span> then just download the new version.) </li><li class="wikkly-ol-li1">You should run <span class="wikkly-code-inline">wik&nbsp;clean</span> on your wiki(s) after this upgrade to clear the cache of any badly generated files from version 1.1. </li></ol></div></div> Changes: <ul class="wikkly-ul"><li class="wikkly-ul-li1">Added compatibility with CherryPy 3.1beta (version 3.0.x still supported). </li><li class="wikkly-ul-li1">Redirect requests for "PageName" to "PageName.html" (assuming "PageName" is a valid item). </li><li class="wikkly-ul-li1">XSS filter was too aggressive in filtering URLs based on server names, breaking wiki links when running locally. Thanks to Doug Gephardt for the report. </li><li class="wikkly-ul-li1">Eliminated potential information leak in server. </li><li class="wikkly-ul-li1">Allow uppercase letters in CSS classnames. </li><li class="wikkly-ul-li1">Log more information on failed logins. </li><li class="wikkly-ul-li1">Show CherryPy version on admin page.<br/><br/></li></ul><h3 class="wikkly-h3">Version 1.1.0</h3><br/><div class="wikkly-infobox-container" ><div class="wikkly-infobox-title" >Upgrading ...</div><div class="wikkly-infobox-body" ><ol class="wikkly-ol"><li class="wikkly-ol-li1">You only need to install the Python library to get this upgrade. There is no need to update your Drupal plugin or update your Apache setup. (If you are using the standalone <span class="wikkly-tt">.exe</span> then just download the new version.) </li><li class="wikkly-ol-li1">A metadata update is needed after installing this upgrade. You will see instructions in your wiki on what to do.</li></ol></div></div>  Changes: <ul class="wikkly-ul"><li class="wikkly-ul-li1">Added RSS (2.0) feed to wiki. Feed is formatted to allow autodiscovery so you don't need to do anything. You can exclude items from the RSS feed by tagging them with <span class="wikkly-code-inline">norss</span>.  </li><li class="wikkly-ul-li1">Wiki will now serve any files found in folder <span class="wikkly-code-inline">files/</span> under your wiki root folder. See <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/ServingFiles.html" >ServingFiles</a> for more information. </li><li class="wikkly-ul-li1"><span class="wikkly-highlight">API Change</span> <span class="wikkly-tt">wikStore.py</span>: Moved <span class="wikkly-tt">tag_add()</span>, <span class="wikkly-tt">tag_del()</span> and <span class="wikkly-tt">tag_toggle()</span> into WikklyItem. </li><li class="wikkly-ul-li1">Always place absolute URLs in generated HTML. This was added to allow page links in the RSS feed to point to the correct location. </li><li class="wikkly-ul-li1">Stop putting domain names in parens next to links when rendering in safe mode. This was causing some aesthetic issues; it may be reenabled in a future release. </li><li class="wikkly-ul-li1">Stop performing reverse DNS lookups when showing logs. Far too slow. </li><li class="wikkly-ul-li1">Serve <span class="wikkly-tt">robots.txt</span> (no restrictions currently; was added to prevent errors when crawlers request it). </li><li class="wikkly-ul-li1">Added more log reporting links on admin page. </li><li class="wikkly-ul-li1">Watch for buggy browsers that request <span class="wikkly-tt">favicon.ico</span> instead of <span class="wikkly-tt">favicon.png</span> as specified in <span class="wikkly-code-inline">&lt;HEAD&gt;</span><br/><br/></li></ul><h3 class="wikkly-h3">Version 1.0.0</h3><br/><ul class="wikkly-ul"><li class="wikkly-ul-li1">The major new feature is addition of wiki metatool "wik". With this tool, WikklyText now provides a full-blown wiki server. Using "wik", you can create, render, and serve editable multiuser wikis over HTTP. It is equally suitable for use as a <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/WikiOnAStick.html" >WikiOnAStick</a> as well as serving <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/BehindApache.html" >BehindApache</a><br/><br/></li></ul><ul class="wikkly-ul"><li class="wikkly-ul-li1">Hundreds of fixes, improvements, and stabilization for version 1.0<br/><br/></li></ul><h3 class="wikkly-h3">Version 0.99.50</h3><br/><ul class="wikkly-ul"><li class="wikkly-ul-li1">Minimum requirement is now Python 2.3.5. Python 2.2 has a number of issues and setuptools does not support &lt; 2.3.5 anyways.<br/><br/></li></ul><ul class="wikkly-ul"><li class="wikkly-ul-li1">New abstract storage layer (wikStore) that allows reading &amp; writing wikitexts from Tiddlywikis, a flat set of text files, and SQLite databases.<br/><br/></li></ul><ul class="wikkly-ul"><li class="wikkly-ul-li1">No longer requires <span class="wikkly-tt">lxml</span> package.<br/><br/></li></ul><ul class="wikkly-ul"><li class="wikkly-ul-li1">Rewrote <span class="wikkly-tt">twextract</span> to use new storage layer.<br/><br/></li></ul><ul class="wikkly-ul"><li class="wikkly-ul-li1">Sources reorganized into a setuptools package with a standard <span class="wikkly-tt">setup.py</span>.<br/><br/></li></ul><ul class="wikkly-ul"><li class="wikkly-ul-li1">Scripts installed to PYTHONDIR/Scripts (directly runnable, no more user-created wrappers needed).<br/><br/></li></ul><ul class="wikkly-ul"><li class="wikkly-ul-li1"><span class="wikkly-tt">wikkly2html.py</span> now does a chdir() to sourcefile path so included files, etc. can always be found in a predictable location.<br/><br/></li></ul><ul class="wikkly-ul"><li class="wikkly-ul-li1">Some refactoring, renaming and other cleanups.<br/><br/></li></ul><ul class="wikkly-ul"><li class="wikkly-ul-li1">Version info now in version.py instead of wikkly_fmt.info<br/><br/><br/><br/></li></ul>]]></description>
            <guid isPermaLink="false">9fce38da0d5124a1692d8b986e8bb263943586e1</guid>
            <pubDate>Tue, 12 Aug 2008 04:19:00 +0000</pubDate>
        </item>
        <item>
            <title>Requirements</title>
            <link>http://wikklytext.com/wiki/Requirements.html</link>
            <description><![CDATA[<b class="">Core:</b> <ul class="wikkly-ul"><li class="wikkly-ul-li1"><a title="Link to http://www.python.org" class="wikkly-a-www" href="http://www.python.org" target="_blank">Python 2.3+</a> <div class="wikkly-notebox" >The following dependencies will be automatically downloaded when you  install WikklyText. They are listed here for reference.</div></li></ul> <ul class="wikkly-ul"><li class="wikkly-ul-li1"><a title="Link to http://effbot.org" class="wikkly-a-www" href="http://effbot.org/zone/element-index.htm" target="_blank">ElementTree module</a> <br/> <span class="wikkly-grayout">(Not needed for Python 2.5+)</span> </li><li class="wikkly-ul-li1"><a title="Link to http://www.dabeaz.com" class="wikkly-a-www" href="http://www.dabeaz.com/ply/" target="_blank">PLY module 2.2+</a> </li><li class="wikkly-ul-li1"><a title="Link to http://boodebr.org" class="wikkly-a-www" href="http://boodebr.org/pages/boodebr/" target="_blank">boodebr library</a> </li><li class="wikkly-ul-li1"><a title="Link to http://www.cherrypy.org" class="wikkly-a-www" href="http://www.cherrypy.org/" target="_blank">CherryPy</a><br/><i class="">Version <b class="">3.0</b> or <b class="">3.1</b> will work.</i> </li><li class="wikkly-ul-li1"><i class="">OPTIONAL</i> <a title="Link to http://cheeseshop.python.org" class="wikkly-a-www" href="http://cheeseshop.python.org/pypi/pysqlite" target="_blank">pysqlite</a><br/> <span class="wikkly-grayout">(Not needed for Python 2.5+)</span><br/><br/></li></ul><b class="">To use GUI:</b> <ul class="wikkly-ul"><li class="wikkly-ul-li1"><a title="Link to http://wxpython.org" class="wikkly-a-www" href="http://wxpython.org" target="_blank">wxPython</a><br/><i class="">Unfortunately not available as an automatic download from the <a title="Link to http://pypi.python.org" class="wikkly-a-www" href="http://pypi.python.org/pypi" target="_blank">Python Package Index</a></i><br/><br/></li></ul><b class="">To use with Drupal:</b> <ul class="wikkly-ul"><li class="wikkly-ul-li1"><a title="Link to http://drupal.org" class="wikkly-a-www" href="http://drupal.org/" target="_blank">Drupal 5.x</a> </li><li class="wikkly-ul-li1"><a title="Link to http://www.php.net" class="wikkly-a-www" href="http://www.php.net/" target="_blank">PHP 4+</a><br/><br/><br/></li></ul><b class="">To use <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/BehindApache.html" >BehindApache</a>:</b> <ul class="wikkly-ul"><li class="wikkly-ul-li1"><a title="Link to http://www.modpython.org" class="wikkly-a-www" href="http://www.modpython.org/" target="_blank">mod_python</a><br/><br/><div id="disqus_thread"></div><script type="text/javascript" src="http://disqus.com/forums/wikklytext/embed.js"></script><noscript><a href="http://wikklytext.disqus.com/?url=ref">View the forum thread.</a></noscript><a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a></li></ul> ]]></description>
            <guid isPermaLink="false">a842fb3fa3284f5e2fba17fc15f0131378fe708c</guid>
            <pubDate>Tue, 12 Aug 2008 04:12:00 +0000</pubDate>
        </item>
        <item>
            <title>WhichFormat?</title>
            <link>http://wikklytext.com/wiki/WhichFormat_.html</link>
            <description><![CDATA[You have several choices for backend storage of your wiki content: <ul class="wikkly-ul"><li class="wikkly-ul-li1">A flat set of text files </li><li class="wikkly-ul-li1">A TiddlyWiki </li><li class="wikkly-ul-li1">An SQLite database<br/><br/></li></ul>What are the pros and cons of each? <dl class="wikkly-dl"><dt class="wikkly-dt">Flat text files </dt><dd class="wikkly-dd">In this case, each wiki entry is stored in its own text (<span class="wikkly-tt">.txt</span>) file. This makes it very easy to edit your wiki with a plain text editor as well as through the WikklyText wiki interface. In terms of speed, this falls between the SQLite and TiddlyWiki format. </dd><dt class="wikkly-dt">TiddlyWiki </dt><dd class="wikkly-dd">By storing your content in a TiddlyWiki, your wiki content becomes a self-contained wiki that you can open &amp; edit it directly in your browser just as with any TiddlyWiki. The downside is that this is the slowest format. </dd><dt class="wikkly-dt">SQLite </dt><dd class="wikkly-dd">This is the fastest storage format. The downside is that it is only editable through a WikklyText server.<br/><br/></dd></dl>Don't worry too much about choosing the "right" format. You can always change to another format later via the <span class="wikkly-code-inline">wik&nbsp;conv</span> command.<br/><br/><b class="">Summary table</b> <table class="wikkly-table"><tr class="wikkly-tr"><th class="wikkly-th" colspan=1 rowspan=1 style="text-align: center;">Format</th><th class="wikkly-th" colspan=1 rowspan=1 style="text-align: center;">Speed</th><th class="wikkly-th" colspan=1 rowspan=1 style="text-align: center;">Self-contained wiki?</th><th class="wikkly-th" colspan=1 rowspan=1 style="text-align: center;">Supported markup<br/>styles<sup class="">1</sup></th></tr><tr class="wikkly-tr"><th class="wikkly-th" colspan=1 rowspan=1 style="text-align: center;">TiddlyWiki</th><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> Slowest </td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> Yes </td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> TiddlyWiki </td></tr><tr class="wikkly-tr"><th class="wikkly-th" colspan=1 rowspan=1 style="text-align: center;">Text files</th><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> Medium </td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> No </td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> TiddlyWiki<br/>WikklyText </td></tr><tr class="wikkly-tr"><th class="wikkly-th" colspan=1 rowspan=1 style="text-align: center;">SQLite</th><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> Fastest </td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> No </td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> TiddlyWiki<br/>WikklyText </td></tr></table>Footnotes: <ol class="wikkly-ol"><li class="wikkly-ol-li1">If you want to ensure no formatting changes occur when moving content between the different formats, choose the "TiddlyWiki" markup style when creating content.<br/><br/><div id="disqus_thread"></div><script type="text/javascript" src="http://disqus.com/forums/wikklytext/embed.js"></script><noscript><a href="http://wikklytext.disqus.com/?url=ref">View the forum thread.</a></noscript><a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a></li></ol>]]></description>
            <guid isPermaLink="false">f0b5463458a3e63ef5f992ca3952022e11e10de8</guid>
            <pubDate>Tue, 12 Aug 2008 04:11:00 +0000</pubDate>
        </item>
        <item>
            <title>WritingPlugins</title>
            <link>http://wikklytext.com/wiki/WritingPlugins.html</link>
            <description><![CDATA[<div ><div class="pydocs-module-box" ><div class="pydocs-module-title" >Module wikklytext.plugins</div><div class="pydocs-module-doc pydocs-indent" > <h3 class="wikkly-h3">WikklyText Plugins</h3><br/>The Plugin API allows you to extend the functionality of WikklyText in several ways: <ul class="wikkly-ul"><li class="wikkly-ul-li1">You can add new macros than can be called from wikitexts as <span class="wikkly-code-inline">&lt;&lt;mymacro&nbsp;..&gt;&gt;</span> (<a title="#CREATE" class="wikkly-a-internal" href="#CREATE" >link</a>) </li><li class="wikkly-ul-li1">You can add functions that appear in the namespace of <span class="wikkly-code-inline">&lt;?py</span> code embedded in wikitexts. (<a title="#EMBED" class="wikkly-a-internal" href="#EMBED" >link</a>) </li><li class="wikkly-ul-li1">You can attach extra styling information (CSS) to the rendered document (<a title="#STYLE" class="wikkly-a-internal" href="#STYLE" >link</a>)<br/><br/></li></ul>Click a link for more, or read on for full details.<br/><br/><h3 class="wikkly-h3"><a name="CREATE" class="wikkly-a-internal"> </a>Creating new macros</h3><br/>Macros are ordinary Python functions with the following calling sequence: <div class="wikkly-code-block">def&nbsp;mymacro(context,&nbsp;...):<br/>&nbsp;&nbsp;&nbsp;&nbsp;...</div><br/><br/>Where <span class="wikkly-code-inline">context</span> is a <span class="wikkly-tt">WikContext</span> (<i class="">ref: <b class="">wikklytext.base</b></i>) and the remainder of the args are passed from the macro call. For example: <div class="wikkly-code-block">&lt;&lt;mymacro&nbsp;123&nbsp;456&nbsp;"abc"&gt;&gt;</div><br/><br/>Would call: <div class="wikkly-code-block">def&nbsp;mymacro(context,&nbsp;a,&nbsp;b,&nbsp;c):<br/>&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;a.text&nbsp;=&nbsp;"123"<br/>&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;b.text&nbsp;=&nbsp;"456"<br/>&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;c.text&nbsp;=&nbsp;"abc"</div><br/><br/>Note that each passed argument is an <a title="Link to http://effbot.org" class="wikkly-a-www" href="http://effbot.org/zone/pythondoc-elementtree-ElementTree.htm#elementtree.ElementTree._ElementInterface-class" target="_blank">Element</a> so you use <span class="wikkly-code-inline">.text</span> to get the text portion. (<i class="">More general macros might want to deal with arbitrary <a title="Link to http://effbot.org" class="wikkly-a-www" href="http://effbot.org/zone/pythondoc-elementtree-ElementTree.htm#elementtree.ElementTree.ElementTree-class" target="_blank">ElementTrees</a> as arguments, but text args are the simplest and most common.</i>)<br/><br/>Macros can return any of the following: <ul class="wikkly-ul"><li class="wikkly-ul-li1">An <a title="Link to http://effbot.org" class="wikkly-a-www" href="http://effbot.org/zone/pythondoc-elementtree-ElementTree.htm#elementtree.ElementTree._ElementInterface-class" target="_blank">Element</a> </li><li class="wikkly-ul-li1">A unicode string </li><li class="wikkly-ul-li1">A byte-string </li><li class="wikkly-ul-li1">A list/tuple of any of the above types.<br/><br/></li></ul>Here is what a typical plugin looks like. Let's assume: <ul class="wikkly-ul"><li class="wikkly-ul-li1">My plugin is named <b class="">myplugin</b>.  </li><li class="wikkly-ul-li1">I'm defining two macros that are safe for anyone to call named <b class="">happy</b> and <b class="">nice</b>.  </li><li class="wikkly-ul-li1">I'm defining two macros that only trusted users are allowed to call named <b class="">evil</b> and <b class="">bad</b>.<br/><br/></li></ul>My <span class="wikkly-code-inline">__init__.py</span> would look like this: 	<div class="wikkly-codebox-container" ><div class="wikkly-codebox-title" ><span class="wikkly-code-inline">plugins/myplugin/__init__.py</span></div><div class="wikkly-codebox-body" >__safe__&nbsp;=&nbsp;['happy',&nbsp;'nice']<br/>__unsafe&nbsp;=&nbsp;['evil',&nbsp;'bad']<br/><br/>def&nbsp;happy(context,&nbsp;...):<br/>&nbsp;&nbsp;&nbsp;&nbsp;...<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>def&nbsp;nice(context,&nbsp;...):<br/>&nbsp;&nbsp;&nbsp;&nbsp;...<br/><br/>..&nbsp;etc.&nbsp;..</div></div><br/><br/>(<i class="">In a real plugin, you'd probably split your code up into multiple files. The above example shows all code being placed in <span class="wikkly-code-inline">__init__.py</span> for simplicity.</i>)<br/><br/><h3 class="wikkly-h3"><a name="EMBED" class="wikkly-a-internal"> </a>Creating embedded functions</h3><br/>Embedded functions are ordinary Python functions that are available by default in the global namespace of embedded Python code (<span class="wikkly-code-inline">&lt;?py</span>). They <i class="">do not</i> get a <span class="wikkly-code-inline">context</span> arg, and are called like any other function (and may return any value).<br/><br/>To add functions to the embedded namespace, add their names to the <span class="wikkly-code-inline">__embed__</span> list at the top of your module (similar to <span class="wikkly-code-inline">__safe__</span> and <span class="wikkly-code-inline">__unsafe___</span> above).<br/><br/><h3 class="wikkly-h3"><a name="STYLE" class="wikkly-a-internal"> </a>Adding styling (CSS) information</h3><br/>You might find yourself defining new CSS classes as part of your macros. While it is certainly possible to tell your macro users to add your new styles to their wiki <b class="">StyleSheet</b>, it is much more convenient to provide the classes automatically.<br/><br/>To do this, simply define a module level variable <span class="wikkly-code-inline">__css__</span> that is a string with the styling information to be added to the document <b class="">&lt;HEAD&gt;</b>. For example:  <div class="wikkly-code-block">__css__&nbsp;=&nbsp;'''<br/>&nbsp;&nbsp;&nbsp;&nbsp;div.myclass1&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color:&nbsp;red;<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>&nbsp;&nbsp;&nbsp;&nbsp;'''</div><br/><br/>The string will be added to a <b class="">&lt;style&gt;</b> tag when creating the HTML document.<br/><br/><h3 class="wikkly-h3">A simple example</h3><br/>Here is a simple complete example:<br/><br/><ol class="wikkly-ol"><li class="wikkly-ol-li1">First, create a folder <b class="">hello</b> under <b class="">plugins/</b> in your wiki folder. </li><li class="wikkly-ol-li1">Create a file <span class="wikkly-code-inline">plugins/hello/__init__.py</span> <div class="wikkly-code-block">'''<br/>This&nbsp;is&nbsp;just&nbsp;like&nbsp;any&nbsp;other&nbsp;Python&nbsp;package&nbsp;where&nbsp;you&nbsp;have&nbsp;__init__.py<br/>defining&nbsp;the&nbsp;interface.<br/><br/>__init__&nbsp;may&nbsp;define&nbsp;any/all/none&nbsp;of:&nbsp;__embed__,&nbsp;__safe__&nbsp;and&nbsp;__unsafe__.<br/>'''<br/>__embed__&nbsp;=&nbsp;['hello_embedded']<br/>__safe__&nbsp;=&nbsp;['hello_safe',&nbsp;'hello_box']<br/>__unsafe__&nbsp;=&nbsp;['hello_unsafe']<br/>__css__&nbsp;=&nbsp;'''<br/>&nbsp;&nbsp;&nbsp;&nbsp;div.hellobox&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background:&nbsp;yellow;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color:&nbsp;black;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;border:&nbsp;3px&nbsp;solid&nbsp;blue;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;padding-left:&nbsp;3em;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}'''<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>'''<br/>For&nbsp;real&nbsp;code&nbsp;you'd&nbsp;probably&nbsp;split&nbsp;these&nbsp;functions&nbsp;into&nbsp;their<br/>own&nbsp;files&nbsp;and&nbsp;just&nbsp;import&nbsp;them&nbsp;here.<br/>'''<br/>def&nbsp;hello_safe(context,&nbsp;msg):<br/>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;"Hello&nbsp;safe,&nbsp;message=%s"&nbsp;%&nbsp;msg.text<br/><br/>def&nbsp;hello_unsafe(context,&nbsp;msg):<br/>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;"Hello&nbsp;unsafe,&nbsp;message=%s"&nbsp;%&nbsp;msg.text<br/><br/>def&nbsp;hello_box(context,&nbsp;msg):<br/>&nbsp;&nbsp;&nbsp;&nbsp;"A&nbsp;slightly&nbsp;more&nbsp;complex&nbsp;example&nbsp;..."<br/>&nbsp;&nbsp;&nbsp;&nbsp;from&nbsp;wikklytext.plugapi&nbsp;import&nbsp;DIV,&nbsp;Text,&nbsp;eval_wiki_text<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;d&nbsp;=&nbsp;DIV('hellobox')<br/>&nbsp;&nbsp;&nbsp;&nbsp;d.append(eval_wiki_text(context,&nbsp;msg.text))<br/>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;d<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>def&nbsp;hello_embedded(msg):<br/>&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;"Hello&nbsp;Embedded,&nbsp;message=%s"&nbsp;%&nbsp;msg.text</div> </li><li class="wikkly-ol-li1">Finally, create a new wiki item with this text: <div class="wikkly-code-block">&lt;?py<br/>def&nbsp;hello(context,&nbsp;msg):<br/>&nbsp;&nbsp;&nbsp;return&nbsp;hello_embedded(msg)&nbsp;#&nbsp;auto-added&nbsp;to&nbsp;embedded&nbsp;namespace<br/>?&gt;&nbsp;<br/><br/>/%&nbsp;Minimal&nbsp;example,&nbsp;showing&nbsp;how&nbsp;args&nbsp;are&nbsp;passed.&nbsp;%/<br/>!!!From&nbsp;''&lt;$py''<br/>&lt;&lt;hello&nbsp;"Embedded&nbsp;message!"&gt;&gt;<br/><br/>!!!From&nbsp;''&lt;nowiki&gt;&lt;&lt;hello_safe&gt;&gt;&lt;/nowiki&gt;''<br/>&lt;&lt;hello_safe&nbsp;"Safe&nbsp;message!"&gt;&gt;<br/><br/>!!!From&nbsp;''&lt;nowiki&gt;&lt;&lt;hello_unsafe&gt;&gt;&lt;/nowiki&gt;''<br/>&lt;&lt;hello_unsafe&nbsp;"Unsafe&nbsp;message!"&gt;&gt;<br/><br/>!!!From&nbsp;''&lt;nowiki&gt;&lt;&lt;hello_box&gt;&gt;&lt;/nowiki&gt;''<br/><br/>&lt;&lt;hello_box&nbsp;'''This&nbsp;text&nbsp;should&nbsp;be&nbsp;inside&nbsp;a&nbsp;yellow&nbsp;box.&nbsp;<br/>This&nbsp;macro&nbsp;uses&nbsp;a&nbsp;custom&nbsp;CSS&nbsp;class.&nbsp;All<br/>__wikitext__&nbsp;//styling//&nbsp;@@markup@@&nbsp;works<br/>here&nbsp;as&nbsp;well.'''&gt;&gt;</div><br/><br/></li></ol>Save the item and you should see that it works.</div><div class="pydocs-classes-outer" ><div class="pydocs-classes-outer-text" >Classes</div><div class="pydocs-indent" ><div class="pydocs-class-box" ><div class="pydocs-class-title" ><a name="CLASS_WikPlugins" class="wikkly-a-internal"> </a>WikPlugins(object)</div><div class="pydocs-class-doc pydocs-indent" >Returned from <a title="#FUNC_load_plugins" class="wikkly-a-internal" href="#FUNC_load_plugins" >load_plugins()</a>. All currently loaded plugins.<br/><br/><i class="">Attributes:</i> <dl class="wikkly-dl"><dt class="wikkly-dt">safe,unsafe </dt><dd class="wikkly-dd">Dicts of <b class="">{name: func}</b> where name can be used as <span class="wikkly-code-inline">&lt;&lt;name&nbsp;...&gt;&gt;</span>. 			 Mapped from <span class="wikkly-code-inline">__safe__</span> and <span class="wikkly-code-inline">__unsafe__</span> attrs defined in modules. </dd><dt class="wikkly-dt">embed </dt><dd class="wikkly-dd">Dict of <b class="">{name: func}</b> where name will be inserted into the embedded 			 namespace for <span class="wikkly-code-inline">&lt;?py</span> code in wikitexts. Loaded from <span class="wikkly-code-inline">__embed__</span> attr defined 			 in module. </dd><dt class="wikkly-dt">css </dt><dd class="wikkly-dd">CSS styles to be added to <b class="">&lt;HEAD&gt;</b> (text). </dd></dl></div><div class="pydocs-methods-outer" ><div class="pydocs-indent" ></div></div></div></div></div><div class="pydocs-funcs-outer" ><div class="pydocs-funcs-outer-text" >Functions</div><div class="pydocs-indent" ><div class="pydocs-func-box" ><a name="FUNC_load_plugins" class="wikkly-a-internal"> </a><div class="pydocs-func-title" ><a name="FUNC_load_plugins" class="wikkly-a-internal"> </a>load_plugins(plugdirs=None, namespace='plugins')</div><div class="pydocs-func-doc pydocs-indent" >Load plugins by attempting to import all modules under the given directories. For example, given the following directory structure: <div class="wikkly-code-block">mydirA/<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;aaa/<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bbb/<br/>mydirB/<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ccc/<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ddd/</div> Passing <span class="wikkly-code-inline">plugdirs=['mydirA',&nbsp;'mydirB']</span> will  attempt to import modules <b class="">aaa</b>, <b class="">bbb</b>, <b class="">ccc</b>, and <b class="">ddd</b>.<br/><br/>Special cases: <ul class="wikkly-ul"><li class="wikkly-ul-li1">if <span class="wikkly-tt">plugdirs</span> is a string instead of a list, it will be treated as a single directory name </li><li class="wikkly-ul-li1"><span class="wikkly-tt">plugdirs</span> can (currently) be None, meaning to only load the builtin 		plugins. There is a chance this will change in the future if the 		builtin macros are made into regular plugins (in which case, plugdir 		would be required to get <u class="">any</u> plugins at all).<br/><br/></li></ul>Returns <a title="#CLASS_WikPlugins" class="wikkly-a-internal" href="#CLASS_WikPlugins" >WikPlugins</a> </div></div></div></div></div></div><div id="disqus_thread"></div><script type="text/javascript" src="http://disqus.com/forums/wikklytext/embed.js"></script><noscript><a href="http://wikklytext.disqus.com/?url=ref">View the forum thread.</a></noscript><a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a> ]]></description>
            <guid isPermaLink="false">89df172d14480554417a0a6e306ddb40a1e645b5</guid>
            <pubDate>Tue, 12 Aug 2008 04:10:00 +0000</pubDate>
        </item>
        <item>
            <title>MailingList</title>
            <link>http://wikklytext.com/wiki/MailingList.html</link>
            <description><![CDATA[There is a mailing list for WikklyText users and developers. Please post support questions there so everyone may benefit from the answers. Security-related announcements will be posted there as well, so if you are running a public WikklyText site, you may want to subscribe to the list.<br/><br/>The list is hosted at Google Groups: <a title="Link to http://groups.google.com" class="wikkly-a-www" href="http://groups.google.com/group/wikklytext" target="_blank">WikklyText Mailing list</a><br/><br/>You can also post comments on many pages here (for longer questions/issues, though, please use the mailing lists).<br/><br/><br/>]]></description>
            <guid isPermaLink="false">9fcbfc4e4a622c25291f35fc8d2c73d2813ad326</guid>
            <pubDate>Tue, 12 Aug 2008 04:09:00 +0000</pubDate>
        </item>
        <item>
            <title>UsingWik</title>
            <link>http://wikklytext.com/wiki/UsingWik.html</link>
            <description><![CDATA[ <span class="wikkly-tt">wik</span> is a tool for creating, managing, rendering and serving wikis. It provides an easy to use GUI, but you can also use it from the command line. The command line options are documented here.<br/><br/><h2 class="wikkly-h2">Quickstart</h2><br/>Create a standalone wiki server: <div class="wikkly-code-block">$&nbsp;wik&nbsp;init<br/>$&nbsp;wik&nbsp;serve</div><br/><br/>You can view/edit your wiki at <a title="Link to http://127.0.0.1:8000" class="wikkly-a-www" href="http://127.0.0.1:8000" target="_blank">http://127.0.0.1:8000</a> (<i class="">assuming you accepted the defaults in <span class="wikkly-code-inline">wik&nbsp;init</span></i>)<br/><br/>You can also render your wiki to static HTML: <div class="wikkly-code-block">$&nbsp;wik&nbsp;render</div><br/><br/><h2 class="wikkly-h2">Wik Reference</h2>  <dl class="wikkly-dl"><dt class="wikkly-dt">Usage </dt><dd class="wikkly-dd"><span class="wikkly-code-inline">wik&nbsp;command&nbsp;...</span><br/><br/></dd></dl>Normally <span class="wikkly-code-inline">wik</span> assumes that the wiki is in the current directory. If that is not the case you can run it as: <div class="wikkly-code-block">wik&nbsp;-d&nbsp;/PATH/TO/WIKI&nbsp;command</div><br/><br/><h2 class="wikkly-h2">Primary Commands</h2>  <dl class="wikkly-dl"><dt class="wikkly-dt"><span class="wikkly-code-inline">wik&nbsp;init</span> </dt><dd class="wikkly-dd">Initialize a wiki in the current directory. It will prompt you for information it needs.<br/><br/>You can initialize a wiki by ... <ul class="wikkly-ul"><li class="wikkly-ul-li1">Using an existing <a title="Link to http://www.tiddlywiki.com" class="wikkly-a-www" href="http://www.tiddlywiki.com" target="_blank">TiddlyWiki</a> </li><li class="wikkly-ul-li1">Using an existing set of text (<span class="wikkly-tt">.txt</span>) files. </li><li class="wikkly-ul-li1">Creating a brand new wiki, with your choice of storage formats: <ul class="wikkly-ul"><li class="wikkly-ul-li2">Text files </li><li class="wikkly-ul-li2">A <a title="Link to http://www.tiddlywiki.com" class="wikkly-a-www" href="http://www.tiddlywiki.com" target="_blank">TiddlyWiki</a> </li><li class="wikkly-ul-li2">An <a title="Link to http://www.sqlite.org" class="wikkly-a-www" href="http://www.sqlite.org/" target="_blank">SQLite</a> database </li></ul></li><li class="wikkly-ul-li1">You can read more about these options at <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/WhichFormat_.html" >WhichFormat?</a></li></ul><br/><br/>The wiki will be populated with a default set of items to help you get started. <div class="wikkly-notebox" >The configuration is saved to <span class="wikkly-code-inline">.wik/conf</span> in each wiki directory, should you wish to adjust it later. It is a plain text file.</div><br/><br/></dd></dl><dl class="wikkly-dl"><dt class="wikkly-dt"><span class="wikkly-code-inline">wik&nbsp;serve</span> </dt><dd class="wikkly-dd">Start a standalone server to provide your content over HTTP with full multiuser editing.<br/><br/> For example, to serve content from <span class="wikkly-code-inline">/usr/doc/mywiki</span>: <div class="wikkly-code-block">wik&nbsp;-d&nbsp;/usr/doc/mywiki&nbsp;serve</div> You would then view your wiki through <a title="Link to http://localhost:8000" class="wikkly-a-www" href="http://localhost:8000" target="_blank">http://localhost:8000</a><br/>(<i class="">Using the default server parameters as an example.</i>) <br/><br/> To serve behind Apache, instead of as a standalone server, see <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/BehindApache.html" >BehindApache</a>.<br/><br/></dd></dl><dl class="wikkly-dl"><dt class="wikkly-dt"><span class="wikkly-code-inline">wik&nbsp;render</span> </dt><dd class="wikkly-dd">Render the wiki to a static set of HTML files. This is useful especially if you want to edit your wiki locally (through <span class="wikkly-code-inline">wik&nbsp;serve</span>) and place the final set of HTML files on a webserver.<br/><br/></dd></dl><dl class="wikkly-dl"><dt class="wikkly-dt"><span class="wikkly-code-inline">wik&nbsp;gui</span> </dt><dd class="wikkly-dd">Launch the GUI "command center". This is a GUI tool that lets you easily manage your locally stored wikis. (<i class="">This is also the default command if you run <span class="wikkly-code-inline">wik.exe</span> or <span class="wikkly-code-inline">wikgui.exe</span> with no arguments.</i>)<br/><br/></dd></dl><h2 class="wikkly-h2">Secondary Commands</h2> <dl class="wikkly-dl"><dt class="wikkly-dt"><span class="wikkly-code-inline">wik&nbsp;ls</span> </dt><dd class="wikkly-dd">List the contents of the wiki.<br/><br/></dd></dl><dl class="wikkly-dl"><dt class="wikkly-dt"><span class="wikkly-code-inline">wik&nbsp;skip</span> </dt><dd class="wikkly-dd">Interactively edit the list of items that will <i class="">not</i> be rendered.<br/><br/></dd></dl><dl class="wikkly-dl"><dt class="wikkly-dt"><span class="wikkly-code-inline">wik&nbsp;clean</span> </dt><dd class="wikkly-dd">Remove all generated files and clear out the cache.<br/><br/></dd></dl><dl class="wikkly-dl"><dt class="wikkly-dt"><span class="wikkly-code-inline">wik&nbsp;cache</span> </dt><dd class="wikkly-dd">Interactively edit the list of items that will <i class="">not</i> be cached.<br/><br/></dd></dl><dl class="wikkly-dl"><dt class="wikkly-dt"><span class="wikkly-code-inline">wik&nbsp;conv</span> </dt><dd class="wikkly-dd">Convert underlying wiki storage to another format. You can freely convert between any of the supported types.<div class="wikkly-warnbox-container" ><div class="wikkly-warnbox-title" >Caveat</div><div class="wikkly-warnbox-body" >When you convert <u class="">to</u> the TiddlyWiki format, the <i class="">markup style</i> of your content will changed to <b class="">TiddlyWiki</b> (since this is the only markup style that a native TiddlyWiki supports). This may alter the presentation of your content somewhat. When converting <u class="">from</u> a TiddlyWiki, the content type will be left as <b class="">TiddlyWiki</b>.<br/><br/>Converting to/from a <b class="">text</b> or <b class="">SQLite</b> wiki will not alter the content type.</div></div><br/><br/></dd></dl><dl class="wikkly-dl"><dt class="wikkly-dt"><span class="wikkly-code-inline">wik&nbsp;makeboot</span> </dt><dd class="wikkly-dd">Add a small bootstrap file to your wiki to help in running <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/BehindApache.html" >BehindApache</a>.<br/><br/></dd></dl><dl class="wikkly-dl"><dt class="wikkly-dt"><span class="wikkly-code-inline">wik&nbsp;trustall</span> </dt><dd class="wikkly-dd">Useful when importing an existing TiddlyWiki. Creates (non-login) accounts for all existing authors and marks them as trusted users. (So that their content will render in full mode instead of safe mode.)<br/><br/></dd><div id="disqus_thread"></div><script type="text/javascript" src="http://disqus.com/forums/wikklytext/embed.js"></script><noscript><a href="http://wikklytext.disqus.com/?url=ref">View the forum thread.</a></noscript><a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a><dd class="wikkly-dd"></dd></dl> ]]></description>
            <guid isPermaLink="false">6b7c9160b05038f7956ea8e51bc17fdc521d35c8</guid>
            <pubDate>Tue, 12 Aug 2008 04:08:00 +0000</pubDate>
        </item>
        <item>
            <title>DrupalPlugIn</title>
            <link>http://wikklytext.com/wiki/DrupalPlugIn.html</link>
            <description><![CDATA[    First, ensure you have installed the <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/InstallPythonPackage.html" >Python module</a>.<br/><br/>You install <b class="">WikklyText</b> just like any other Drupal module: <ol class="wikkly-ol"><li class="wikkly-ol-li1">Download sources  <table class="wikkly-table"><tr class="wikkly-tr"><th class="wikkly-th" colspan=1 rowspan=1 style="text-align: center;"> Source (.zip) </th><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: left;"><a title="Link to http://wikklytext.com" class="wikkly-a-www" href="http://wikklytext.com/wiki/files/download/drupal-WikklyText-1.4.0.zip" target="_blank">drupal-WikklyText-1.4.0.zip</a></td></tr></table> </li><li class="wikkly-ol-li1">Unpack the <b class="">WikklyText</b> package under either <span class="wikkly-code-inline">modules/</span> or <span class="wikkly-code-inline">sites/all/modules</span> (you should end up with a directory <span class="wikkly-code-inline">modules/wikkly_fmt</span>, or <span class="wikkly-code-inline">sites/all/modules/wikkly_fmt</span>). </li><li class="wikkly-ol-li1">Go to <b class="">Admin</b>|<b class="">Site Building</b>|<b class="">Modules</b> and enable the <b class="">WikklyFormat</b> module. </li><li class="wikkly-ol-li1">Go to <b class="">Admin</b>|<b class="">Site Configuration</b>|<b class="">Input Formats</b> <ol class="wikkly-ol"><li class="wikkly-ol-li2">Click <b class="">Add Input Format</b> </li><li class="wikkly-ol-li2">Select <b class="">WikklyText, Full Mode</b> or <b class="">WikklyText, Restricted Mode</b> (<i class="">but not both at the same time</i>). </li><li class="wikkly-ol-li2">Name the format something like <b class="">WikklyText, Full</b> or <b class="">WikklyText, Restricted</b> (as a reminder to yourself). </li><li class="wikkly-ol-li2">Select which <b class="">Roles</b> may use it <div class="wikkly-warnbox-container" ><div class="wikkly-warnbox-title" >CAUTION</div><div class="wikkly-warnbox-body" > <b class="">Full Mode</b> is for <i class="">trusted users only</i>. <b class="">Full Mode</b> allows the user to execute arbitrary code (by design), and should only be given to people you would trust to access the <b class="">PHP code</b> input format (for example).<br/><br/><b class="">Restricted Mode</b> is for all other users. It can do 95% of what you would normally want to do anyways, without allowing arbitrary code execution or calling unsafe macros.<br/><br/><i class=""><b class="">WARNING</b>: As of this writing, <b class="">Restricted Mode</b> has had very limited testing "in the wild". Is is believed to be safe, but to be cautious, you might not want to allow untrusted users to access  even <b class="">Restricted Mode</b> until it has been more widely tested.</i>  </div></div> </li><li class="wikkly-ol-li2">There is no need to add additional filters to the input chain when using a <b class="">Wikkly</b> format. Adding filters in <b class="">Full Mode</b> will remove necessary document structure. You can add filters in <b class="">Restricted Mode</b> if you prefer, but WikklyText is designed to be safe on its own. </li></ol></li><li class="wikkly-ol-li1">When creating content, select the desired <b class="">WikklyText</b> filter under <b class="">Input Format</b> as shown below: <br/><br/><img class="wikkly-img" src="http://wikklytext.com/wiki/cap_selfmt.png"><br/><br/><div id="disqus_thread"></div><script type="text/javascript" src="http://disqus.com/forums/wikklytext/embed.js"></script><noscript><a href="http://wikklytext.disqus.com/?url=ref">View the forum thread.</a></noscript><a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a></li></ol>]]></description>
            <guid isPermaLink="false">5a91cccd4a2402b5ba2caf59e9222edc075350e5</guid>
            <pubDate>Tue, 12 Aug 2008 04:07:00 +0000</pubDate>
        </item>
        <item>
            <title>WikExeWin32</title>
            <link>http://wikklytext.com/wiki/WikExeWin32.html</link>
            <description><![CDATA[Standalone executables are available for Windows. They do not require Python. You only need one of these, although you might want to download both, see notes below.  <table class="wikkly-table"><tr class="wikkly-tr"><th class="wikkly-th" colspan=1 rowspan=1 style="text-align: center;">Description</th><th class="wikkly-th" colspan=1 rowspan=1 style="text-align: center;">File</th></tr><tr class="wikkly-tr"><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: left;">Command-line</td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: left;"><a title="Link to http://wikklytext.com" class="wikkly-a-www" href="http://wikklytext.com/wiki/files/download/wik.exe" target="_blank">wik.exe (for win32)</a></td></tr><tr class="wikkly-tr"><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: left;">GUI</td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: left;"><a title="Link to http://wikklytext.com" class="wikkly-a-www" href="http://wikklytext.com/wiki/files/download/wikgui.exe" target="_blank">wikgui.exe (for win32)</a></td></tr></table>Which one do you want? <ul class="wikkly-ul"><li class="wikkly-ul-li1">These programs are virtually identical. The only difference is that <span class="wikkly-tt">wikgui.exe</span> does not pop up a command shell when you run it, so is better for pure GUI usage. </li><li class="wikkly-ul-li1">You might like having both: <span class="wikkly-tt">wikgui</span> for point-and-click usage, and  <span class="wikkly-tt">wik</span> for doing admin tasks.<br/><br/><div class="wikkly-notebox" >If you've downloaded these before you may need to clear your browser cache to ensure you get the updated version(s).</div></li></ul>  No installation is required, just place <span class="wikkly-tt">wik.exe</span> and/or <span class="wikkly-tt">wikgui.exe</span> anywhere convenient (for command-line usage, you might want to place them in your <span class="wikkly-tt">PATH</span>).<br/><br/>Now you are ready to start <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/UsingWik.html" >UsingWik</a> or create a <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/WikiOnAStick.html" >WikiOnAStick</a>.<br/><br/><h3 class="wikkly-h3">Issues?</h3><br/>If you have problems ... <ul class="wikkly-ul"><li class="wikkly-ul-li1">Make sure you did <b class="">not</b> rename the executables. Save them exactly as <span class="wikkly-tt">wik.exe</span> or <span class="wikkly-tt">wikgui.exe</span>. Due to <a title="Link to http://www.py2exe.org" class="wikkly-a-www" href="http://www.py2exe.org/" target="_blank">py2exe</a> behavior, the filename must not change. </li><li class="wikkly-ul-li1">Make sure you did <b class="">not</b> save them directly to root of your <span class="wikkly-code-inline">C:</span> drive (i.e. as <span class="wikkly-code-inline">c:\wik.exe</span> or <span class="wikkly-code-inline">c:\wikgui.exe</span>). They have to be stored in a subfolder. Like above, this is due to py2exe behavior. </li><li class="wikkly-ul-li1">For Windows 2000 and earlier, if you get an error about missing <b class="">GDI+</b>, then you need to download the <a title="Link to http://www.microsoft.com" class="wikkly-a-www" href="http://www.microsoft.com/downloads/details.aspx?familyid=6A63AB9C-DF12-4D41-933C-BE590FEAA05A&displaylang=en" target="_blank">GDI+ SDK Redistributable</a>. Unpack it to the same folder where you saved <span class="wikkly-tt">wikgui.exe</span>. </li><li class="wikkly-ul-li1">You must have <span class="wikkly-code-inline">MSVCR71.DLL</span> and <span class="wikkly-code-inline">MSVCP71.DLL</span> on your machine. If either of these are missing, <span class="wikkly-tt">wik.exe</span> and <span class="wikkly-tt">wikgui.exe</span> will fail to run. <div class="wikkly-notebox" >Unfortunately, the Microsoft license does not appear to allow redistribution of either <span class="wikkly-code-inline">MSVCR71.DLL</span> or <span class="wikkly-code-inline">MSVCP71.DLL</span>, so you will have to search for them.<br/><br/>Be sure to <a title="Link to http://downloads.activestate.com" class="wikkly-a-www" href="http://downloads.activestate.com/contrib/md5sum/Windows/" target="_blank">check the md5sums</a> of any DLL files before running them. For reference, the <span class="wikkly-tt">md5sums</span> of the legitimate files are: <table class="wikkly-table"><tr class="wikkly-tr"><th class="wikkly-th" colspan=1 rowspan=1 style="text-align: center;">Filename</th><th class="wikkly-th" colspan=1 rowspan=1 style="text-align: center;">md5sum</th><th class="wikkly-th" colspan=1 rowspan=1 style="text-align: center;">Search link</th></tr><tr class="wikkly-tr"><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: left;"><span class="wikkly-tt">MSVCR71.DLL</span></td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: left;"><span class="wikkly-tt">86f1895ae8c5e8b17d99ece768a70732</span></td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: left;"><a title="Link to http://www.google.com" class="wikkly-a-www" href="http://www.google.com/search?q=msvcr71.dll" target="_blank">search</a></td></tr><tr class="wikkly-tr"><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: left;"><span class="wikkly-tt">MSVCP71.DLL</span></td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: left;"><span class="wikkly-tt">561fa2abb31dfa8fab762145f81667c2</span></td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: left;"><a title="Link to http://www.google.com" class="wikkly-a-www" href="http://www.google.com/search?q=msvcp71.dll" target="_blank">search</a></td></tr></table><i class="">The last time I checked, DLL-files.com had the legitimate files.</i> </div> </li><li class="wikkly-ul-li1">If you are running Windows 95/98/Me then you may also need to download <a title="Link to http://wikklytext.com" class="wikkly-a-www" href="http://wikklytext.com/wiki/files/download/w9xpopen.exe" target="_blank">w9xpopen.exe</a> and place it in the same folder as <span class="wikkly-code-inline">wik.exe</span> and/or <span class="wikkly-code-inline">wikgui.exe</span>.<br/><br/><div id="disqus_thread"></div><script type="text/javascript" src="http://disqus.com/forums/wikklytext/embed.js"></script><noscript><a href="http://wikklytext.disqus.com/?url=ref">View the forum thread.</a></noscript><a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a></li></ul>]]></description>
            <guid isPermaLink="false">74f7e559970b45c648ea6114e418a2bcd5f97158</guid>
            <pubDate>Tue, 12 Aug 2008 04:06:00 +0000</pubDate>
        </item>
        <item>
            <title>InstallPythonPackage</title>
            <link>http://wikklytext.com/wiki/InstallPythonPackage.html</link>
            <description><![CDATA[  If you already have <a title="Link to http://cheeseshop.python.org" class="wikkly-a-www" href="http://cheeseshop.python.org/pypi/setuptools/" target="_blank">setuptools</a> installed, then simply run: <div class="wikkly-code-block">easy_install&nbsp;-U&nbsp;wikklytext</div><br/><br/>Else, download the sources: <table class="wikkly-table"><tr class="wikkly-tr"><th class="wikkly-th" colspan=1 rowspan=1 style="text-align: center;"> Source (.tar.gz) </th><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: left;"><a title="Link to http://wikklytext.com" class="wikkly-a-www" href="http://wikklytext.com/wiki/files/download/WikklyText-1.4.0.tar.gz" target="_blank">WikklyText-1.4.0.tar.gz</a></td></tr><tr class="wikkly-tr"><th class="wikkly-th" colspan=1 rowspan=1 style="text-align: center;"> Source (.zip) </th><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: left;"><a title="Link to http://wikklytext.com" class="wikkly-a-www" href="http://wikklytext.com/wiki/files/download/WikklyText-1.4.0.zip" target="_blank">WikklyText-1.4.0.zip</a></td></tr></table>Unpack, chdir to unpacked directory and ... <div class="wikkly-code-block">python&nbsp;setup.py&nbsp;install</div> <br/>Any missing <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/Requirements.html" >dependencies</a> will be automatically downloaded and installed.<br/><br/>Ensure that Python's <span class="wikkly-code-inline">Scripts</span> directory is in your <span class="wikkly-tt">PATH</span> if you want to use the command-line utilities. (For example, if Python is installed to <span class="wikkly-code-inline">c:\Python25</span> you would add <span class="wikkly-code-inline">c:\Python25\Scripts</span> to your <span class="wikkly-tt">PATH</span>.)<br/><br/><hr class="wikkly-separator"/>Previous version: <table class="wikkly-table"><tr class="wikkly-tr"><th class="wikkly-th" colspan=1 rowspan=1 style="text-align: center;"> Source (.tar.gz) </th><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: left;"><a title="Link to http://wikklytext.com" class="wikkly-a-www" href="http://wikklytext.com/wiki/files/download/WikklyText-1.3.0.tar.gz" target="_blank">WikklyText-1.3.0.tar.gz</a></td></tr><tr class="wikkly-tr"><th class="wikkly-th" colspan=1 rowspan=1 style="text-align: center;"> Source (.zip) </th><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: left;"><a title="Link to http://wikklytext.com" class="wikkly-a-www" href="http://wikklytext.com/wiki/files/download/WikklyText-1.3.0.zip" target="_blank">WikklyText-1.3.0.zip</a></td></tr></table><div id="disqus_thread"></div><script type="text/javascript" src="http://disqus.com/forums/wikklytext/embed.js"></script><noscript><a href="http://wikklytext.disqus.com/?url=ref">View the forum thread.</a></noscript><a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a>]]></description>
            <guid isPermaLink="false">de1c4b9364d37ece217b406de9a4ec93b64562de</guid>
            <pubDate>Tue, 12 Aug 2008 04:06:00 +0000</pubDate>
        </item>
        <item>
            <title>WikiOnAStick</title>
            <link>http://wikklytext.com/wiki/WikiOnAStick.html</link>
            <description><![CDATA[You can run a wiki as a standalone application with no external requirements (no Apache, no Python, etc.). One usage for this is to create a "wiki on a stick", i.e. a wiki that lives on a USB drive so you can take it from computer to computer without needing to install anything.<br/><br/>If you are running Windows, here is a quick way to get started: <ul class="wikkly-ul"><li class="wikkly-ul-li1">Download <span class="wikkly-tt">wikgui.exe</span> from <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/WikExeWin32.html" >WikExeWin32</a> and place it on your USB drive. </li><li class="wikkly-ul-li1">Run <span class="wikkly-tt">wikgui.exe</span>. </li><li class="wikkly-ul-li1">Click <b class="">Add</b> to create a new wiki.<br/><i class="">I recommend choosing the "<b class="">Tune for USB usage</b>" option, when prompted. This will minimize writes to the USB drive. (See also <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/OptimizeForUsbUsage.html" >OptimizeForUsbUsage</a>)</i> </li><li class="wikkly-ul-li1">When finished, double-click on the new wiki to launch and browse it.<br/><br/></li></ul><h2 class="wikkly-h2">Command Line Usage</h2><br/>If you prefer to use the command line instead of the GUI, here is the recipe: <ul class="wikkly-ul"><li class="wikkly-ul-li1">Download <span class="wikkly-tt">wik.exe</span> from <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/WikExeWin32.html" >WikExeWin32</a> and place it on your USB drive. </li><li class="wikkly-ul-li1">Lets assume your USB drive is <span class="wikkly-code-inline">E:</span> and you want to create a wiki called "MyFirstWiki". Open a command window and run: <div class="wikkly-code-block">e:<br/>md&nbsp;MyFirstWiki<br/>cd&nbsp;MyFirstWiki<br/>e:\wik&nbsp;init</div> </li><li class="wikkly-ul-li1">Now, answer a few questions about how you want to setup your wiki. When you are finished, run: <div class="wikkly-code-block">e:\wik&nbsp;serve</div> </li><li class="wikkly-ul-li1">Now (assuming you accepted the defaults) point your browser to: <a title="Link to http://127.0.0.1:8000" class="wikkly-a-www" href="http://127.0.0.1:8000" target="_blank">http://127.0.0.1:8000</a>, and you should be off and running!<br/><br/><div id="disqus_thread"></div><script type="text/javascript" src="http://disqus.com/forums/wikklytext/embed.js"></script><noscript><a href="http://wikklytext.disqus.com/?url=ref">View the forum thread.</a></noscript><a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a></li></ul>]]></description>
            <guid isPermaLink="false">16436e79b33332e355aa89747ac30a117e9a5e59</guid>
            <pubDate>Tue, 12 Aug 2008 04:05:00 +0000</pubDate>
        </item>
        <item>
            <title>GettingWikklyText</title>
            <link>http://wikklytext.com/wiki/GettingWikklyText.html</link>
            <description><![CDATA[<ul class="wikkly-ul"><li class="wikkly-ul-li1">If you want to try it out without installing Python, and you are running Windows, <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/WikExeWin32.html" >WikExeWin32</a> is a quick way to get started. </li><li class="wikkly-ul-li1">Otherwise, install the <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/InstallPythonPackage.html" >Python package</a>. </li><li class="wikkly-ul-li1">To use with Drupal, get the <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/DrupalPlugIn.html" >DrupalPlugIn</a>. </li></ul>]]></description>
            <guid isPermaLink="false">7565562c9c3499cd0a7ffe79b05a85fd6c025955</guid>
            <pubDate>Tue, 12 Aug 2008 04:05:00 +0000</pubDate>
        </item>
        <item>
            <title>BehindApache</title>
            <link>http://wikklytext.com/wiki/BehindApache.html</link>
            <description><![CDATA[First, ensure you have installed the <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/InstallPythonPackage.html" >Python module</a>.  Running a WikklyText wiki behind Apache via <a title="Link to http://www.modpython.org" class="wikkly-a-www" href="http://www.modpython.org/" target="_blank">mod_python</a> is straightforward. Here I'll assume the wiki you want to serve is located in <span class="wikkly-code-inline">/MY/WIKI/PATH</span>: <ul class="wikkly-ul"><li class="wikkly-ul-li1">First, add a small bootstrap module to your wiki folder: <div class="wikkly-code-block">cd&nbsp;/MY/WIKI/PATH<br/>wik&nbsp;makeboot</div> </li><li class="wikkly-ul-li1">Point Apache to your wiki (i.e. inside a <span class="wikkly-tt">VirtualHost</span> container): <div class="wikkly-code-block">DocumentRoot&nbsp;"/MY/WIKI/PATH"<br/>LogLevel&nbsp;warn<br/>&lt;Location&nbsp;/&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;PythonPath&nbsp;"sys.path&nbsp;+&nbsp;[r'/MY/WIKI/PATH']"<br/>&nbsp;&nbsp;&nbsp;&nbsp;SetHandler&nbsp;python-program<br/>&nbsp;&nbsp;&nbsp;&nbsp;PythonHandler&nbsp;cherrypy._cpmodpy::handler<br/>&nbsp;&nbsp;&nbsp;&nbsp;PythonOption&nbsp;cherrypy.setup&nbsp;wikboot::start_modpython<br/>&nbsp;&nbsp;&nbsp;&nbsp;PythonDebug&nbsp;On<br/>&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;I&nbsp;recommend&nbsp;setting&nbsp;"MY_WIKI_NAME"&nbsp;in&nbsp;the&nbsp;next&nbsp;line<br/>&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;to&nbsp;give&nbsp;each&nbsp;wiki&nbsp;a&nbsp;unique&nbsp;name.<br/>&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;This&nbsp;avoids&nbsp;weird&nbsp;problems&nbsp;caused&nbsp;by&nbsp;mod_python&nbsp;caching.<br/>&nbsp;&nbsp;&nbsp;&nbsp;PythonInterpreter&nbsp;MY_WIKI_NAME<br/>&lt;/Location&gt;</div> <br/> <div class="wikkly-notebox" > If you use a <span class="wikkly-code-inline">Location</span> other than <span class="wikkly-code-inline">/</span>, edit <span class="wikkly-code-inline">wikboot.py</span> (in your  wiki folder) and set <span class="wikkly-code-inline">WEBPATH</span>.</div> </li><li class="wikkly-ul-li1">Restart Apache and your wiki should work. </li><li class="wikkly-ul-li1">For testing purposes, you can also run a standalone server: <div class="wikkly-code-block">cd&nbsp;/MY/WIKI/PATH<br/>python&nbsp;wikboot.py</div><br/><br/><div class="wikkly-infobox-mini" >You should be able to run a WikklyText server using <a title="Link to http://tools.cherrypy.org" class="wikkly-a-www" href="http://tools.cherrypy.org/wiki/FastCGIWSGI" target="_blank">FastCGI</a> as well, but I haven't tried it myself.</div></li></ul><br/><br/><h2 class="wikkly-h2">Sessions</h2><br/>File-based sessions are probably your best option when running behind Apache. To set them up: <ul class="wikkly-ul"><li class="wikkly-ul-li1">Go to <b class="">Wiki Admin</b> -&gt; <b class="">Server Configuration</b>, and turn on <b class="">file</b> session storage. You probably want to set a large timeout value as well. </li><li class="wikkly-ul-li1">Often, Apache is set up to run as an unprivileged user. This can cause issues with WikklyText not being able to store sessions. The easiest way to set up sessions (assuming your wiki is stored in <span class="wikkly-code-inline">/home/MyWiki</span>) is to do the following: <div class="wikkly-code-block">$&nbsp;mkdir&nbsp;-p&nbsp;/home/MyWiki/.wik/sessions<br/>$&nbsp;chmod&nbsp;a+rxw&nbsp;/home/MyWiki/.wik/sessions</div><br/><br/><div class="wikkly-warnbox-container" ><div class="wikkly-warnbox-title" >Security Note</div><div class="wikkly-warnbox-body" >If you are concerned about having a world-writeable directory, you can try changing the owner of the <span class="wikkly-code-inline">sessions</span> directory to the user that runs the Apache process. The above just gives the simplest method. I'm personally not too concerned about having this world-writeable directory since WikklyText will not serve any files from the <span class="wikkly-code-inline">.wik</span> directory. A malicious local user on a shared host could still manipulate the sessions directory, but that is true of many software installations on shared hosts.<br/><br/>If anyone has a better suggestion for securing the sessions directory, please post it to the <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/MailingList.html" >MailingList</a>.</div></div></li></ul><div id="disqus_thread"></div><script type="text/javascript" src="http://disqus.com/forums/wikklytext/embed.js"></script><noscript><a href="http://wikklytext.disqus.com/?url=ref">View the forum thread.</a></noscript><a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a>]]></description>
            <guid isPermaLink="false">8b17855bd5deca549c098b69a28997ac26655af4</guid>
            <pubDate>Tue, 12 Aug 2008 04:01:00 +0000</pubDate>
        </item>
        <item>
            <title>Welcome!</title>
            <link>http://wikklytext.com/wiki/Welcome!.html</link>
            <description><![CDATA[  What is <b class="">WikklyText</b>?  <ul class="wikkly-ul"><li class="wikkly-ul-li1">It provides a lightweight, portable, extensible wiki language, compatible with <a title="Link to http://www.tiddlywiki.com" class="wikkly-a-www" href="http://www.tiddlywiki.com" target="_blank">TiddlyWiki</a> <br/>(<i class="">see also:</i> <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/MarkupReference.html" >MarkupReference</a>). </li><li class="wikkly-ul-li1">It is easily used as a <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/WikiOnAStick.html" >WikiOnAStick</a> for keeping a personal wiki. </li><li class="wikkly-ul-li1">It can be used <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/BehindApache.html" >BehindApache</a> to serve a multiuser wiki. </li><li class="wikkly-ul-li1">It can be <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/DrupalPlugIn.html" >plugged into Drupal</a>  allowing you to write in <b class="">WikklyText</b> markup on your existing <a title="Link to http://www.drupal.org" class="wikkly-a-www" href="http://www.drupal.org" target="_blank">Drupal</a> site. </li><li class="wikkly-ul-li1">It provides "Safe" and "Full" modes: In "Safe" mode, the user is restricted to only calling safe macros, no HTML injection is possible, and the generated text is filtered to preclude XSS issues. In a server setting (e.g. <a title="Link to http://www.drupal.org" class="wikkly-a-www" href="http://www.drupal.org" target="_blank">Drupal</a> or Apache) this allows untrusted users to write <b class="">WikklyText</b> content without endangering system security. </li><li class="wikkly-ul-li1">It is extensible, allowing both embedded Python code in wikitexts (<span class="wikkly-code-inline">&lt;?py&nbsp;...&nbsp;?&gt;</span>) as well as providing an easy to use <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/WritingPlugins.html" >plugin API</a>. </li><li class="wikkly-ul-li1">It is a modular <a title="Link to http://www.python.org" class="wikkly-a-www" href="http://www.python.org" target="_blank">Python</a> library that you can use to build your own wikitext rendering applications. You can render to both HTML and XML for flexibility. </li><li class="wikkly-ul-li1">It is provided under a <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/License.html" >free license</a>.<br/><br/></li></ul>To view some sample content, see the <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/ConversionDemo.html" >ConversionDemo</a>. ]]></description>
            <guid isPermaLink="false">81aa1022e1fcea429e2a05c3e2f240cbdaebd0ba</guid>
            <pubDate>Sun, 10 Aug 2008 21:07:00 +0000</pubDate>
        </item>
        <item>
            <title>WhyWikklyText</title>
            <link>http://wikklytext.com/wiki/WhyWikklyText.html</link>
            <description><![CDATA[WikklyText started out of a few of my personal desires: <ul class="wikkly-ul"><li class="wikkly-ul-li1">First, I wanted to experiment with doing more Pythonic things within a TiddlyWiki-like framework. An obvious expression of this is the ability to embed Python code in wikitexts. With this addition, wikitexts now have access to the full Python library, and issues like "<i class="">how do I talk to a database?</i>" become moot. </li><li class="wikkly-ul-li1">Secondly, I liked the basic TiddlyWiki markup language enough that I wanted to enable it to be used in more contexts. I was tired of using domain-specific markup languages (hand-edited HTML vs. <a title="Link to http://tinymce.moxiecode.com" class="wikkly-a-www" href="http://tinymce.moxiecode.com/" target="_blank">TinyMCE</a> vs. <a title="Link to http://docutils.sourceforge.net" class="wikkly-a-www" href="http://docutils.sourceforge.net/rst.html" target="_blank">reStructuredText</a> vs. ...) and wanted to move to a single standard for my own content. To this end, WikklyText provides highly modular pieces for rendering, store management, etc., with the hope that others will be able to mix &amp; match pieces to build their own tiddly-speaking applications.<br/><br/></li></ul>]]></description>
            <guid isPermaLink="false">9e9ff1d9da61e4903ba202fc675bb0805b70a4a7</guid>
            <pubDate>Wed, 18 Jun 2008 00:37:00 +0000</pubDate>
        </item>
        <item>
            <title>OptimizeForUsbUsage</title>
            <link>http://wikklytext.com/wiki/OptimizeForUsbUsage.html</link>
            <description><![CDATA[When running a <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/WikiOnAStick.html" >WikiOnAStick</a> from a USB drive, you probably want to minimize the number of writes to the device. You can do that making the following settings on the <b class="">Wiki Admin</b> page: <ul class="wikkly-ul"><li class="wikkly-ul-li1">Set <b class="">Session Storage</b> to <b class="">ram</b>. </li><li class="wikkly-ul-li1">Set <b class="">Render Cache</b> to <b class="">Off</b> </li><li class="wikkly-ul-li1">Set <b class="">MetaDb</b> to <b class="">Off</b><br/><br/></li></ul>]]></description>
            <guid isPermaLink="false">1957616f571c972355f9501893453b4f56b373a4</guid>
            <pubDate>Mon, 16 Jun 2008 00:52:00 +0000</pubDate>
        </item>
        <item>
            <title>Patch: cherrypy-3.1.0rc1-console-handler</title>
            <link>http://wikklytext.com/wiki/Patch- cherrypy-3.1.0rc1-console-handler.html</link>
            <description><![CDATA[This patch is needed to use CherryPy 3.1.0rc1 behind Apache with mod_python: <div class="wikkly-code-block">diff&nbsp;-u&nbsp;-r&nbsp;CherryPy-3.1.0rc1/cherrypy/__init__.py&nbsp;fm-CherryPy-3.1.0rc1/cherrypy/__init__.py<br/>---&nbsp;CherryPy-3.1.0rc1/cherrypy/__init__.py&nbsp;&nbsp;&nbsp;&nbsp;2008-05-17&nbsp;15:34:25.000000000&nbsp;-0500<br/>+++&nbsp;fm-CherryPy-3.1.0rc1/cherrypy/__init__.py&nbsp;&nbsp;&nbsp;&nbsp;2008-06-12&nbsp;11:33:48.467036800&nbsp;-0500<br/>@@&nbsp;-181,7&nbsp;+181,8&nbsp;@@<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;del&nbsp;win32<br/>&nbsp;except&nbsp;ImportError:<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;engine&nbsp;=&nbsp;process.bus<br/>-<br/>+&nbsp;&nbsp;&nbsp;&nbsp;_console_control_handler&nbsp;=&nbsp;None<br/>+&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;<br/>&nbsp;#&nbsp;Timeout&nbsp;monitor<br/>&nbsp;class&nbsp;_TimeoutMonitor(process.plugins.Monitor):<br/>diff&nbsp;-u&nbsp;-r&nbsp;CherryPy-3.1.0rc1/cherrypy/_cpmodpy.py&nbsp;fm-CherryPy-3.1.0rc1/cherrypy/_cpmodpy.py<br/>---&nbsp;CherryPy-3.1.0rc1/cherrypy/_cpmodpy.py&nbsp;&nbsp;&nbsp;&nbsp;2008-05-17&nbsp;15:34:26.000000000&nbsp;-0500<br/>+++&nbsp;fm-CherryPy-3.1.0rc1/cherrypy/_cpmodpy.py&nbsp;&nbsp;&nbsp;&nbsp;2008-06-12&nbsp;11:34:11.149164400&nbsp;-0500<br/>@@&nbsp;-97,7&nbsp;+97,8&nbsp;@@<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"tools.ignore_headers.headers":&nbsp;['Range'],<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;})<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>-&nbsp;&nbsp;&nbsp;&nbsp;cherrypy._console_control_handler.unsubscribe()<br/>+&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;cherrypy._console_control_handler&nbsp;is&nbsp;not&nbsp;None:<br/>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cherrypy._console_control_handler.unsubscribe()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cherrypy.engine.autoreload.unsubscribe()<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cherrypy.server.unsubscribe()</div>]]></description>
            <guid isPermaLink="false">bd1049bd9c33608decc7591a5fcb7255bd503a84</guid>
            <pubDate>Thu, 12 Jun 2008 16:47:00 +0000</pubDate>
        </item>
        <item>
            <title>WikGuiConfigFolder</title>
            <link>http://wikklytext.com/wiki/WikGuiConfigFolder.html</link>
            <description><![CDATA[<span class="wikkly-tt">wik</span> and <span class="wikkly-tt">wikgui</span> are intended to work well as a "portable" applications. This means that they are careful not to write anything to the registry  and won't store any configuration files on your computer unless you ask them to. You have three options for storing your configuration data:    <dl class="wikkly-dl"><dt class="wikkly-dt">User folder </dt><dd class="wikkly-dd">Configuration will be stored in the standard host OS location for user data. <br/>Examples: <ul class="wikkly-ul"><li class="wikkly-ul-li1">XP: <span class="wikkly-code-inline">c:\Documents&nbsp;and&nbsp;Settings\USER\Application&nbsp;Data\WikklyText</span>  </li><li class="wikkly-ul-li1">Vista: <span class="wikkly-code-inline">c:\Users\USER\AppData\Roaming\WikklyText</span> </li><li class="wikkly-ul-li1">Linux/POSIX: <span class="wikkly-code-inline">~/.WikklyText</span> </li></ul> </dd><dt class="wikkly-dt">Executable folder </dt><dd class="wikkly-dd">Configuration will be stored in the same location as <span class="wikkly-tt">wik.exe</span>/<span class="wikkly-tt">wikgui.exe</span> </dd><dt class="wikkly-dt">Other folder </dt><dd class="wikkly-dd">If you don't like either of these options, you can run <span class="wikkly-tt">wik</span> (or <span class="wikkly-tt">wikgui</span>) like this to specify a location: <div class="wikkly-code-block">wik&nbsp;--cfgpath="c:\My\Folder\Location"</div><br/><br/></dd></dl><dl class="wikkly-dl"><dt class="wikkly-dt">Tip: </dt><dd class="wikkly-dd"><i class="">If you want to run off of a USB drive and not touch the host computer, you'll want to choose either <b class="">Executable folder</b> or <b class="">Other location</b>.</i><br/><br/></dd></dl>]]></description>
            <guid isPermaLink="false">bf95563df70b21c5ecbc62250223166b7156700f</guid>
            <pubDate>Thu, 12 Jun 2008 02:30:00 +0000</pubDate>
        </item>
        <item>
            <title>BrowserIssues</title>
            <link>http://wikklytext.com/wiki/BrowserIssues.html</link>
            <description><![CDATA[WikklyText is intended to be browser neutral, but any browser issues will be listed here.<br/><br/>As of this writing, WikklyText is actively tested against these browsers (listed roughly in order of frequency of testing): <table class="wikkly-table"><tr class="wikkly-tr"><th class="wikkly-th" colspan=1 rowspan=1 style="text-align: center;">Browser</th><th class="wikkly-th" colspan=1 rowspan=1 style="text-align: center;">Version</th><th class="wikkly-th" colspan=1 rowspan=1 style="text-align: center;">Platform</th></tr><tr class="wikkly-tr"><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: left;"><a title="Link to http://www.mozilla.com" class="wikkly-a-www" href="http://www.mozilla.com/firefox/" target="_blank">Firefox</a> </td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> 2.0.0.14 </td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> Windows </td></tr><tr class="wikkly-tr"><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: left;"><a title="Link to http://www.microsoft.com" class="wikkly-a-www" href="http://www.microsoft.com/windows/products/winfamily/ie/default.mspx" target="_blank">Internet Explorer</a>  </td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> 7.0 </td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> Windows </td></tr><tr class="wikkly-tr"><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: left;"><a title="Link to http://www.opera.com" class="wikkly-a-www" href="http://www.opera.com" target="_blank">Opera</a> </td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> 9.26 </td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> Windows </td></tr><tr class="wikkly-tr"><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: left;"><a title="Link to http://www.apple.com" class="wikkly-a-www" href="http://www.apple.com/safari/" target="_blank">Safari</a> </td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> 3.1 </td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> Windows </td></tr><tr class="wikkly-tr"><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: left;"><a title="Link to http://w3m.sourceforge.net" class="wikkly-a-www" href="http://w3m.sourceforge.net/" target="_blank">w3m</a> </td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> 0.5.1 </td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> Windows/Cygwin </td></tr><tr class="wikkly-tr"><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: left;"><a title="Link to http://lynx.isc.org" class="wikkly-a-www" href="http://lynx.isc.org/" target="_blank">lynx</a> </td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> 2.8.6 </td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> Windows/Cygwin </td></tr><tr class="wikkly-tr"><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: left;"><a title="Link to http://links.sourceforge.net" class="wikkly-a-www" href="http://links.sourceforge.net/" target="_blank">links</a> </td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> 1.0.0pre20 </td><td class="wikkly-td" colspan=1 rowspan=1 style="text-align: center;"> Windows/Cygwin </td></tr></table>]]></description>
            <guid isPermaLink="false">8006fa62332750efa36d0d4a9d34836610ab3579</guid>
            <pubDate>Tue, 10 Jun 2008 03:19:00 +0000</pubDate>
        </item>
        <item>
            <title>twextract</title>
            <link>http://wikklytext.com/wiki/twextract.html</link>
            <description><![CDATA[<div class="wikkly-warnbox-container" ><div class="wikkly-warnbox-title" >Deprecation Warning</div><div class="wikkly-warnbox-body" ><span class="wikkly-tt">twextract</span> is deprecated. It has been superceded by <span class="wikkly-tt">wik</span>. It will be removed at some point unless there is significant interest in keeping it around (let me know via the <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/MailingList.html" >MailingList</a> if that is the case for you).</div></div><br/><br/>The <span class="wikkly-tt">twextract</span> utility converts a TiddlyWiki into a flat set of XML &amp; HTML files.  This can be useful for ... <ul class="wikkly-ul"><li class="wikkly-ul-li1">Serving your TiddlyWiki content as a lightweight set of pages instead of each user having to download the entire wiki. </li><li class="wikkly-ul-li1">Serving your TiddlyWiki content in a Javascript-restricted environment. </li><li class="wikkly-ul-li1">Serving your TiddlyWiki to users with limited browser capability, for example mobile phone users.<br/><br/></li></ul>Run <span class="wikkly-tt">twextract</span> by giving it a TiddlyWiki <span class="wikkly-code-inline">.html</span> file and an output directory. For example, to convert <span class="wikkly-code-inline">c:\tiddlywiki.html</span>, placing results in <span class="wikkly-code-inline">c:\output</span>: <div class="wikkly-code-block">twextract&nbsp;c:\tiddlywiki.html&nbsp;c:\output</div><br/><br/>You can view an example here: <a title="Link to http://boodebr.org" class="wikkly-a-www" href="http://boodebr.org/pages/twExtractDemo/index.html" target="_blank">TiddlyWiki Home Page, converted to HTML</a>.<br/><br/>]]></description>
            <guid isPermaLink="false">6411cb4dd5ab183a94e1aa9c8ca4b2d1110f6327</guid>
            <pubDate>Thu, 05 Jun 2008 13:16:00 +0000</pubDate>
        </item>
        <item>
            <title>ConversionDemo</title>
            <link>http://wikklytext.com/wiki/ConversionDemo.html</link>
            <description><![CDATA[Here is a sample wiki that you can view either as a TiddlyWiki, or as a WikklyText wiki: <ul class="wikkly-ul"><li class="wikkly-ul-li1"><a title="Link to http://wikklytext.com" class="wikkly-a-www" href="http://wikklytext.com/pages/ConversionDemo" target="_blank">RandomPedia</a> </li></ul>]]></description>
            <guid isPermaLink="false">c4f5477b4242d93f307f5dcb611e34471f34a3bd</guid>
            <pubDate>Mon, 28 Apr 2008 00:18:00 +0000</pubDate>
        </item>
        <item>
            <title>ServingFiles</title>
            <link>http://wikklytext.com/wiki/ServingFiles.html</link>
            <description><![CDATA[Beginning with WikklyText 1.1, you have a file-serving area within your wiki. It is located in the <span class="wikkly-code-inline">files/</span> directory under your wiki folder. WikklyText will serve any files that are located there, including in any subdirectories (no matter how deeply nested). <br/><br/>Here are some examples. My wiki root folder looks like this: <div class="wikkly-code-block">wiki/<br/>&nbsp;&nbsp;&nbsp;&nbsp;files/<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;testing/<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;htmlfile.html<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;imagefile.png<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;textfile.txt</div><br/><br/>First, serving an HTML file: <ul class="wikkly-ul"><li class="wikkly-ul-li1"><a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/files/testing/htmlfile.html" >HTML file</a> <div class="wikkly-notebox" >Markup: <span class="wikkly-code-inline">[[HTML&nbsp;file|files/testing/htmlfile.html]]</span></div><br/><br/></li></ul>WikklyText knows to set the MIME type correctly so files will render (or not) as they should.  <ul class="wikkly-ul"><li class="wikkly-ul-li1"><a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/files/testing/textfile.txt" >Text file</a> <div class="wikkly-notebox" > Markup: <span class="wikkly-code-inline">[[Text&nbsp;file|files/testing/textfile.txt]]</span></div><br/><br/></li></ul>Image files: <ul class="wikkly-ul"><li class="wikkly-ul-li1">Inline image: <img class="wikkly-img" src="http://wikklytext.com/wiki/files/testing/imagefile.png"> <div class="wikkly-notebox" >Markup: <span class="wikkly-code-inline">[img[files/testing/imagefile.png]]</span></div> </li><li class="wikkly-ul-li1">Image with link: <a href="http://wikklytext.com" target="_blank" ><img class="wikkly-img" src="http://wikklytext.com/wiki/files/testing/imagefile.png"></a> <div class="wikkly-notebox" >Markup: <span class="wikkly-code-inline">[img[files/testing/imagefile.png][http://wikklytext.com]]</span></div> </li><li class="wikkly-ul-li1">Link to image: <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/files/testing/imagefile.png" >Image</a><br/><br/></li></ul>The benefits of the file-serving area are: <ul class="wikkly-ul"><li class="wikkly-ul-li1">You can make links to file content that work the same for both standalone wikis and wikis running behind a webserver. </li><li class="wikkly-ul-li1">You can move your wiki around without breaking links to file content. </li><li class="wikkly-ul-li1">File download activity will be included in your logs for easy reference. </li></ul>]]></description>
            <guid isPermaLink="false">8c8d1c44a848194ccd012dfd847ff05743deb3a1</guid>
            <pubDate>Wed, 12 Mar 2008 02:09:00 +0000</pubDate>
        </item>
        <item>
            <title>AboutTheseDocs</title>
            <link>http://wikklytext.com/wiki/AboutTheseDocs.html</link>
            <description><![CDATA[The site you are viewing is a WikklyText wiki. If you are familiar with <a title="Link to http://tiddlywiki.com" class="wikkly-a-www" href="http://tiddlywiki.com" target="_blank">TiddlyWiki</a> you'll notice that WikklyText wikis use the same naming scheme. This is done so that you can move content freely between a TiddlyWiki and a WikklyText wiki. (See the <span class="wikkly-code-inline">wik&nbsp;conv</span> command in <a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/UsingWik.html" >UsingWik</a>.)<br/><br/>Much of the time, this site will be running a prerelease version of WikklyText. Don't be surprised to see a version number (on the link at the bottom) that is not yet available for download. All features will be included in the next stable release.]]></description>
            <guid isPermaLink="false">0127e3f1304ff5626fdddb2b5baf2cc2abcf7763</guid>
            <pubDate>Mon, 10 Mar 2008 03:13:00 +0000</pubDate>
        </item>
        <item>
            <title>Wikkly2HTML</title>
            <link>http://wikklytext.com/wiki/Wikkly2HTML.html</link>
            <description><![CDATA[<div class="wikkly-notebox" >You can accomplish this same task with the <span class="wikkly-tt"><a title="Link to http://wikklytext.com" class="wikkly-a-internal wikkly-tt" href="http://wikklytext.com/wiki/UsingWik.html" >wik</a></span> command-line tool. <span class="wikkly-tt">wikkly2html</span> has been around longer, but is being superceded by <span class="wikkly-tt">wik</span>.</div><br/><br/>The <span class="wikkly-tt">wikkly2html</span> utility converts WikklyText files to HTML: <ol class="wikkly-ol"><li class="wikkly-ol-li1"><div class="wikkly-code-block">wikkly2html&nbsp;--css&nbsp;-o&nbsp;OUTFILE.html&nbsp;INFILE.txt</div> </li><li class="wikkly-ol-li1">Notes: <ol class="wikkly-ol"><li class="wikkly-ol-li2">You can pass <span class="wikkly-code-inline">-m&nbsp;safe</span> on the command line to get the same safety features you get with the Drupal <b class="">Safe</b> mode. </li><li class="wikkly-ol-li2">Try running <span class="wikkly-tt">wikkly2html</span> with no parameters to see full help.<br/><br/></li></ol></li></ol>]]></description>
            <guid isPermaLink="false">c2140f366a98ce00151afede6e5622f4c0ba4560</guid>
            <pubDate>Mon, 11 Feb 2008 21:00:00 +0000</pubDate>
        </item>
        <item>
            <title>WhatNow</title>
            <link>http://wikklytext.com/wiki/WhatNow.html</link>
            <description><![CDATA[Some starting points for using WikklyText. <dl class="wikkly-dl"><dt class="wikkly-dt"><a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/UsingWik.html" >UsingWik</a> </dt><dd class="wikkly-dd">Use the <span class="wikkly-tt">wik</span> standalone tool to create, manage, render and serve full blown wikis. <br/><i class="">Unless you are a programmer, this is probably what you want to use!</i> </dd><dt class="wikkly-dt"><a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/MarkupReference.html" >MarkupReference</a> </dt><dd class="wikkly-dd">A complete reference to the WikklyText markup language<br/><br/></dd></dl><h3 class="wikkly-h3">For programmers</h3> <dl class="wikkly-dl"><dt class="wikkly-dt"><a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/WikklyTextApi.html" >WikklyTextApi</a> </dt><dd class="wikkly-dd">Documents the primary entry points.<br/><br/></dd></dl><h3 class="wikkly-h3">Other/older tools</h3> <dl class="wikkly-dl"><dt class="wikkly-dt"><a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/Wikkly2HTML.html" >wikkly2html</a> </dt><dd class="wikkly-dd">Renders a single text file at a time. </dd><dt class="wikkly-dt"><a title="Link to http://wikklytext.com" class="wikkly-a-internal" href="http://wikklytext.com/wiki/twextract.html" >twextract</a> </dt><dd class="wikkly-dd">Tool for converting a TiddlyWiki to standalone HTML (<i class="">superceded by <span class="wikkly-tt">wik</span></i>).<br/><br/></dd></dl>]]></description>
            <guid isPermaLink="false">4d12e04f6c470bd5b422d8e97ca2455b35367dc3</guid>
            <pubDate>Mon, 04 Feb 2008 12:22:00 +0000</pubDate>
        </item>
        <item>
            <title>WikklyTextApi</title>
            <link>http://wikklytext.com/wiki/WikklyTextApi.html</link>
            <description><![CDATA[This is not meant as an exhaustive list, but rather to cover the primary entry points in the WikklyText modules.<br/><br/><h3 class="wikkly-h3">WikklyText_to_XML</h3><br/>This is probably the best entry point for your own code to use. It converts a wikitext string into XML markup, ready for processing into whatever final format you choose. <div class="wikkly-code-block">from&nbsp;wikklytext&nbsp;import&nbsp;WikklyText_to_XML<br/>(xml,context)&nbsp;=&nbsp;WikklyText_to_XML(content,&nbsp;encoding,&nbsp;safe_mode,&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setvars=None,&nbsp;max_runtime=-1,&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url_resolver=None,&nbsp;tree_posthook=None)</div><br/><br/><b class=""><u class="">Inputs</u></b>:<br/><br/><dl class="wikkly-dl"><dt class="wikkly-dt">content </dt><dd class="wikkly-dd">Wikitext (<i class="">Unicode</i>), usually from wikklytext.base.load_wikitext(). </dd><dt class="wikkly-dt">encoding </dt><dd class="wikkly-dd">Desired output encoding (i.e. 'utf-8') </dd><dt class="wikkly-dt">safe_mode </dt><dd class="wikkly-dd">True/False, whether to use Safe mode. </dd><dt class="wikkly-dt">setvars </dt><dd class="wikkly-dd">Variables to set into WikContext, as dict of: <span class="wikkly-code-inline">name:&nbsp;str,&nbsp;unicode&nbsp;or&nbsp;int</span> <i class="">'name' can have a leading '$' to set sysvars.</i> </dd><dt class="wikkly-dt">max_runtime </dt><dd class="wikkly-dd">Maximum time (in seconds) to run, or -1 for unlimited. </dd><dt class="wikkly-dt">url_resolver </dt><dd class="wikkly-dd">URL resolver, see wikklytext.base for info. </dd><dt class="wikkly-dt">tree_posthook </dt><dd class="wikkly-dd">Hook to call after ElementTree is complete, before generating XML. Will be called as: <div class="wikkly-code-block">tree_posthook(rootnode,&nbsp;context)</div> Hook should modify tree in-place.<br/><br/></dd></dl><dl class="wikkly-dl"><dt class="wikkly-dt"><u class="">Returns:</u> </dt><dd class="wikkly-dd">(xml, context)<br/><br/></dd></dl><b class=""><u class="">Where:</u></b> <dl class="wikkly-dl"><dt class="wikkly-dt">xml </dt><dd class="wikkly-dd">Generated XML as an encoded bytestring </dd><dt class="wikkly-dt">context </dt><dd class="wikkly-dd">WikContext that was used, in case user wants to inspect it. </dd></dl>]]></description>
            <guid isPermaLink="false">d536a55d0343f2fcc2807b7b2acbb9d123d64af4</guid>
            <pubDate>Mon, 04 Feb 2008 11:26:00 +0000</pubDate>
        </item>
        <item>
            <title>License</title>
            <link>http://wikklytext.com/wiki/License.html</link>
            <description><![CDATA[WikklyText is free software licensed under the <a title="Link to http://www.opensource.org" class="wikkly-a-www" href="http://www.opensource.org/licenses/gpl-license.php" target="_blank">GPL v2</a>.<br/><br/><div class="wikkly-codebox-container" ><div class="wikkly-codebox-title" >LICENSE</div><div class="wikkly-codebox-body" >The&nbsp;WikklyText&nbsp;suite<br/><br/>Copyright&nbsp;(C)&nbsp;2007,2008&nbsp;Frank&nbsp;McIngvale<br/><br/>Contact:&nbsp;fmcingvale@boodebr.org<br/><br/>This&nbsp;program&nbsp;is&nbsp;free&nbsp;software;&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br/>it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br/>the&nbsp;Free&nbsp;Software&nbsp;Foundation;&nbsp;either&nbsp;version&nbsp;2&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br/>(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br/><br/>This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br/>but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br/>MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;See&nbsp;the<br/>GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.</div></div><br/><br/>]]></description>
            <guid isPermaLink="false">a76a253139e7125a7d8702322da0d74f8606629a</guid>
            <pubDate>Mon, 28 Jan 2008 02:58:00 +0000</pubDate>
        </item>
        <item>
            <title>FAQ</title>
            <link>http://wikklytext.com/wiki/FAQ.html</link>
            <description><![CDATA[No questions so far!<br/><br/>]]></description>
            <guid isPermaLink="false">373b759207b7e433df9a355370ed34fcf5cceab7</guid>
            <pubDate>Fri, 23 Nov 2007 20:57:00 +0000</pubDate>
        </item>
        <item>
            <title>NoCacheExample</title>
            <link>http://wikklytext.com/wiki/NoCacheExample.html</link>
            <description><![CDATA[ This item has the 'nocache' tag set. This tells the renderer to always rebuild this item, even if it has not changed. <br/><br/>To prove it is regenerated, here is a timestamp: <b class="">Thu Aug 28 22:21:38 2008</b><br/><br/><br/><br/><br/>]]></description>
            <guid isPermaLink="false">33146183fde061a8761dba1d74f6003f08f8f0b2</guid>
            <pubDate>Sat, 20 Oct 2007 13:20:00 +0000</pubDate>
        </item>
    </channel>
</rss>
