Snowman is a minimal Twine 1.4 story format designed for people who already know JavaScript and CSS. It's designed to implement basic functionality for playing Twine stories and then get out of your way, so you can extend it however you like.

Snowman includes jQuery and Underscore for you.

Big Changes From The Norm

Snowman uses Markdown formatting in its passage syntax. Instead of invoking macros with <<double angle brackets>>, it uses ERB-style <% %> delimiters. Anything inside a <% %> pair is treated as JavaScript that is evaluted as-is when a passage is displayed. See passage.write() for how code can dynamically set passage contents.

As a shortcut, you can write <%= expression %> to have a particular expression interpolated into the passage, e.g. The answer to the question is <%= 2 + 2 %>.

n.b. Although this syntax looks like Underscore templating, it is not.

By default, clicking a passage link does not add an entry to the reader's browser history. See story.checkpoint() for how to do this.

To Install This

Grab the latest from the Downloads tab of this repository, then extract it into the "targets" folder of your Twine install. After restarting Twine, it should show up in the list of story formats under the Story menu.

API docs (e.g. how to extend the built-in functionality) are also available under the Downloads tab.

Building From Source

Run npm install to install dependencies. grunt will create a testing version of the format as index.html, grunt doc will build API documentation under doc/, and grunt release will build a release version ready to be used in Twine under dist/.