Welcome to TiddlyWiki5
Welcome to TiddlyWiki5, a reboot of TiddlyWiki, the non-linear personal web notebook first released in 2004. It is a complete interactive wiki in JavaScript that can be run from a single HTML file in the browser or as a powerful Node.js application.
This is TiddlyWiki5 version 5.0.0-alpha.16-prerelease. It is drawing to the end of the alpha phase, meaning it is almost ready for everyday use. It is a great time to get involved and support its future development:
- Explore its features online at http://five.tiddlywiki.com/
- Join the discussions on the TiddlyWikiDev Google Group
- Get involved in the development on GitHub
- Follow @TiddlyWiki on Twitter for the latest news
TiddlyWiki is a free, open source project that depends on your love and support for its survival
Getting started with TiddlyWiki under Node.js
TiddlyWiki5 can be used on the command line to perform an extensive set of operations based on tiddlers, TiddlyWikiFolders, TiddlerFiles and TiddlyWikiFiles. For example, the following command loads the tiddlers from a TiddlyWiki HTML file and then saves one of them in HTML:
node tiddlywiki.js --verbose --load mywiki.html --rendertiddler ReadMe ./readme.html
In order to use TiddlyWiki5 on the command line you must first install node.js from http://nodejs.org/
Running tiddlywiki.js
from the command line boots the TiddlyWiki 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.
The first argument is the optional path to the TiddlyWikiFolder to be loaded. If not present, then the current directory is used.
The commands and their individual arguments follow, each command being identified by the prefix --
.
node tiddlywiki.js [<wikipath>] [--<command> [<arg>[,<arg>]]]
For trying TiddlyWiki5 out under Node.js, several scripts are provided (.sh for *nix and .cmd for Windows):
This script builds several variants of TiddlyWiki5 for deployment on tiddlywiki.com.
By default, files are output to a folder called jermolene.github.com
, sibling to the TiddlyWiki5 source directory. For example:
/TiddlyWork/ - Directory for working with TiddlyWiki5 /TiddlyWiki5/ - Directory containing the TiddlyWiki5 repo from GitHub /jermolene.github.com/ - Directory for output files
You can override the build output directory by defining the environment variable TW5_BUILD_OUTPUT
. The easiest way to do this is to create a personal batch file to invoke TiddlyWiki5 that first sets the environment variable and then invokes bld
.
The files output by bld
are:
readme.md
main readme file, output to the TiddlyWiki5 directoryindex.html
TiddlyWiki5 standalone HTML file with content from thetw5.com
editionempty.html
TiddlyWiki5 standalone HTML file with no contentencrypted.html
TiddlyWiki5 standalone HTML file encrypted with the passwordpassword
test.html
TiddlyWiki5 browser-based test suite (see TestingMechanism)static.html
static HTML version of the DefaultTiddlers of thetw5.com
editionstatic/*.html
andstatic/static.css
static HTML versions of individual tiddlers
bld
also runs the TiddlyWiki5 Node.js-based test suite (see TestingMechanism)
This script starts TiddlyWiki5 running as an HTTP server with the content from the clientserver
edition. By default, the Node.js serves on port 8080. If the optional username
parameter is provided, it is used for signing edits.
To experiment with this configuration, run the script and then visit http://0.0.0.0:8080
in a browser.
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).
wbld
: builds TiddlyWiki5 for TiddlyWeb
This script builds and deploys the code for TiddlyWiki5 in the Sky for TiddlyWeb. If you want to experiment with your own builds of TiddlyWiki5 for TiddlyWeb you could use this batch file as a base.
2bld
: builds TiddlyWiki 2.6.5
This script builds TiddlyWiki 2.6.5 from the original source and then displays the differences between them (diff
is used for *nix, fc
for Windows).
The following commands are available:
Load tiddlers from 2.x.x TiddlyWiki files (.html
), .tiddler
, .tid
, .json
or other files
--load <filepath>
Set a password for subsequent crypto operations
--password <password>
The print
command outputs specified information.
Output the titles of the tiddlers in the wiki store
--print tiddlers
Print the fields of an individual tiddler
--print tiddler <title>
Print the titles of the system tiddlers in the wiki store
--print system
Print the current core configuration
--print config
Render an individual tiddler as a specified ContentType, defaults to text/html
and save it to the specified filename
--rendertiddler <title> <filename> [<type>]
Render a set of tiddlers matching a filter to separate files of a specified ContentType (defaults to text/html
) and extension (defaults to .html
).
--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>]
For example:
--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plain
The server built in to TiddlyWiki5 is very simple. Although compatible with TiddlyWeb it doesn't support many of the features needed for robust Internet-facing usage - in particular, TiddlyWiki5 is an old-school wiki in the sense that it offers no authentication.
At the root, it serves a rendering of a specified tiddler. Away from the root, it serves individual tiddlers encoded in JSON, and supports the basic HTTP operations for GET
, PUT
and DELETE
.
--server <port> <roottiddler> <rendertype> <servetype> <username>
The parameters are:
- port - port number to serve from (defaults to "8080")
- roottiddler - the tiddler to serve at the root (defaults to "$:/core/tiddlywiki5.template.html")
- rendertype - the content type to which the root tiddler should be rendered (defaults to "text/plain")
- servetype - the content type with which the root tiddler should be served (defaults to "text/html")
- username - the default username for signing edits
For example:
--server 8080 $:/core/tiddlywiki5.template.html text/plain text/html MyUserName
Triggers verbose output, useful for debugging
--verbose
Displays the version number of TiddlyWiki.
--version
This readme file was automatically generated by TiddlyWiki5