0.2.0 • Published 1 year ago

tpmlang v0.2.0

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

tpml

🎭 Theater Play Markup Language

What is it?

tpml is a markup language for theater plays. It is designed to be easy to read and write, and to be easy to parse.

Why?

In school, we're currently writing a play. At first, we had various files in all different kinds of formats and layouts. Pages files, Word files, PDFs, Text Documents, etc. I was tasked with combining these into a single file, and I decided to write a parser for a markup language.

Should I use this for my play?

Probably not. This is a project I made for fun, and it's not really meant to be used for anything serious. It's also not very feature-rich or battle-tested.

How does the markup language work?

The markup language is very simple. A .tpml file consists of one "feature" per line. A feature can be a line of dialogue, a stage direction, a scene heading or similiar.

Features

Line of dialogue

A line of dialogue is a line of text that is spoken by a character. It is written as follows:

<CHARACTER> This is dialogue.

Stage direction

A stage direction is a line of text that describes what is happening on stage. It is written as follows:

This is a stage direction

Scene heading

A scene heading is a line of text that describes the scene. It is written as follows:

! SCENE HEADING

Seperator

The seperator is a page break (but can be styled to be just a line) that is used to seperate scenes. It is written as follows:

---

Subfeatures

⚠️ Note: Subfeatures are not yet implemented.

Subfeatures are features that are part of another feature. They are written as follows:

Comment

A comment is a line of text that is not part of the play. It is written as follows:

# This is a comment.

or

<ROMEO> Hello! # Change this later.

Action

An action is a line of text that describes what is happening in the scene. It is written as follows:

*Romeo walks forwards*

or

<ROMEO> Hello! *walks forwards*

Adjective

An adjective is a line of text that describes how dialogue is spoken. It is written as follows:

<ROMEO> Stop! [angrily]
0.2.0

1 year ago

0.1.0

1 year ago