2.3.6 • Published 5 months ago

story-parser v2.3.6

Weekly downloads
2
License
MIT
Repository
-
Last release
5 months ago

story-parser

A parser for choose your own adventure stories with optional combat system

Story Parser uses parser combinators to turn a simple text format into a JavaScript object.

Example Story

The main parser expects a series of numbered pages with options that each point to the number of another page. The dashes that separate the pages are optional. Pages that end the story must be terminated with the END keyword.

Input text:

PAGE 0
"You are in a room, there is a door to the left and a door to the right.
It is a dark room."
OPTION 1
"Take the door on the left"
OPTION 2
"Take the door on the right"
OPTION 3
"Take the door at the end of the hall"
--------------------------------------
PAGE 3
"The hall ends in lava, you die!"
END
--------------------------------------
PAGE 1
"You are in an empty room."
OPTION 0
"Go back"
--------------------------------------
PAGE 2
"You are in a bright green field, you made it!"
END

Output JS:

{
  "type":"SIMPLE",
  "pages":[
    {
      "id":0,
      "text":"You are in a room, there is a door to the left and a door to the right.\nIt is a dark room.",
      "options":[
        {"target":1,"text":"Take the door on the left"},
        {"target":2,"text":"Take the door on the right"},
        {"target":3,"text":"Take the door at the end of the hall"}]
    },
    {
      "id":3,
      "text":"The hall ends in lava, you die!",
      "options":"END"
    },
    {
      "id":1,
      "text":"You are in an empty room.",
      "options":[
        {"target":0,"text":"Go back"}
        ]
    },
    {
      "id":2,
      "text":"You are in a bright green field, you made it!",
      "options":"END"
    }
  ]
}
2.3.6

5 months ago

2.3.2

7 months ago

2.3.1

7 months ago

2.3.4

7 months ago

2.3.3

7 months ago

2.3.5

7 months ago

2.3.0

8 months ago

2.2.9

8 months ago

2.2.8

2 years ago

2.2.7

3 years ago

2.2.6

4 years ago

2.2.5

4 years ago

2.2.4

4 years ago

2.2.3

4 years ago

2.2.2

4 years ago

2.1.2

5 years ago

2.1.1

5 years ago

2.1.0

5 years ago

2.0.5

5 years ago

2.0.4

5 years ago

2.0.3

5 years ago

2.0.2

5 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.1.2

6 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.12

7 years ago

1.0.11

7 years ago

1.0.10

7 years ago

1.0.9

7 years ago

1.0.8

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago