Extension:Screenplay

A fragment of the Garden of Remembering

Revision as of 03:51, 6 April 2014 by Apheori (talk | contribs) (...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Wikitext example

<screenplay>
INT. SONM'S POST TAVERN - NIGHT

It is late - the place is mostly empty. Vardaman is seated at the bar, with at least a barkeeep around somewhere as well. Coraline stumbles in, scratched, tired, and muddy, and winds up standing next to Vardaman.

VARDAMAN
You look worse than I feel.

CORALINE
I feel... well...

Instead of continuing, she sits.

VARDAMAN
(he sighs)
Barkeep, a shalott for the lady. There's pain what needs forgetting, if only for a little while.
</screenplay>

Rendered source

<div class="screenplay">
	<div class="sp-setting">INT. SONM'S POST TAVERN - NIGHT</div>
	<div class="sp-block">It is late - the place is mostly empty. Vardaman is seated at the bar, with at least a barkeeep around somewhere as well. Coraline stumbles in, scratched, tired, and muddy, and winds up standing next to Vardaman.</div>
	<div class="sp-line">
		<div class="sp-line-speaker">VARDAMAN</div>
		<div class="sp-line-text">You look worse than I feel.</div>
	</div>
	<div class="sp-line">
		<div class="sp-line-speaker">CORALINE</div>
		<div class="sp-line-text">I feel... well...</div>
	</div>
	<div class="sp-block">Instead of continuing, she sits.</div>
	<div class="sp-line">
		<div class="sp-line-speaker">VARDAMAN</div>
		<div class="sp-line-paren">(he sighs)</div>
		<div class="sp-line-text">Barkeep, a shalott for the lady. There's pain what needs forgetting, if only for a little while.</div>
	</div>
</div>

Parsing rundown

Things that would normally be wrapped in <p>s are wrapped in <div>s with classes as follows:

  • 'setting': first four letters are 'INT.' or 'EXT.'
  • 'line': begins all caps (until a single \n) that is not a setting; single linebreaks within these delimit further <div> wrappers as follows:
    • 'line-speaker': everything until the first single \n
    • 'line-paren': any line wrapped in parentheses that is not a speaker
    • 'line-text': any other line within a 'line'
  • 'block': anything else