python scriptdown.py script.sd
# or
python scriptdown.py script.sd > out.html # (for testing)
Outputs html formatted to display the script.
You can comment out blocks just as you can comment in 99% of programming languages. // ...
, and /* ... */
You can define the following meta information for your script. This will be displayed in various places within the script. The first word defines the type of meta information it is, and, after any following whitespace, the rest of the text on the line is used as the value for that metadata.
show
Modern Family
episode
Dude Day
author
Luke Zilioli
date
2013-08-25
note
Final draft
\n
\n
Follow this section with two linebreaks.
Symbol | Indicator |
---|---|
# |
Scene heading |
/# |
End scene heading |
## |
Location heading |
### |
Action description |
> |
Character's Name (if proceeded with .. , it will be CONT'D..) |
(tab) | Parenthetical |
(nothing) | Dialog |
// This is an example script for scriptdown
show Modern Family
episode Dude Day
author Luke Zilioli
date 2013-08-25
note Final draft
# Cold Open
## INT. Dunphy House - Luke's Room
### Cut to a similar shot of Luke, except his alarm is going off and he is not waking up. Suddenly, Phil bursts through the door, excitedly waking Luke up as he drops the duffel bag on the floor and sits on the foot of the bed.
> Phil
Get up buddy. It's Dude Day!!
> Luke
groggy
Ugh, Dad, its so early. Can't we sleep in just a little longer?
> Phil
looking hurt
What? But you love this day.
(<html>, <head> (with css), <body>)
<div id="content">
<div class="title">
<div class="show">Modern Family</div>
<div class="episode">Dude Day</div>
<div class="author">Luke Zilioli</div>
</div>
<p class="scene-head">Cold Open</p>
<p class="loc-head">INT. DUNPHY HOUSE - Phil & Claire's Room - 8:00 AM</p>
<p class="action">Cut to a similar shot of Luke, except his alarm is going off and he is not waking up. Suddenly, Phil bursts through the door, excitedly waking Luke up as he drops the duffel bag on the floor and sits on the foot of the bed.</p>
<p class="name"> Phil</p>
<p class="dialog">Get up buddy. It's Dude Day!!</p>
<p class="name"> Luke</p>
<p class="parenthetical">groggy</p>
<p class="dialog">Ugh, Dad, its so early. Can't we sleep in just a little longer?</p>
<p class="name"> Phil</p>
<p class="parenthetical">looking hurt</p>
<p class="dialog">What? But you love this day.</p>
</div>
#ToDo
- Make it support comments better
- Less error prone
- Paging, with headers at top of page (for printing)
- Less syntax, auto detect switch between new speaker back to action because of skiped line
- Flag to include comments as sticky notes on page
- Genericize python script so that a syntax can be declared and mapped to different paragraphs or divs with a given classname.
This project uses grunt.
Anyway, if you want to be able to build out the sass assets for the site, you will need grunt on your machine.
-
Install node, grunt and npm. There are a few methods for doing this, pick your poison.
- As of July 2013, it looks like running
brew install node
doesn't include an npm install.
- As of July 2013, it looks like running
-
In the project's root directory, run
npm install
-
This will populate the (hidden)
node_modules
directory with a few things needed for grunt to do its thing. For more info on all of this, check out the grunt documentation.
If you're working on the CSS for the scripts, you'll need Grunt.
I haven't documented the grunt commands yet, but for now, run:
grunt
, followed by
grunt watch
Grunt will poll for changes to the files in www/gui/sass
and spit out their corresponding css in www/gui/build/css
. If you add scripts to the scripts folder, these will be compiled and moved over to the corresponding vuild directory as well.