diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..6cd088841 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,5 @@ +language: node_js +install: + - npm install tiddlywiki +script: + - ./bin/build-release.sh diff --git a/bin/build-release.sh b/bin/build-release.sh new file mode 100755 index 000000000..2a2e8bb71 --- /dev/null +++ b/bin/build-release.sh @@ -0,0 +1,386 @@ +#!/bin/bash + +# Build all tiddlywiki.com assets + +# Default to the current version number for building the plugin library + +if [ -z "$TW5_BUILD_VERSION" ]; then + TW5_BUILD_VERSION=v5.1.19 +fi + +# Default to using tw5.com as the main edition for /index.html + +if [ -z "$TW5_BUILD_MAIN_EDITION" ]; then + TW5_BUILD_MAIN_EDITION=./editions/tw5.com +fi + +# Default to the version of TiddlyWiki installed in this repo + +if [ -z "$TW5_BUILD_TIDDLYWIKI" ]; then + TW5_BUILD_TIDDLYWIKI=./tiddlywiki.js +fi + +# Set up the build output directory + +if [ -z "$TW5_BUILD_OUTPUT" ]; then + TW5_BUILD_OUTPUT=./output +fi + +mkdir -p $TW5_BUILD_OUTPUT + +if [ ! -d "$TW5_BUILD_OUTPUT" ]; then + echo 'A valid TW5_BUILD_OUTPUT environment variable must be set' + exit 1 +fi + +echo "Using TW5_BUILD_OUTPUT as [$TW5_BUILD_OUTPUT]" + +# Make the CNAME file that GitHub Pages requires + +echo "tiddlywiki.com" > $TW5_BUILD_OUTPUT/CNAME + +# Delete any existing static content + +mkdir -p $TW5_BUILD_OUTPUT/static +mkdir -p $TW5_BUILD_OUTPUT/dev +mkdir -p $TW5_BUILD_OUTPUT/dev/static +rm $TW5_BUILD_OUTPUT/static/* +rm $TW5_BUILD_OUTPUT/dev/static/* + +# Redirects + +echo "Moved to http://tiddlywiki.com/plugins/tiddlywiki/tw2parser/index.html" > $TW5_BUILD_OUTPUT/classicparserdemo.html +echo "Moved to http://tiddlywiki.com/plugins/tiddlywiki/codemirror/index.html" > $TW5_BUILD_OUTPUT/codemirrordemo.html +echo "Moved to http://tiddlywiki.com/plugins/tiddlywiki/d3/index.html" > $TW5_BUILD_OUTPUT/d3demo.html +echo "Moved to http://tiddlywiki.com/plugins/tiddlywiki/highlight/index.html" > $TW5_BUILD_OUTPUT/highlightdemo.html +echo "Moved to http://tiddlywiki.com/plugins/tiddlywiki/markdown/index.html" > $TW5_BUILD_OUTPUT/markdowndemo.html +echo "Moved to http://tiddlywiki.com/plugins/tiddlywiki/tahoelafs/index.html" > $TW5_BUILD_OUTPUT/tahoelafs.html + +###################################################### +# +# Tests +# +###################################################### + +# /test.html Wiki for running tests in browser +# Also runs the serverside tests +node $TW5_BUILD_TIDDLYWIKI \ + ../TiddlyWiki5/editions/test \ + --verbose \ + --output $TW5_BUILD_OUTPUT \ + --rendertiddler $:/core/save/all test.html text/plain \ + || exit 1 + +# ###################################################### +# # +# # Core distribution +# # +# ###################################################### + +# # /index.html Main site +# # /favicon.ico Favicon for main site +# # /static.html Static rendering of default tiddlers +# # /alltiddlers.html Static rendering of all tiddlers +# # /static/* Static single tiddlers +# # /static/static.css Static stylesheet +# # /static/favicon.ico Favicon for static pages +# node $TW5_BUILD_TIDDLYWIKI \ +# $TW5_BUILD_MAIN_EDITION \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT \ +# --build favicon static index \ +# || exit 1 + +# # /empty.html Empty +# # /empty.hta For Internet Explorer +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/empty \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT \ +# --build empty \ +# || exit 1 + +# # /dev/index.html Developer docs +# # /dev/favicon.ico Favicon for dev site +# # /dev/static.html Static rendering of default tiddlers +# # /dev/alltiddlers.html Static rendering of all tiddlers +# # /dev/static/* Static single tiddlers +# # /dev/static/static.css Static stylesheet +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/dev \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT/dev \ +# --build index favicon static \ +# || exit 1 + +# # /upgrade.html Custom edition for performing upgrades +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/upgrade \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT \ +# --build upgrade \ +# || exit 1 + +# # /encrypted.html Copy of the main file encrypted with the password "password" +# node $TW5_BUILD_TIDDLYWIKI \ +# $TW5_BUILD_MAIN_EDITION \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT \ +# --build encrypted \ +# || exit 1 + + +# ###################################################### +# # +# # Editions +# # +# ###################################################### + +# # /editions/xlsx-utils/index.html xlsx-utils edition +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/xlsx-utils \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT/editions/xlsx-utils/ \ +# --build index \ +# || exit 1 + +# # /editions/resumebuilder/index.html Resume builder edition +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/resumebuilder \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT/editions/resumebuilder/ \ +# --build index \ +# || exit 1 + +# # /editions/text-slicer/index.html Text slicer edition +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/text-slicer \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT/editions/text-slicer/ \ +# --build index \ +# || exit 1 + +# # /editions/translators/index.html Translators edition +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/translators \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT/editions/translators/ \ +# --build index \ +# || exit 1 + +# # /editions/introduction/index.html Introduction edition +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/introduction \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT/editions/introduction/ \ +# --build index \ +# || exit 1 + +# # /editions/full/index.html Full edition +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/full \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT/editions/full/ \ +# --build index \ +# || exit 1 + +# # /editions/tw5.com-docs/index.html tiddlywiki.com docs edition +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/tw5.com-docs \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT/editions/tw5.com-docs/ \ +# --build index \ +# || exit 1 + +# ###################################################### +# # +# # Plugin demos +# # +# ###################################################### + +# # /plugins/tiddlywiki/dynaview/index.html Demo wiki with DynaView plugin +# # /plugins/tiddlywiki/dynaview/empty.html Empty wiki with DynaView plugin + +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/dynaviewdemo \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT \ +# --rendertiddler $:/core/save/all plugins/tiddlywiki/dynaview/index.html text/plain \ +# --rendertiddler $:/core/save/empty plugins/tiddlywiki/dynaview/empty.html text/plain \ +# || exit 1 + +# # /plugins/tiddlywiki/katex/index.html Demo wiki with KaTeX plugin +# # /plugins/tiddlywiki/katex/empty.html Empty wiki with KaTeX plugin + +# # TODO: Build the static file with the release of 5.1.3 +# # --rendertiddler $:/core/templates/static.template.html plugins/tiddlywiki/katex/static.html text/plain \ + +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/katexdemo \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT \ +# --rendertiddler $:/core/save/all plugins/tiddlywiki/katex/index.html text/plain \ +# --rendertiddler $:/core/save/empty plugins/tiddlywiki/katex/empty.html text/plain \ +# || exit 1 + +# # /plugins/tiddlywiki/tahoelafs/index.html Demo wiki with Tahoe-LAFS plugin +# # /plugins/tiddlywiki/tahoelafs/empty.html Empty wiki with Tahoe-LAFS plugin +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/tahoelafs \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT \ +# --rendertiddler $:/core/save/all plugins/tiddlywiki/tahoelafs/index.html text/plain \ +# --rendertiddler $:/core/save/empty plugins/tiddlywiki/tahoelafs/empty.html text/plain \ +# || exit 1 + +# # /plugins/tiddlywiki/d3/index.html Demo wiki with D3 plugin +# # /plugins/tiddlywiki/d3/empty.html Empty wiki with D3 plugin +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/d3demo \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT \ +# --rendertiddler $:/core/save/all plugins/tiddlywiki/d3/index.html text/plain \ +# --rendertiddler $:/core/save/empty plugins/tiddlywiki/d3/empty.html text/plain \ +# || exit 1 + +# # /plugins/tiddlywiki/codemirror/index.html Demo wiki with codemirror plugin +# # /plugins/tiddlywiki/codemirror/empty.html Empty wiki with codemirror plugin +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/codemirrordemo \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT \ +# --rendertiddler $:/core/save/all plugins/tiddlywiki/codemirror/index.html text/plain \ +# --rendertiddler $:/core/save/empty plugins/tiddlywiki/codemirror/empty.html text/plain \ +# || exit 1 + +# # /plugins/tiddlywiki/markdown/index.html Demo wiki with Markdown plugin +# # /plugins/tiddlywiki/markdown/empty.html Empty wiki with Markdown plugin +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/markdowndemo \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT \ +# --rendertiddler $:/core/save/all plugins/tiddlywiki/markdown/index.html text/plain \ +# --rendertiddler $:/core/save/empty plugins/tiddlywiki/markdown/empty.html text/plain \ +# || exit 1 + +# # /plugins/tiddlywiki/tw2parser/index.html Demo wiki with tw2parser plugin +# # /plugins/tiddlywiki/tw2parser/empty.html Empty wiki with tw2parser plugin +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/classicparserdemo \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT \ +# --rendertiddler $:/core/save/all plugins/tiddlywiki/tw2parser/index.html text/plain \ +# --rendertiddler $:/core/save/empty plugins/tiddlywiki/tw2parser/empty.html text/plain \ +# || exit 1 + +# # /plugins/tiddlywiki/highlight/index.html Demo wiki with highlight plugin +# # /plugins/tiddlywiki/highlight/empty.html Empty wiki with highlight plugin +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/highlightdemo \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT \ +# --rendertiddler $:/core/save/all plugins/tiddlywiki/highlight/index.html text/plain \ +# --rendertiddler $:/core/save/empty plugins/tiddlywiki/highlight/empty.html text/plain \ +# || exit 1 + +# ###################################################### +# # +# # Language editions +# # +# ###################################################### + +# # Delete any existing static content + +# rm $TW5_BUILD_OUTPUT/languages/de-AT/static/* +# rm $TW5_BUILD_OUTPUT/languages/de-DE/static/* +# rm $TW5_BUILD_OUTPUT/languages/es-ES/static/* +# rm $TW5_BUILD_OUTPUT/languages/fr-FR/static/* +# rm $TW5_BUILD_OUTPUT/languages/ja-JP/static/* +# rm $TW5_BUILD_OUTPUT/languages/ko-KR/static/* +# rm $TW5_BUILD_OUTPUT/languages/zh-Hans/static/* +# rm $TW5_BUILD_OUTPUT/languages/zh-Hant/static/* + +# # /languages/de-AT/index.html Demo wiki with de-AT language +# # /languages/de-AT/empty.html Empty wiki with de-AT language +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/de-AT \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT/languages/de-AT \ +# --build favicon empty static index \ +# || exit 1 + +# # /languages/de-DE/index.html Demo wiki with de-DE language +# # /languages/de-DE/empty.html Empty wiki with de-DE language +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/de-DE \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT/languages/de-DE \ +# --build favicon empty static index \ +# || exit 1 + +# # /languages/es-ES/index.html Demo wiki with es-ES language +# # /languages/es-ES/empty.html Empty wiki with es-ES language +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/es-ES \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT/languages/es-ES \ +# --build favicon empty static index \ +# || exit 1 + +# # /languages/fr-FR/index.html Demo wiki with fr-FR language +# # /languages/fr-FR/empty.html Empty wiki with fr-FR language +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/fr-FR \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT/languages/fr-FR \ +# --build favicon empty static index \ +# || exit 1 + +# # /languages/ja-JP/index.html Demo wiki with ja-JP language +# # /languages/ja-JP/empty.html Empty wiki with ja-JP language +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/ja-JP \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT/languages/ja-JP \ +# --build empty index \ +# || exit 1 + +# # /languages/ko-KR/index.html Demo wiki with ko-KR language +# # /languages/ko-KR/empty.html Empty wiki with ko-KR language +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/ko-KR \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT/languages/ko-KR \ +# --build favicon empty static index \ +# || exit 1 + +# # /languages/zh-Hans/index.html Demo wiki with zh-Hans language +# # /languages/zh-Hans/empty.html Empty wiki with zh-Hans language +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/zh-Hans \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT/languages/zh-Hans \ +# --build empty index \ +# || exit 1 + +# # /languages/zh-Hant/index.html Demo wiki with zh-Hant language +# # /languages/zh-Hant/empty.html Empty wiki with zh-Hant language +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/zh-Hant \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT/languages/zh-Hant \ +# --build empty index \ +# || exit 1 + +# ###################################################### +# # +# # Plugin library +# # +# ###################################################### + +# node $TW5_BUILD_TIDDLYWIKI \ +# ../TiddlyWiki5/editions/pluginlibrary \ +# --verbose \ +# --output $TW5_BUILD_OUTPUT/library/$TW5_BUILD_VERSION \ +# --build \ +# || exit 1