Skip to main content
  1. All Posts/

twinejs

Tools TypeScript

twinejs

by Chris Klimas, Leon Arnott, Daithi O Crualaoich, Ingrid Cheung, Thomas Michael
Edwards, Micah Fitch, Juhana Leinonen, Michael Savich, and Ross Smith

SYNOPSIS

This is a port of Twine to a browser and Electron app. See
twinery.org for more info.
The story formats in minified format under story-formats/ exist in separate
repositories:

  • Harlowe
  • Paperthin
  • Snowman
  • SugarCube

INSTALL

Run npm install at the top level of the directory to install all goodies.
Working with the documentation requires installing
mdbook, which is not a Node-based
project. You can either install it directly from the project web site or use
your operating system’s package manager.

BUILDING

Run npm start to begin serving a development version of Twine locally. This
server will automatically update with changes you make.
Run npm run start:electron to run a development version of the Electron app.
Running this can damage files in your Twine storied folder. Take a backup copy
of this folder before proceeding.
Most of the app will automatically update as
you work, but if you want the app to read story files initially again, you will
need to restart the process.
To create a release, run npm run build. Finished files will be found under
dist/. In order to build Windows apps on OS X or Linux, you will need to have
Wine and makensis
installed. A file named 2.json is created under dist/ which contains
information relevant to the autoupdater process, and is currently posted to
https://twinery.org/latestversion/2.json.
npm test will test the source code respectively.
npm run clean will delete existing files in electron-build/ and dist/.