osf
osf is a Go package and three small command line programs for working with Open Screenplay Format (OSF) 2.0. OSF is an open XML format for screenplays and, zipped, the native format of Fade In. The package parses an OSF document, writes it back as XML, renders it as Fountain-like plain text, and builds one from a Fountain document parsed by the fountain package.
OSF keeps no number for an individual scene (numbering is a document
setting, scene_numbering), so a Fountain scene number is
not carried into OSF. A Fountain boneyard (/* ... */)
becomes an ordinary paragraph, so it shows in Fade In.
The programs
- osf2txt
- reads an OSF file and writes plain text in a Fountain-like format.
- txt2osf
- reads a plain text file and renders an OSF 2.0 document.
- fadein2osf
-
reads a Fade In (
.fadein) file and writes Open Screenplay Format.
Install
Get a release from GitHub, or see INSTALL.md, which also covers installing from source. To use the package in a Go program:
go get github.com/rsdoiel/osf
Build and test
You need Go 1.26.4 or later. Pandoc and GNU Make are only needed for
the man pages and the website, and cmt (CMTools) only to
regenerate version.go, about.md and
CITATION.cff from codemeta.json.
make # build the programs into bin/ and the man pages into man/
make test # go test ./...
make check # gofmt -l and go vet; rewrites nothing