Summary: Talk page for FilmScript.
Users: (View? / Edit)

This space is for User-contributed commentary and notes. Please include your name and a date along with your comment.

To make this work, the styles would go in your style sheet.. but how does the class markup work? Please HELP! --~MS

Here's a first cut: Test.FilmScript . We could probably improve the markup even further -- i.e., to eliminate the need for the bullets. --Pm

Awesome! What an advantage. I hope more people can use this.

I haven't looked at the code yet, but for screenbox, sceneheader, and character, maybe it's best to force uppercase even if it's written in lower case? Here is the CSS for uppercase:

li .whateverclass { text-transform: uppercase; }

Forcing it capitalized makes it so the writer doesn't have to worry about it. Film script programs do this. Like Final Draft or Movie Magic Screenwriter. Kind of a cool usability advantage. Built in intelligence.

Currently the script fits within a gray box with a 1px black border. I think it's good to distinguish it from regular markup. Looks good. Any thoughts if it should be treated differently from the way somebody might display snippets of programming code.

Should we make that gray container only have a top / bottom border? Even removing the gray might be good too. That gray might be coming from the stylesheet I provided. I didn't look. I'm sort of mixed on the issue. On the one hand you can see the difference between script and regular markup, and thats cool. A producer could comment on the writers script, outside the script. On the other hand maybe it's not good, because if you print it, you have to deal with the gray. mmmm, not sure.

In the future, I can see an advantage with an additional alternative screenplay.css style sheet that would somehow ignore everthing on the page but the movie script markup. Then when you go to print, you'll just get the screenwriting content on white background, hopefully with semi proper margins. I wish I knew exactly how to do this the right way.

I'm thinking about ways to make the name shorter but still logical. It might be easier to leave them as is, because people would remember them. Again, I'm torn on that issue. For example, is dialogue better as diag? or character as char? These are just thoughts, don't change that yet. --~MS

Why use lists? Why not use straight paragraphs, with the same styles attached? That way you don't need the bullets. --mjp

Here are a couple links for reference:

I got most of this working on my site, though by coming at it from a different angle. I added this to my config.php file:

[=$WikiStyle['screenbox']['class'] = 'screenbox';=][[<<]]
[=$WikiStyle['sceneheader']['class'] = 'sceneheader';=][[<<]]
[=$WikiStyle['scene']['class'] = 'scene';=][[<<]]
[=$WikiStyle['dialogue']['class'] = 'dialogue';=][[<<]]
[=$WikiStyle['character']['class'] = 'character';=][[<<]]
[=$WikiStyle['transition']['class'] = 'transition';=][[<<]]
[=$WikiStyle['parenthetical']['class'] = 'parenthetical';=]

Then I added some GUI Editing buttons (with crude placeholder button images for now):

[=$GUIButtons['SceneHeader'] = array(810, '%sceneheader%', '', '$[Scene Header]',=][[<<]]
[=                     '$GUIButtonDirUrlFmt/sp-sh.gif"$[Scene Header]"');=][[<<]]
[=$GUIButtons['Scene'] = array(815, '%scene%', '\\n', '$[Scene/Action]',=][[<<]]
[=                     '$GUIButtonDirUrlFmt/sp-sc.gif"$[Scene]"');=][[<<]]
[=$GUIButtons['Dialogue'] = array(820, '%dialogue%', '', '$[Dialogue]',=][[<<]]
[=                     '$GUIButtonDirUrlFmt/sp-di.gif"$[Dialogue]"');=][[<<]]
[=$GUIButtons['Character'] = array(825, '%character%', '', '$[Character Name]',=][[<<]]
[=                     '$GUIButtonDirUrlFmt/sp-ch.gif"$[Character]"');=][[<<]]
[=$GUIButtons['Transition'] = array(830, '%transition%', '', '$[Transition]',=][[<<]]
[=                     '$GUIButtonDirUrlFmt/sp-tr.gif"$[Transition]"');=][[<<]]
[=$GUIButtons['Parenthetical'] = array(835, '%parenthetical%(', ')', '$[Parenthetical]',=][[<<]]
[=                     '$GUIButtonDirUrlFmt/sp-pa.gif"$[Parenthetical]"');=]

(I changed "action" to "scene" because for some reason %action% wouldn't insert correctly)

Finally, I added a modified version of the CSS into my CSS file:

/* Screenplay styles, adapted from those by John August*/

.screenbox {
    display: block;
    width: 420px;
    background: #eee;
    border: 1px solid #333;
    padding: 5px 14px;
    font:  12px/14px Courier, fixed;

.sceneheader {
    display: compact;
    padding-top: 1.5ex;
    font:  12px/14px Courier, fixed;
    text-transform: uppercase;

.scene {
    display: block;
    padding-top: 1.5ex;
    padding-right: 5%; 
    font:  12px/14px Courier, fixed;
    text-transform: none;

.character {
    display: compact;
    padding-top: 1.5ex;
    margin-left: 40%; 
    font:  12px/14px Courier, fixed;
    text-transform: uppercase;

.dialogue {
    display: block;
    margin-left: 25%; 
    padding-right: 25%; 
    padding-bottom: 0;
    font:  12px/14px Courier, fixed;

.parenthetical {
    display: inline;
    margin-left: 32%; 
    padding-right: 30%; 
    margin-top: -1.5ex;
    font:  12px/14px Courier, fixed;

.transition {
    display: block;
    padding-top: 3ex;
    margin-left: 65%; 
    padding-bottom: 1.5ex;
    font:  12px/14px Courier, fixed;

The only thing I can't figure out is the "screenbox". I tried making some custom markup that would add div tags around the text, but I can't get that to work, and the CustomMarkup page didn't address the problems I was having. With that one final piece this will be a fully functioning setup with a simple to use GUI. I've got a screenplay partially formatted already (it's a long one so it's going to take me a while to get the whole thing formatted) if anyone's curious: Screenplay
Actually, those CSS style need a little tweaking, but I've almost got it. I've checked them out in Firefox and IE, on both Windows and a Mac, and they look good. They look ok in Safari, but not quite right. -JC

This worked very well for me. For the screenbox, I just added two new buttons: script on, script off. The first inserts the formatting...

    >>width=420 display=block bgcolor=#eee border=1px solid<<

The second button inserts...


It's a little clunky, but works just fine at least in IE6 - GA

Sorry I already posted PITS.00780. I better take discussion here. Wouldn't it be easier if a new action similar to view, say ?action=screenplay, could understand what was written and translate it without css tables? I mean: it should

  • automatically put the content inside of a block.
  • If normal text is entered, find the last word ending before column 65 and put the next one in the next line.
  • If a text is entered and starts with EXT or INT in CAPS, do the same.
  • If a text all in CAPS (a name) is entered and it does not start with INT or EXT letters, it should start in column 23 (add 22 spaces) and make the next line (dialog) start in column 15 and be 34 letters wide, and so on the next lines until the end of the original line.
  • If a line starts with "(" - parenthesis it should start at column 50.

I'd like to know if that's possible. I am new to php and would try myself with if I knew how to start.-Alex

Talk page for the FilmScript recipe (users?).