<h1>Welcome to <spandata-tw-macro='link'><ahref='TiddlyWiki5'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>TiddlyWiki5</a></span></h1><divdata-tw-macro='tiddler'>Welcome to <spandata-tw-macro='link'><ahref='TiddlyWiki5'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>TiddlyWiki5</a></span>, an interactive wiki <spandata-tw-macro='link'><ahref='ThisIsAlpha'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves'>under development</a></span> in <spandata-tw-macro='link'><ahref='JavaScript'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>JavaScript</a></span> to run in the browser or under node.js. It is a reboot of <spandata-tw-macro='link'><ahref='TiddlyWiki'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>TiddlyWiki</a></span>, the now venerable, reusable non-linear personal web notebook first released in 2004.<br/><br/>Over the years, <spandata-tw-macro='link'><ahref='TiddlyWiki'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>TiddlyWiki</a></span> has earned an enduring role as a tool that people <spandata-tw-macro='link'><ahref='Raves'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>love using</a></span> for its rich, interactive interface to <spandata-tw-macro='link'><ahref='TiddlyWikiConcepts'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>manipulate complex data</a></span> with structure that doesn't easily fit into conventional tools like spreadsheets and wordprocessors. Because people can use it without needing any complicated server infrastructure, and because it is <spandata-tw-macro='link'><ahref='OpenSourceLicense'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>open source</a></span>, it has bought unprecedented freedom to people to keep their precious information under their own control. <spandata-tw-macro='link'><ahref='TiddlyWiki'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>TiddlyWiki</a></span> was originally created by <spandata-tw-macro='link'><ahref='JeremyRuston'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>JeremyRuston</a></span> and is now a thriving <spandata-tw-macro='link'><ahref='OpenSourceLicense'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>open source</a></span> project with a busy <spandata-tw-macro='link'><ahref='Community'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>Community</a></span> of independent developers.<br/></div><br/><h1>Usage</h1><divdata-tw-macro='tiddler'><spandata-tw-macro='link'><ahref='TiddlyWiki5'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>TiddlyWiki5</a></span> can be used on the command line to perform an extensive set of operations based on <spandata-tw-macro='link'><ahref='RecipeFiles'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves'>RecipeFiles</a></span>, <spandata-tw-macro='link'><ahref='TiddlerFiles'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves'>TiddlerFiles</a></span> and <spandata-tw-macro='link'><ahref='TiddlyWikiFiles'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>TiddlyWikiFiles</a></span>.<br/><br/>Usage:<br/><pre>node tiddlywiki.js <options>
</pre>The command line options are processed sequentially from left to right. Processing pauses during long operations, like loading a <spandata-tw-macro='link'><ahref='RecipeFiles'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves'>recipe file</a></span> and all the subrecipes and <spandata-tw-macro='link'><ahref='TiddlerFiles'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-resolves'>tiddlers</a></span> that it references. The following options are available:<br/><tableclass="twtable"><tbody><trclass="evenRow"><tdalign="left"><code>--recipe <filepath></code></td><tdalign="left">Loads a specfied <code>.recipe</code> file</td></tr><trclass="oddRow"><tdalign="left"><code>--load <filepath></code></td><tdalign="left">Load additional tiddlers from 2.x.x <spandata-tw-macro='link'><ahref='TiddlyWiki'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>TiddlyWiki</a></span> files (<code>.html</code>), <code>.tiddler</code>, <code>.tid</code>, <code>.json</code> or other files</td></tr><trclass="evenRow"><tdalign="left"><code>--savewiki <dirpath></code></td><tdalign="left">Saves all the loaded tiddlers as a single file <spandata-tw-macro='link'><ahref='TiddlyWiki'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>TiddlyWiki</a></span> called <code>index.html</code> and an RSS feed called <code>index.xml</code> in a new directory of the specified name</td></tr><trclass="oddRow"><tdalign="left"><code>--savetiddler <title><filename> [<type>]</code></td><tdalign="left">Save an individual tiddler as a specified MIME type, defaults to <code>text/html</code></td></tr><trclass="evenRow"><tdalign="left"><code>--savetiddlers <outdir></code></td><tdalign="left">Saves all the loaded tiddlers as <code>.tid</code> files in the specified directory</td></tr><trclass="oddRow"><tdalign="left"><code>--servewiki <port></code></td><tdalign="left">Serve the cooked <spandata-tw-macro='link'><ahref='TiddlyWiki'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>TiddlyWiki</a></span> over HTTP at <code>/</code></td></tr><trclass="evenRow"><tdalign="left"><code>--servetiddlers <port></code></td><tdalign="left">Serve individual tiddlers over HTTP at <code>/tiddlertitle</code></td></tr><trclass="oddRow"><tdalign="left"><code>--wikitest <dir></code></td><tdalign="left">Run wikification tests against the tiddlers in the given directory</td></tr><trclass="evenRow"><tdalign="left"><code>--dumpstore</code></td><tdalign="left">Dump the <spandata-tw-macro='link'><ahref='TiddlyWiki'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>TiddlyWiki</a></span> store in JSON format</td></tr><trclass="oddRow"><tdalign="left"><code>--dumprecipe</code></td><tdalign="left">Dump the current recipe in JSON format</td></tr><trclass="evenRow"><tdalign="left"><code>--verbose</code></td><tdalign="left">verbose output, useful for debugging</td></tr></tbody></table><h2> Examples</h2>This example loads the tiddlers from a <spandata-tw-macro='link'><ahref='TiddlyWiki'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>TiddlyWiki</a></span> HTML file and makes them available over HTTP:<br/><pre>node tiddlywiki.js --load mywiki.html --servewiki 127.0.0.1:8000
</pre>This example cooks a <spandata-tw-macro='link'><ahref='TiddlyWiki'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>TiddlyWiki</a></span> from a recipe:<br/><pre>node tiddlywiki.js --recipe tiddlywiki.com/index.recipe --savewiki tmp/
</pre>This example ginsus a <spandata-tw-macro='link'><ahref='TiddlyWiki'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>TiddlyWiki</a></span> into its constituent tiddlers:<br/><pre>node tiddlywiki.js --load mywiki.html --savetiddlers tmp/tiddlers
</pre><h2> Notes</h2><code>--servewiki</code> and <code>--servertiddlers</code> are for different purposes and should not be used together. The former is for <spandata-tw-macro='link'><ahref='TiddlyWiki'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>TiddlyWiki</a></span> core developers who want to be able to edit the <spandata-tw-macro='link'><ahref='TiddlyWiki'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>TiddlyWiki</a></span> source files in a text editor and view the results in the browser by clicking refresh; it is slow because it reloads all the <spandata-tw-macro='link'><ahref='TiddlyWiki'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>TiddlyWiki</a></span><spandata-tw-macro='link'><ahref='JavaScript'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>JavaScript</a></span> files each time the page is loaded. The latter is for experimenting with the new wikification engine.<br/><br/><code>--wikitest</code> looks for <code>*.tid</code> files in the specified folder. It then wikifies the tiddlers to both "text/plain" and "text/html" format and checks the results against the content of the <code>*.html</code> and <code>*.txt</code> files in the same directory.</div><br/><h1>Testing</h1><divdata-tw-macro='tiddler'><code>test.sh</code> contains a simple test script that cooks the main tiddlywiki.com recipe and compares it with the results of the old build process (ie, running cook.rb and then opening the file in a browser and performing a 'save changes' operation). It also runs a series of wikifications tests that work off the data in <code>test/wikitests/</code>.</div><br/><h1>Planned <spandata-tw-macro='link'><ahref='WikiText'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>WikiText</a></span> Features</h1><divdata-tw-macro='tiddler'>It is proposed to extend the existing <spandata-tw-macro='link'><ahref='TiddlyWiki'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>TiddlyWiki</a></span> wikitext syntax with the following extensions<br/><br/><ol><li> Addition of <code>**bold**</code> character formatting</li><li> Addition of <code>`backtick for code`</code> character formatting</li><li> Addition of <spandata-tw-macro='link'><ahref='WikiCreole-style'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>WikiCreole-style</a></span> forced line break, e.g. <code>force\\linebreak</code></li><li> Addition of <spandata-tw-macro='link'><ahref='WikiCreole-style'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>WikiCreole-style</a></span> headings, e.g. <code>==Heading</code></li><li> Addition of <spandata-tw-macro='link'><ahref='WikiCreole-style'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>WikiCreole-style</a></span> headings in tables, e.g. <code>|=|=table|=header|</code></li><li> Addition of white-listed HTML tags intermixed with wikitext</li><li> Addition of <spandata-tw-macro='link'><ahref='WikiCreole-style'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>WikiCreole-style</a></span> pretty links, e.g. <code>[[description -> link]]</code></li><li> Addition of multiline macros, e.g.</li></ol><pre><<myMacro
</pre></div><br/><br/><em>This <code>readme</code> file was automatically generated by <spandata-tw-macro='link'><ahref='TiddlyWiki5'class='tw-tiddlylink tw-tiddlylink-internal tw-tiddlylink-missing'>TiddlyWiki5</a></span></em><br/>