Various JS APIs.
Import/Export API
Save or load arbitrary data as files.
Import/Export API
A selection of HTML custom elements, usable in any story format.
The Cycle element
An element which automatically cycles between its children.
Cycle element
The Pip Bar
Customizable stat bars, meant for ASCII displays.
Pip Bar
The Ring Menu
An element which orders its children into a ring.
Ring menu
Format-agnostic scripts for Twine games.
Media tester
A script to test asset availability in Twine games.
Media tester
Special passage tags
Enable script
and style
passages in Twine 2.
Special tags
URL fixer
Properly localize URLs when using Twine's Play/Test
feature to launch the game.
URL fixer
Scripts written for the Harlowe story format.
Keyboard navigation
Automatically binds shortcuts to interactive elements, enabling keyboard-only navigation.
Keyboard navigation
Link sound
Define a sound effect for every link in a story.
Link sound
Scripts written for the Sugarcube story format that aren't macros.
Container templates
A variation on Sugarcube templates that supports user-supplied contents: ?(templateName: ...contents...)
.
Container templates
Type macro skip for mobile
A way to skip the <<type>>
animation on mobile devices.
Type skip
Swap markup
An easy way to output random content with minimal markup: (a|b|c|d)
.
Swap markup
Update markup
Print a variable and automatically update the displayed value when it changes using {{$myVariable}}
.
Update markup