• Stars
    star
    158
  • Rank 237,131 (Top 5 %)
  • Language
    Python
  • License
    MIT License
  • Created over 13 years ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Write your screenplay in plain text and run it through this program to make it look good

About Screenplain

You're a hacker. The command line is your home. You know tools like grep, sed and Git inside out. You have formed a symbiotic relationship with your text editor. Those tools are powerful in the right hands. But you're also a screenwriter. Screenwriting is much like programming. It's about structure and form, and -- obviously -- about reading, writing and modifying huge amounts of text. You don't want to use software that lacks the power of your hacking tools just because you're writing a screenplay instead of a shell script.

Enter Screenplain.

Screenplain allows you to write a screenplay as a plain text file using a format called Fountain. Text files are simple and supported by all text manipulation software. It's not just for hackers, too. The simplicity of plain text allows you to easily view and edit them on devices such as tablets and phones. No need for specific screenwriting software.

The magic that Screenplain performs is to take your plain text file and convert it to a good looking screenplay in an industry standard format. Send that file off to your producer, agent, director or screenwriting competition. The supported output formats are FDX HTML, and PDF.

Screenplain can be used as a command-line application or a library. An Online version of Screenplain is also available.

Note that Screenplain is under development and is missing features and the master branch may not always work. I'm currently working on supporting the whole Fountain specification. (Fountain was previously known as "Screenplay Markdown" or "SPMD.")

Installing

pip install screenplain

To enable PDF output, install with the PDF extra (installs ReportLab):

pip install 'screenplain[PDF]'

Credits

Screenplain was coded by Martin Vilcans.

The CSS code that formats Screenplain's HTML output as something that looks as much as a printed screenplay as is possible in HTML was created by Jonathan Poritsky.

The Fountain file format is the result of a collaboration between Stu Maschwitz and John August.

License

Screenplain is released under the MIT license.

Developing

Set up virtual environment:

python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt
pip install -e .

After this, the screenplain command will use the working copy of your code.

To run unit tests and style checks, run:

bin/test

More Repositories

1

amiga-startup

System shutdown and preparation for hardware-hitting for Amiga demos
Assembly
14
star
2

scribbish-jekyll

Scribbish theme ported to Jekyll
10
star
3

simple-backroll

Trying to make simple multiplayer with Backroll
Rust
6
star
4

anything

A Python constant that considers itself equal to everything else. Useful for unit testing and more.
Python
6
star
5

LD26

My contribution to the 26th Ludum Dare compo
JavaScript
5
star
6

2018AD

Demo for Laser 200 (early 80's 8-bit computer)
Assembly
3
star
7

numquant

Rust crate to quantize numbers to a smaller range to save bandwidth or memory
Rust
2
star
8

LD23

Ludum Dare 23 base code
JavaScript
2
star
9

LD24

Game made for Ludum Dare 24
JavaScript
2
star
10

ld45

Game made for Ludum Dare 45
Rust
2
star
11

ardour-import

Convert Cubase exported tracks (xml) into Ardour format
Python
2
star
12

LD48

My game for Ludum Dare 48
Assembly
1
star
13

pixel_pen

Paint program for editing pictures compatible with Vic-20 hardware
Rust
1
star
14

rendermake

Build file for RenderMan projects.
1
star
15

myfirstpingpongmassacre

Entry to Ludum Dare 25
JavaScript
1
star
16

bin

Just some scripts
Shell
1
star
17

triggah

Trigger audio from microphones and Arduino
Python
1
star
18

unshred

Restore a shredded image
Python
1
star
19

dotemacs.d

Contents of my .emacs.d
Emacs Lisp
1
star
20

atari-46

Whale Dive - a game for Atari 2600
Assembly
1
star
21

python-native-example

Example of calling C functions from Python
C
1
star
22

transcompilation

Exploring which source languages can be used for popular target platforms.
Shell
1
star
23

geocoding-client

Geocodes an address and creates a KML file that shows the result
Python
1
star
24

ffcrunch

Simple data compressor/decompressor (mainly for retro computers)
Python
1
star
25

cowgol-firstlook

Trying the Cowgol programming language to generate Z80 code for ZX Spectrum
Python
1
star