<h1class=''>Welcome to <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a></h1><p>Welcome to <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a>, a reboot of <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki.html'>TiddlyWiki</a>, the non-linear personal web notebook first released in 2004. It is a complete interactive wiki in <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/JavaScript.html'>JavaScript</a> that can be run from a <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/How%20to%20use%20TiddlyWiki5%20as%20a%20standalone%20HTML%20file.html'>single HTML file in the browser</a> or as a powerful <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/Node.js.html'>Node.js application</a>.</p><divclass='tw-message-box'><p><aclass='tw-message-icon'href='http://tiddlywiki.com/'target='_blank'><imgsrc='data:image/png;base64,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
The deep internal improvements mean that <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a> is not fully compatible with older versions. Existing content will need massaging, while plugins and themes will have to be completely rewritten. The upgrade path will get smoother as <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a> matures.</p><p>The original <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki.html'>TiddlyWiki</a> Classic is still available at <aclass='tw-tiddlylink-external'href='http://tiddlywiki.com/'target='_blank'>http://tiddlywiki.com/</a>.
</p></div><p>This is <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a> version <strong>5.0.0-alpha.16-prerelease</strong> (see the detailed <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/ReleaseHistory.html'>ReleaseHistory</a> and the <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/RoadMap.html'>RoadMap</a> for getting to the full release). It is a great time to get involved and support the future development of <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a>. <em><aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki.html'>TiddlyWiki</a> is a free, open source project that depends on <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/HelpingTiddlyWiki.html'>your love and support</a> for its survival</em>.
</p><h1class=''>Getting started with <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki.html'>TiddlyWiki</a> under Node.js</h1><p><aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a> can be used on the command line to perform an extensive set of operations based on tiddlers, <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWikiFolders.html'>TiddlyWikiFolders</a>, <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlerFiles.html'>TiddlerFiles</a> and <aclass=' tw-tiddlylink tw-tiddlylink-missing'href='http://five.tiddlywiki.com/static/TiddlyWikiFiles.html'>TiddlyWikiFiles</a>. For example, the following command loads the tiddlers from a <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki.html'>TiddlyWiki</a> HTML file and then saves one of them in HTML:</p><pre>node tiddlywiki.js --verbose --load mywiki.html --rendertiddler ReadMe ./readme.html</pre><p>In order to use <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a> on the command line you must first install node.js from <aclass='tw-tiddlylink-external'href='http://nodejs.org/'target='_blank'>http://nodejs.org/</a></p><h2class=''>Usage</h2><p>Running <code>tiddlywiki.js</code> from the command line boots the <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki.html'>TiddlyWiki</a> kernel, loads the core plugins and establishes an empty wiki store. It then sequentially processes the command line arguments from left to right. The arguments are separated with spaces.</p><p>The first argument is the optional path to the <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWikiFolders.html'>TiddlyWikiFolder</a> to be loaded. If not present, then the current directory is used.</p><p>The commands and their individual arguments follow, each command being identified by the prefix <code>--</code>.</p><pre>node tiddlywiki.js [<wikipath>] [--<command> [<arg>[,<arg>]]]</pre><h2class=''>Script Files</h2><p>For trying <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a> out under Node.js, several scripts are provided (.sh for *nix and .cmd for Windows):</p><h3class=''><code>bld</code>: builds tw5.com</h3><p>This script builds several variants of <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a> for deployment on tiddlywiki.com.</p><p>By default, files are output to a folder called <code>jermolene.github.com</code>, sibling to the <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a> source directory. For example:</p><pre>/TiddlyWork/ - Directory for working with TiddlyWiki5
/jermolene.github.com/ - Directory for output files</pre><p>You can override the build output directory by defining the environment variable <code>TW5_BUILD_OUTPUT</code>. The easiest way to do this is to create a personal batch file to invoke <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a> that first sets the environment variable and then invokes <code>bld</code>.</p><p>The files output by <code>bld</code> are:</p><ul><li><code>readme.md</code> main readme file, output to the <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a> directory</li><li><code>index.html</code><aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a> standalone HTML file with content from the <code>tw5.com</code> edition</li><li><code>empty.html</code><aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a> standalone HTML file with no content</li><li><code>encrypted.html</code><aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a> standalone HTML file encrypted with the password <code>password</code></li><li><code>test.html</code><aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a> browser-based test suite (see <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TestingMechanism.html'>TestingMechanism</a>)</li><li><code>static.html</code> static HTML version of the <aclass=' tw-tiddlylink tw-tiddlylink-missing'href='http://five.tiddlywiki.com/static/DefaultTiddlers.html'>DefaultTiddlers</a> of the <code>tw5.com</code> edition</li><li><code>static/*.html</code> and <code>static/static.css</code> static HTML versions of individual tiddlers</li></ul><p><code>bld</code> also runs the <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a> Node.js-based test suite (see <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TestingMechanism.html'>TestingMechanism</a>)</p><h3class=''><code>serve.sh <username></code> or <code>serve.cmd <username></code>: serves tw5.com</h3><p>This script starts <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a> running as an HTTP server with the content from the <code>clientserver</code> edition. By default, the Node.js serves on port 8080. If the optional <code>username</code> parameter is provided, it is used for signing edits.</p><p>To experiment with this configuration, run the script and then visit <code>http://0.0.0.0:8080</code> in a browser.</p><p>Changes made in the browser propagate to the server over HTTP (use the browser developer console to see these requests). The server then syncs changes to the file system (and logs each change to the screen).</p><h3class=''><code>wbld</code>: builds <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a> for <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWeb.html'>TiddlyWeb</a></h3><p>This script builds and deploys the code for <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki5%20in%20the%20Sky%20for%20TiddlyWeb.html'>TiddlyWiki5 in the Sky for TiddlyWeb</a>. If you want to experiment with your own builds of <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWiki5.html'>TiddlyWiki5</a> for <aclass=' tw-tiddlylink tw-tiddlylink-resolves'href='http://five.tiddlywiki.com/static/TiddlyWeb.html'>TiddlyWeb</a> you could use this batch file as a base.</p><h3class=''><code>2bld</code>: builds <aclass='tw-tiddlylinktw-tiddlylink-reso