TiddlyWiki5/editions/dev/tiddlers/build/Scripts for building tiddly...

95 lines
3.3 KiB
Plaintext

title: Scripts for building tiddlywiki.com
These scripts are used to build and release the content for tiddlywiki.com. They are not designed for general purpose use -- they resolve problems that are specific to the task of building tiddlywiki.com: pushing to GitHub Pages, handling the prerelease builds and bumping version numbers.
Nonetheless, you may find techniques that are useful for your own scripts.
! Hosting
http://tiddlywiki.com is served by [[GitHub Pages|https://pages.github.com]] from the repository https://github.com/Jermolene/jermolene.github.io
The scripts live in the repository https://github.com/Jermolene/build.jermolene.github.io
! Directory structure
These scripts require the following directories to be siblings:
* `build.jermolene.github.io` - a local copy of https://github.com/Jermolene/build.jermolene.github.io
* `jermolene.github.io` - a local copy of the repo https://github.com/Jermolene/jermolene.github.io
* `TiddlyWiki5` - a local copy of the repo https://github.com/Jermolene/TiddlyWiki5
The scripts are designed to be executed with the current directory being the `TiddlyWiki5` directory.
! Configuration
!! package.json
The `package.json` in the root of the `build.jermolene.github.io` repository contains a dependency declaration that specifies the latest official released version of TiddlyWiki to be used when building the release targets:
```
"dependencies": {
"tiddlywiki": "5.1.2"
}
```
!! Environment variables
Some of the scripts use the following environment variables:
* ''TW5_BUILD_MAIN_EDITION'' - the path to the wiki folder to be used as the main edition, generating `index.html` and `encrypted.html`
* ''TW5_BUILD_OUTPUT'' - the path to the output folder (defaults to `../jermolene.github.io`)
* ''TW5_BUILD_TIDDLYWIKI'' - the pathname of the `tiddlywiki.js` to be used (defaults to `../build.jermolene.github.io/node_modules/tiddlywiki/tiddlywiki.js`)
! Scripts
!! `bld.sh`
Builds the `tiddlywiki.com` target files. By default, it uses the version of tiddlywiki specified in the `package.json` file. This can be overridden with the ''TW5_BUILD_TIDDLYWIKI'' environment variable. The following command would select the latest prerelease version of tiddlywiki from the `TiddlyWiki5` directory:
```
TW5_BUILD_TIDDLYWIKI=./tiddlywiki.js
```
!! `readme-bld.sh`
Builds the readme files for the `TiddlyWiki5` and `build.jermolene.github.io` repos using the released version of TiddlyWiki specified in `package.json`.
!! `prerelease-bld.sh`
Builds the `tiddlywiki.com/prerelease` target files using the latest TiddlyWiki prerelease code and special ''prerelease'' edition for the content.
!! `github-push.sh`
Pushes the latest changes to the `jermolene.github.io` directory to GitHub.
!! `dev-bld.sh`
Builds the ''dev'' prerelease edition.
!! `quick-bld.sh`
Builds the ''prerelease'' prerelease edition.
!! `tiddlyspace-upload.sh`
Builds the ''tw5tiddlyweb'' edition and uploads it to TiddlySpace.
!! `verbump.sh`
Bumps the version number of the `package.json` in the `TiddlyWiki5` repo and applies the correct version tag to the repo.
!! `npm-publish.sh`
Publishes the `TiddlyWiki5` repo to npm.
! Procedures
!! Releasing a new version of TiddlyWiki
{{Releasing a new version of TiddlyWiki}}
!! Releasing new content for TiddlyWiki
{{Releasing new content for TiddlyWiki}}