Writing Screenplays in Linux Using Fountain
Writing screenplays in Linux is no longer the challenge it once was. Where once you had to depend on Celtx (for a while a Ubuntu downloadable version of Celtx was available) or an OpenOffice template, you now have many options.
Not only is there the cross-platform, commercial, stand-alone screenwriting application, Fade In Pro, there is a newcomer from Russia, KIT Scenarist, that is gaining traction. And the old standby, Trelby is still viable, though long in the tooth. (As a matter of fact, it's still my favorite GUI Linux screenplay formatting application.) You can even legally download a non-expiring beta version of Scrivener for Linux.
And there are several online screenwriting applications. Celtx, YouMeScript, WriterDuet (all of which promise seamless collaboration, and limited offline writing) and 'afterwriting (which can also be used offline).
It's 'afterwriting that brings us directly to the Fountain syntax. With 'afterwriting you can either write online (using the simple built-in editor) or read in Fountain or Final Draft (.fdx) files. The Final Draft file will be converted to Fountain format for editing. You can view the PDF conversion by clicking a button, and when you're finished, you can download your script in PDF format. Optionally you can save online (on Dropbox or Google Drive). I have a simpler solution, I just copy my files to Simplenote and they're available everywhere.
But what is the Fountain syntax? For me it's the whole key to portability. And, more importantly, allows me to write in Jstar with WordStar keystrokes. (Important to me, probably means nothing to most everyone else.) But Fountain files can be used in conjunction with the GUI programs (Fade In Pro, KIT Scenarist and Trelby), or can be used with online converting software like Screenplain, 'afterwriting, YouMeScript, ScriptDuet, Celtx and probably all or most of those mentioned above (and others not mentioned).
Or you can go "full non-GUI," by using just your editor (Jstar for me) and Screenplain. With that combination you can write your script and save it in Final Draft (.fdx), PDF or HTML format. Add the pdftotext utility to the the mix and you've got the ability to save in formatted text (for uploading to online forums, like Done Deal Pro).
The Fountain (markup) syntax is simple. It's basically just writing in screenplay format without the indentions. There are a few more complicated tools, but the basics are this ...
Headers, Slugs or Scene Headings (whatever you call them) are simply typed in CAPS as they are normally.
INT. LIVING ROOM - DAY
Action is written as normal. You put a space between it and the header. Don't worry about the length of the line, Fountain takes care of that in the conversion process.
JOE, 60s, is sitting in front of the TV, burping and scratching his nose. He chokes on a piece of pizza.
Characters are typed in CAPS as normal, except you don't indent. And, as normal a space separates Character from other screenplay elements (usually action). You can also add (O.S.) or (V.O.) behind the character's name and Fountain will deal with that correctly.
JOE (O.S.)
Dialog is put directly below the Character Name. Again, no indentions and type the line as long as you want. The conversion process will fix it. You can also add "wrylies" (parentheticals) simply by typing them as you would normally.
JOE
(burping)
That's dang good pizza.
(burping again)
Really, REALLY good.
And that's the basics. There's also syntax for the Title Page, and several other more advanced features, but you've got enough to go on for starters. (See the full Fountain syntax at www.fountain.io.)
So let's see what Fountain, Screenplain and pdftotext can do with this script snippet ...
This is exactly what the PDF looks like. I just used pdftotext to extract text and remove page breaks, had this been a multi-page script – or script snippet).
The Fountain file could have been fed into any of the GUI or online applications mentioned above, but this was all done from the terminal. Type your script (in Fountain syntax), remove soft carriage returns if you're using a text editor (like the Jstar variant of JOE) which doesn't support dynamic carriage returns, change the simple hyphens to prettier ones (if you want) and then save your file as with the .fountain extension. Then type the following ...
screenplain joe.fountain joe.pdf
You now have a correctly formatted PDF file (it takes about half a second).
You can also type ...
screenplain joe.fountain joe.fdx
or
screenplain joe.fountain joe.html
... if you want Final Draft (.fdx) or HTML format.
To get the formatted text (for this document), I just typed the following ...
pdftotext -layout -nopgbrk joe.pdf joe.txt
Why do I do this instead of just typing in Trelby, or KIT Scenarist or Fade In Pro? Because I like working with plain text. It's quick, it's clean and it's fast.
I've got my computer set up to go to go into a terminal with the touch of one button, F12 by using Guake – a terminal program. Once in the terminal, I type 'jscreen' a Bash script which opens Jstar in the screenplay directory under Documents. I either begin typing, or hit ^KR to read in another file. When it prompts me for a name, I can either type it in, or hit TAB for a list. Once the file is loaded ^QC will immediately take me to the bottom of the file, where I can continue where I left off. ^QL spell checks. ^B reformats a paragraph if I edit within the paragraph. There are several other shorthand keystrokes I use.
There's also the matter of not having my computer available all the time. I can type my scripts anywhere, using a dedicated word processor like an AlphaSmart Neo (which can last a year on three double AA batteries). Or I can type into my phone using Simplenote and a Bluetooth keyboard. I can even dictate to my phone in a pinch, or use it's built-in keyboard. All these scraps of writing can be combined into Jstar, via Simplenote. (I use Simplenote instead of Evernote because Simplenote is pure text. Evernote tries to format your notes for you and makes copy and paste messy.)
Also, as is mentioned on the Fountain website, text will always be readable. How many times have you seen someone trying to get a script converted from an old, discontinued product, like Sophocles or Scriptware? I guess not as often anywhere, but it used to be a common occurrence.
Well, that's about it. If you want any more information about Screenplain, you can go to www.screenplain.com, where you'll find a link for downloading and installing (it uses Python and Pip). pdftotext comes from the poppler-utils package, which (I'm guessing) is available for most Linux distributions. Guake is a drop-down terminal available for most (if not all) Linux distributions. F12 toggles the drop down terminal and hides it. So, while typing this article, I can hit F12, hide the terminal – and then bring it back again, Jstar still opened and ready to go. Guake also supports multiple tabs (open terminals). JOE (Joe's Own Editor) is widely available for Linux and Windows (and I think you can also use it on Macs).
Good luck.
Writing screenplays in Linux is no longer the challenge it once was. Where once you had to depend on Celtx (for a while a Ubuntu downloadable version of Celtx was available) or an OpenOffice template, you now have many options.
Not only is there the cross-platform, commercial, stand-alone screenwriting application, Fade In Pro, there is a newcomer from Russia, KIT Scenarist, that is gaining traction. And the old standby, Trelby is still viable, though long in the tooth. (As a matter of fact, it's still my favorite GUI Linux screenplay formatting application.) You can even legally download a non-expiring beta version of Scrivener for Linux.
And there are several online screenwriting applications. Celtx, YouMeScript, WriterDuet (all of which promise seamless collaboration, and limited offline writing) and 'afterwriting (which can also be used offline).
It's 'afterwriting that brings us directly to the Fountain syntax. With 'afterwriting you can either write online (using the simple built-in editor) or read in Fountain or Final Draft (.fdx) files. The Final Draft file will be converted to Fountain format for editing. You can view the PDF conversion by clicking a button, and when you're finished, you can download your script in PDF format. Optionally you can save online (on Dropbox or Google Drive). I have a simpler solution, I just copy my files to Simplenote and they're available everywhere.
But what is the Fountain syntax? For me it's the whole key to portability. And, more importantly, allows me to write in Jstar with WordStar keystrokes. (Important to me, probably means nothing to most everyone else.) But Fountain files can be used in conjunction with the GUI programs (Fade In Pro, KIT Scenarist and Trelby), or can be used with online converting software like Screenplain, 'afterwriting, YouMeScript, ScriptDuet, Celtx and probably all or most of those mentioned above (and others not mentioned).
Or you can go "full non-GUI," by using just your editor (Jstar for me) and Screenplain. With that combination you can write your script and save it in Final Draft (.fdx), PDF or HTML format. Add the pdftotext utility to the the mix and you've got the ability to save in formatted text (for uploading to online forums, like Done Deal Pro).
The Fountain (markup) syntax is simple. It's basically just writing in screenplay format without the indentions. There are a few more complicated tools, but the basics are this ...
Headers, Slugs or Scene Headings (whatever you call them) are simply typed in CAPS as they are normally.
INT. LIVING ROOM - DAY
Action is written as normal. You put a space between it and the header. Don't worry about the length of the line, Fountain takes care of that in the conversion process.
JOE, 60s, is sitting in front of the TV, burping and scratching his nose. He chokes on a piece of pizza.
Characters are typed in CAPS as normal, except you don't indent. And, as normal a space separates Character from other screenplay elements (usually action). You can also add (O.S.) or (V.O.) behind the character's name and Fountain will deal with that correctly.
JOE (O.S.)
Dialog is put directly below the Character Name. Again, no indentions and type the line as long as you want. The conversion process will fix it. You can also add "wrylies" (parentheticals) simply by typing them as you would normally.
JOE
(burping)
That's dang good pizza.
(burping again)
Really, REALLY good.
And that's the basics. There's also syntax for the Title Page, and several other more advanced features, but you've got enough to go on for starters. (See the full Fountain syntax at www.fountain.io.)
So let's see what Fountain, Screenplain and pdftotext can do with this script snippet ...
Code:
INT. LIVING ROOM — DAY JOE, 60s, is sitting in front of the TV, burping and scratching his nose. He chokes on a piece of pizza. JOE (burping) That's dang good pizza. (burping again) Really, REALLY good. We leave Joe to his burping and inadequate chewing as we move into the kitchen. JOE (O.S.) (wheezy voice) Damn that didn't almost go down. I had me a pizza attack. EXT. SOMEWHERE ELSE — NIGHT
The Fountain file could have been fed into any of the GUI or online applications mentioned above, but this was all done from the terminal. Type your script (in Fountain syntax), remove soft carriage returns if you're using a text editor (like the Jstar variant of JOE) which doesn't support dynamic carriage returns, change the simple hyphens to prettier ones (if you want) and then save your file as with the .fountain extension. Then type the following ...
screenplain joe.fountain joe.pdf
You now have a correctly formatted PDF file (it takes about half a second).
You can also type ...
screenplain joe.fountain joe.fdx
or
screenplain joe.fountain joe.html
... if you want Final Draft (.fdx) or HTML format.
To get the formatted text (for this document), I just typed the following ...
pdftotext -layout -nopgbrk joe.pdf joe.txt
Why do I do this instead of just typing in Trelby, or KIT Scenarist or Fade In Pro? Because I like working with plain text. It's quick, it's clean and it's fast.
I've got my computer set up to go to go into a terminal with the touch of one button, F12 by using Guake – a terminal program. Once in the terminal, I type 'jscreen' a Bash script which opens Jstar in the screenplay directory under Documents. I either begin typing, or hit ^KR to read in another file. When it prompts me for a name, I can either type it in, or hit TAB for a list. Once the file is loaded ^QC will immediately take me to the bottom of the file, where I can continue where I left off. ^QL spell checks. ^B reformats a paragraph if I edit within the paragraph. There are several other shorthand keystrokes I use.
There's also the matter of not having my computer available all the time. I can type my scripts anywhere, using a dedicated word processor like an AlphaSmart Neo (which can last a year on three double AA batteries). Or I can type into my phone using Simplenote and a Bluetooth keyboard. I can even dictate to my phone in a pinch, or use it's built-in keyboard. All these scraps of writing can be combined into Jstar, via Simplenote. (I use Simplenote instead of Evernote because Simplenote is pure text. Evernote tries to format your notes for you and makes copy and paste messy.)
Also, as is mentioned on the Fountain website, text will always be readable. How many times have you seen someone trying to get a script converted from an old, discontinued product, like Sophocles or Scriptware? I guess not as often anywhere, but it used to be a common occurrence.
Well, that's about it. If you want any more information about Screenplain, you can go to www.screenplain.com, where you'll find a link for downloading and installing (it uses Python and Pip). pdftotext comes from the poppler-utils package, which (I'm guessing) is available for most Linux distributions. Guake is a drop-down terminal available for most (if not all) Linux distributions. F12 toggles the drop down terminal and hides it. So, while typing this article, I can hit F12, hide the terminal – and then bring it back again, Jstar still opened and ready to go. Guake also supports multiple tabs (open terminals). JOE (Joe's Own Editor) is widely available for Linux and Windows (and I think you can also use it on Macs).
Good luck.
Comment