Skip to content

QuestmarkDialogue trees and hypertext fiction in Markdown

A language, compiler, interpreter, and TypeScript library for conversation trees and interactive fiction β€” built on the Markdown everyone already knows.

Documentation ​

Questmark's docs follow the DiΓ‘taxis framework, which splits documentation into four complementary modes of use:

ModeAudiencePurposeStart here
TutorialsLearnersLearning-oriented lessons that take you by the handYour first conversation
How-to guidesDoersGoal-oriented steps for solving real problemsPlay a document
ReferenceEveryoneInformation-oriented descriptions of the machineryLanguage reference
ExplanationEveryoneUnderstanding-oriented background and contextWhy Questmark?

Quick orientation ​

  • New to Questmark? Start with the tutorial. It takes about ten minutes and gets you writing and playing your first conversation.
  • Trying to get something done? The how-to guides show you how to play a document, compile one to bytecode, and embed Questmark in your own app.
  • Need a fact? The reference pages describe the language, the CLI, and the library API precisely and completely.
  • Want to understand the design? The explanation pages cover why Questmark exists and how it works under the hood.
  • Tzo β€” the stack-machine bytecode and VM that Questmark compiles to.
  • questmark-webrenderer β€” render and play Questmark documents in the browser.

Questmark β€” released under the MIT license.