#fountain #html #command-line-tool #format #convert #screenwriting #fdx

bin+lib jumpcut

JumpCut is a library and CLI for converting Fountain-formatted text files into FDX and HTML formats

2 releases

0.7.1 Jun 16, 2024
0.7.0 Jun 16, 2024

#2282 in Parser implementations

MIT license

110KB
2K SLoC

Rust 1.5K SLoC // 0.1% comments Handlebars 436 SLoC

JumpCut

JumpCut is a Rust utility designed to convert the Fountain screenwriting markup format into Final Draft FDX files (the industry standard in Hollywood) or into HTML.

JumpCut can be used as a command-line utility, a Rust library, or as a WASM package. Because of this, the project utilizes cargo features so that different parts like the command-line utility can be turned off to save binary size.

Installation

If you want to use JumpCut as a command-line utility, you can install it via Cargo.

cargo install jumpcut

To use JumpCut as a library, you can specify the following in your Cargo.toml so that the command-line features are not added to your project:

jumpcut = { version = "0.7", default-features = false, features = ["lib-only"] }

Usage

Once installed, you can pass JumpCut a text file and it will parse it and output it as either an FDX, HTML, or JSON. The full options from the help text are listed below.

USAGE:
    jumpcut [OPTIONS] <input> [output]

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -f, --format <format>    Formats (FDX, HTML, JSON) [default: fdx]

ARGS:
    <input>     Input file, pass a dash ("-") to receive stdin
    <output>    Output file, stdout if not present

To use JumpCut within a Rust program, you can examine the main.rs file for an example of calling the library, but the basics are depicted below:

let mut screenplay: Screenplay = parse(&content); // content is a String provided by your application
let output_fdx: String = screenplay.to_final_draft();
let output_html: String = screenplay.to_html();

Development Plans

I have no current plans to expand this project. I've used it internally for a few years and it meets my current needs (converting my own screenplays locally and powering my website FountainLoader.com).

I have open-sourced it in case it can be useful to other developers and screenwriters.

Changelog

  • 0.7.1: Improving documentation.
  • 0.7.0: Initial public release. Supports FDX, HTML, and JSON output.

License

JumpCut is licensed under the terms of the MIT license.

Dependencies

~3.5–6.5MB
~113K SLoC