created: 20131219100637788
modified: 20140917190022854
tags: [[TiddlyWiki on Node.js]]
title: Scripts for TiddlyWiki on Node.js
type: text/vnd.tiddlywiki

! Script Files

The TiddlyWiki5 repository contains several scripts in the `bin` folder that are used to build and deploy TiddlyWiki (`.sh` for *nix and `.cmd` for Windows). They can serve as a useful starting point for your own scripts.

All the scripts expect to be run from the root folder of the repository.

!! `fullbld`: builds tw5.com

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 repo 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 `fullbld`.

`fullbld` also runs the TiddlyWiki5 Node.js-based test suite (see TestingMechanism)

!! `serve`: serves tw5.com

```
./bin/serve.sh -h
./bin/serve.sh [edition dir] [username] [password] [host] [port]
```

Or:

```
./bin/serve.cmd -h
./bin/serve.cmd [edition dir] [username] [password] [host] [port]
```

This script starts TiddlyWiki5 running as an HTTP server, defaulting to the content from the `tw5.com-server` edition. By default, the Node.js serves on port 8080. If the optional `username` parameter is provided, it is used for signing edits. If the `password` is provided then HTTP basic authentication is used.

To experiment with this configuration, run the script and then visit `http://127.0.0.1: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).

!! `test`: build and run tests

This script runs the `test` edition of TiddlyWiki on the server to perform the server-side tests and to build `test.html` for running the tests in the browser.

!! `lazy`: serves tw5.com with lazily loaded images

```
./bin/lazy.sh <username> [<password>]
```

Or:

```
./bin/lazy.cmd <username> [<password>]
```

This script serves the `tw5.com-server` edition content with LazyLoading applied to images.

!! `wbld`: builds TiddlyWiki for TiddlyWeb

This script builds and deploys the code for [[TiddlyWiki 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).

!! `deploy` & `verbump`: deploy TiddlyWiki and bump the TiddlyWiki version number

These scripts are concerned with releasing a new version of TiddlyWiki. See [[Releasing a new version of TiddlyWiki5]].

<!-- TODO: Update docs in line with latest version of serve.sh/serve.cmd -->
