Comments (17)
Thank you for your awesome work. If you are an acting student, you can use the app: https://petersir.com, which I built using your library.
from fountain-js.
Normally you hide your own lines (so you can practice saying them).
from fountain-js.
For most of my professional career, I've been in the film industry in one form or another mostly as an Editor, Cinematographer or VFX artist. Currently, I manage broadcast tech for a YouTube-based media company.
Throughout most of that, I've always enjoyed writing having written and directed several short films with a smattering of music videos here and there. I've always dabbled in Fountain, specifically when I didn't have any kind of official screenwriting software. I played around with several that had Fountain support like Celtx and Highland at the time but I eventually went to Final Draft. Knowing a lot of people who straight up just tab out dialogue in a text file, I've always kind of thought a markdown-like language may be of worthwhile. Fountain.ts was originally a way to learn Typescript thanks to my friend @rezonant who encouraged me to start maintaining a fork of Fountain.js.
from fountain-js.
INT. BOOKSHOP - DAY
!William enters -- and there stands Anna -- in a simple blue skirt and top.
@ANNA
Hi.
@WILLIAM
Hello.
@ANNA
You disappeared.
@WILLIAM
Yeah -- Yeah -- I had to leave... I didn't want to disturb.
from fountain-js.
0: {type: 'scene_heading', text: 'INT. BOOKSHOP - DAY', scene_number: undefined}
1: {type: 'action', text: '!William enters -- and there stands Anna -- in a simple blue skirt and top.'}
2: {type: 'action', text: '@ANNA<br />Hi.'}
3: {type: 'action', text: '@WILLIAM<br />Hello.'}
4: {type: 'action', text: '@ANNA<br />You disappeared.'}
5: {type: 'action', text: "@WILLIAM<br />Yeah -- Yeah -- I had to leave... I didn't want to disturb."}
from fountain-js.
From https://www.fountain.io/syntax:
SYNTAX CHANGELOG
1.1 - March 14, 2014
New in Fountain 1.1:
A Character element can by forced by preceding it by an "at" symbol @.
An Action element can by forced by preceding it by an exclamation point !.
Lyrics are designated by a preceding tilde ~ on each line.
Deprecated in Fountain 1.1:
"Character Extensions"--the parenthetical notations that follow a character name on the same line--are no longer required to be uppercase.
Two trailing spaces no longer forces an Action line.
1.0 - February 7, 2012
Merged SPMD and Fountain specs into one.
The new regexes are in here:
https://github.com/nyousefi/Fountain/blob/master/Fountain/FountainRegexes.m
or maybe here: https://github.com/erikcr/trevi/blob/master/lib/regex.ts
from fountain-js.
Maybe the original library was made before the ! and @ were added to the specs.
Yeah, pretty certain that is correct. Matt's and mine both only support most of the syntax and I am pretty sure v1.1
of Fountain is currently unsupported in his and definitely mine as noted.
I have busy next couple of days but have started looking into supporting v1.1
of the spec. Thanks for the links and documentation!
from fountain-js.
Morning, hope this finds you well.
Commits 1d2bd2a and 9a90be9 should bring Fountain.ts up to spec with Fountain v 1.1
and with that I've released Fountain.ts finally as v 1.0.1
on npm.
Added
- A Character element can by forced by preceding it by an "at" symbol
@
. - An Action element can by forced by preceding it by an exclamation point
!
. - Lyrics are designated by a preceding tilde
~
on each line.
Changed
- "Character Extensions"--the parenthetical notations that follow a character name on the same line--are no longer required to be uppercase.
As far as I know, this supports full Fountain spec, so given:
INT. BOOKSHOP - DAY
!William enters -- and there stands Anna -- in a simple blue skirt and top.
@ANNA
Hi.
@WILLIAM
Hello.
@ANNA
You disappeared.
@WILLIAM
Yeah -- Yeah -- I had to leave... I didn't want to disturb.
You should now receive:
[
{ type: 'scene_heading', text: 'INT. BOOKSHOP - DAY', scene_number: undefined },
{ type: 'action', text: 'William enters -- and there stands Anna -- in a simple blue skirt and top.' },
{ type: 'dialogue_begin', dual: undefined, text: undefined },
{ type: 'character', text: 'ANNA' },
{ type: 'dialogue', text: 'Hi.' },
{ type: 'dialogue_end', text: undefined },
{ type: 'dialogue_begin', dual: undefined, text: undefined },
{ type: 'character', text: 'WILLIAM' },
{ type: 'dialogue', text: 'Hello.' },
{ type: 'dialogue_end', text: undefined },
{ type: 'dialogue_begin', dual: undefined, text: undefined },
{ type: 'character', text: 'ANNA' },
{ type: 'dialogue', text: 'You disappeared.' },
{ type: 'dialogue_end', text: undefined },
{ type: 'dialogue_begin', dual: undefined, text: undefined },
{ type: 'character', text: 'WILLIAM' },
{ type: 'dialogue', text: "Yeah -- Yeah -- I had to leave... I didn't want to disturb." },
{ type: 'dialogue_end', text: undefined }
]
Closing this for now but please feel free to post more issues if you need.
from fountain-js.
Awesome work. Has it been registered with npm?
from fountain-js.
from fountain-js.
I quite appreciate the ability to rearrange and hide your partner's lines. While I've never been to acting school, I'd certainly like a tool like this. Great work.
from fountain-js.
Ah, makes sense. It makes me happy to see more tools being made for filmmakers. Glad to contribute my small part to it
from fountain-js.
What is your involvement with film making? What made you dabble in the fountain format?
from fountain-js.
Interesting life story. Not the typical for a programmer!
from fountain-js.
I can certainly see that. I guess I do at least have some relevant experience when it comes to screenwriting apps at least, lol.
What was your inspiration for your app? What got you into writing a tool like this for actors?
from fountain-js.
I am learning to act but struggling to memorise lines. I tried a few apps on the market and in my opinion they weren't exactly what I was looking for. So I decided it was time to make it myself rather than wait. I'm currently trying to "spread the word", because I believe so many people would find it useful.
from fountain-js.
That's a great reason. Memorizing lines can be a pain. I usually just focused on the context of my role's dialogue more than content, though some directors are bigger sticklers about that. I frankly never bothered with fully learning the other person's lines. It helped me give a more genuine reaction if I didn't fully know what they were going to say. That being said, I never did a lot of formal acting training, so I'm no coach.
Good luck with spreading the word! I hope you can get more to use this. I've always been excited about the potential for Fountain as an intermediary format to expand the process from screenplay to pre-production. This seems like a great example where someone could export their screenplay from say Writer Duet and give it to their actors via this for table reads, etc.
Also, best of luck with the acting classes and hope your app helps you with memorization. If I get a chance, I'll let others know about it too and will let you know if I make any other upgrades to the library 👍
from fountain-js.
Related Issues (8)
- Question: Nesting dialog HOT 1
- Character names with hashes (#) are parsed incorrectly HOT 4
- Action with a newline gets a <br /> inserted HOT 3
- Parentheticals can't be italicized HOT 6
- SyntaxError: Invalid regular expression: invalid group specifier name RegExp — rules.ts:23
- differences with mattdaly/Fountain.js HOT 3
- import { Fountain } from 'fountain' doesn't work HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fountain-js.