The Pion Language V1

The simple things

The first goal of this project – the goal of defining a nonlinear, self-directed story – can be accomplished with a modified version of Markdown, combined with an engine that interprets the result. These are the Pion language and engine.

The modified Markdown

Quite simply, it just needs to link to named sections. This might already exist in Markdown, to be completely honest I haven’t looked into all the current Markdown standards to see if that can be done now, with existing tools. But of course, this must tie into the engine.

The engine that runs it

The engine itself has to interpret the markup generated by the modified Markdown, and tell the story. So, if we’re simply linking to different HTML sections…will anchor links work? As in pion.example.com/the-haunted-house#finding-the-killer?

This could potentially work, if we have a way to capture the transitions between anchor link routes. I believe this technology has to exist, given the simple fact that Backbone.js and those other early SPA frameworks relied on “hash routing”, routing based on the hash part of the route (early users of Twitter may recall being referred to by their twitter.com/#/username link).

So, at this point, what do we have? We have a language that is a non-language, a simple usage of Markdown that links to different hashes. The engine, that’s more complicated. That’s more about handling the markup or the transitions between link clicks…

So from here, I need to:

  1. Find an agreeable Markdown implementation in Javascript (shouldn’t be an issue)
  2. Write a story in Markdown, using anchor links to transition from section to section
  3. Translate the Markdown into HTML using either a simple script on the page or some larger framework, depending on step 1
  4. Handle transitions from section to section, i.e. handle anchor link clicks