UNPKG

screenplay-js

Version:

A modern Typescript, Foutain screenplay parser. Convert Final Draft (.fdx) files to Fountain, and then parse Fountain markdown to HTML.

95 lines (94 loc) 4.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.whitespacer = exports.standardizer = exports.cleaner = exports.splitter = exports.underline = exports.italic = exports.bold = exports.bold_italic = exports.italic_underline = exports.bold_underline = exports.bold_italic_underline = exports.emphasis = exports.line_break = exports.page_break = exports.boneyard = exports.note_inline = exports.note = exports.synopsis = exports.section = exports.centered = exports.action = exports.lyrics = exports.parenthetical = exports.dialogue = exports.transition = exports.scene_number = exports.scene_heading = exports.title_page = exports.sections = void 0; var Sections = /** @class */ (function () { function Sections() { this.title_page = /^((?:title|credit|author[s]?|source|notes|draft date|date|contact|copyright)\:)/gim; this.scene_heading = /^((?:\*{0,3}_?)?(?:(?:int|ext|est|i\/e)[. ]).+)|^(?:\.(?!\.+))(.+)/i; this.scene_number = /( *#(.+)# *)/; this.transition = /^((?:FADE (?:TO BLACK|OUT)|CUT TO BLACK)\.|.+ TO\:)|^(?:> *)(.+)/; this.dialogue = /^(\@?[A-Za-z*_]+[0-9A-Z (._\-'’)]*)(\^?)?(?:\n(?!\n+))([\s\S]+)/; this.parenthetical = /^(\(.+\))$/; this.lyrics = /^~(.+)/g; this.action = /^(.+)/g; this.centered = /^(?:> *)(.+)(?: *<)(\n.+)*/g; this.section = /^(#+)(?: *)(.*)/; this.synopsis = /^(?:\=(?!\=+) *)(.*)/; this.note = /^(?:\[{2}(?!\[+))(.+)(?:\]{2}(?!\[+))$/; this.note_inline = /(?:\[{2}(?!\[+))([\s\S]+?)(?:\]{2}(?!\[+))/g; this.boneyard = /(^\/\*|^\*\/)$/g; this.page_break = /^\={3,}$/; this.line_break = /^ {2}$/; this.emphasis = /(_|\*{1,3}|_\*{1,3}|\*{1,3}_)(.+)(_|\*{1,3}|_\*{1,3}|\*{1,3}_)/g; this.bold_italic_underline = /(_{1}\*{3}(?=.+\*{3}_{1})|\*{3}_{1}(?=.+_{1}\*{3}))(.+?)(\*{3}_{1}|_{1}\*{3})/g; this.bold_underline = /(_{1}\*{2}(?=.+\*{2}_{1})|\*{2}_{1}(?=.+_{1}\*{2}))(.+?)(\*{2}_{1}|_{1}\*{2})/g; this.italic_underline = /(?:_{1}\*{1}(?=.+\*{1}_{1})|\*{1}_{1}(?=.+_{1}\*{1}))(.+?)(\*{1}_{1}|_{1}\*{1})/g; this.bold_italic = /(\*{3}(?=.+\*{3}))(.+?)(\*{3})/g; this.bold = /(\*{2}(?=.+\*{2}))(.+?)(\*{2})/g; this.italic = /(\*{1}(?=.+\*{1}))(.+?)(\*{1})/g; this.underline = /(_{1}(?=.+_{1}))(.+?)(_{1})/g; this.splitter = /\n{2,}/g; this.cleaner = /^\n+|\n+$/; this.standardizer = /\r\n|\r/g; this.whitespacer = /^\t+|^ {3,}/gm; } return Sections; }()); var sections = new Sections(); exports.sections = sections; var title_page = sections.title_page; exports.title_page = title_page; var scene_heading = sections.scene_heading; exports.scene_heading = scene_heading; var scene_number = sections.scene_number; exports.scene_number = scene_number; var transition = sections.transition; exports.transition = transition; var dialogue = sections.dialogue; exports.dialogue = dialogue; var parenthetical = sections.parenthetical; exports.parenthetical = parenthetical; var lyrics = sections.lyrics; exports.lyrics = lyrics; var action = sections.action; exports.action = action; var centered = sections.centered; exports.centered = centered; var section = sections.section; exports.section = section; var synopsis = sections.synopsis; exports.synopsis = synopsis; var note = sections.note; exports.note = note; var note_inline = sections.note_inline; exports.note_inline = note_inline; var boneyard = sections.boneyard; exports.boneyard = boneyard; var page_break = sections.page_break; exports.page_break = page_break; var line_break = sections.line_break; exports.line_break = line_break; var emphasis = sections.emphasis; exports.emphasis = emphasis; var bold_italic_underline = sections.bold_italic_underline; exports.bold_italic_underline = bold_italic_underline; var bold_underline = sections.bold_underline; exports.bold_underline = bold_underline; var italic_underline = sections.italic_underline; exports.italic_underline = italic_underline; var bold_italic = sections.bold_italic; exports.bold_italic = bold_italic; var bold = sections.bold; exports.bold = bold; var italic = sections.italic; exports.italic = italic; var underline = sections.underline; exports.underline = underline; var splitter = sections.splitter; exports.splitter = splitter; var cleaner = sections.cleaner; exports.cleaner = cleaner; var standardizer = sections.standardizer; exports.standardizer = standardizer; var whitespacer = sections.whitespacer; exports.whitespacer = whitespacer;