darakah / obsidian-fountain Goto Github PK
View Code? Open in Web Editor NEWObsidian plugin to edit, write and render Fountain Writing Syntax for screenplays and scripts (implements fountain-js project to parse fountain script).
Obsidian plugin to edit, write and render Fountain Writing Syntax for screenplays and scripts (implements fountain-js project to parse fountain script).
I just discovered this and loaded up many fountain files, small templates & big ones (Billy Wilder's Double Indemnity) & they work ok. Not slow or laggy, well done. I'm testing on Android. Will test on Linux distros & windows later, but should be even better. I have lots of screenwriting software.
So would need to assign one color for each character.
Jotterpad app on Android does this color assigning.
Colors can be from a predefined list or random.
Would make this stunning & stylish.
I think this will be a big hit once more people discover it & obsidian will grow too.
Thanks again, lovely work.
Have noticed that, similar to issues raised previously for #8 and #9 all characters now show as, I think, scene headers.
The fountain markdown is correct, if I render it in a separate fountain app then the character name shows correctly.
Given this plugin hasn't been updated for some time not sure if it will be fixed, which would be a shame as there isn't anything else like this plugin wise and its super useful!
Hello, I noticed that a lot of the formatting remains incorrect.
My previous setup didn't autofill in everything and didn’t use Fountain. It was annoying to work with, but everything was in the correct location.
Perhaps if I give you the CSS you can fix everything so we all get the best of both worlds.
Dialogue:
<div style="text-align: center; font-family: 'Courier New', monospace;">
<br>
CHARACTER
</div>
<div style="text-indent: 25%; font-family: 'Courier New', monospace;">
(lorem) context
</div>
<div style="width: 500px; margin: 0 auto; font-family: 'Courier New', monospace;">
LoremIpsum(actual lines)
</div>
Scene:
<div style="text-align: center;">
<div style="display: flex; justify-content: space-between;">
<span style="font-weight: bold; font-family: 'Courier New', monospace;">
scene
</span>
<span style="font-weight: bold; font-family: 'Courier New', monospace;">
1 (number)
</span>
</div>
</div>
Transitions:
<div style="text-align: right; font-size: 1.15em; text-transform: uppercase;">
TRANSITION:
</div>
I saw #8 but this issue is a bit broader, even…
This issue also occurs with character names that include most any character not in the [-A-Z.]
ASCII character set (I'm not sure that's the precise regex set). While a name like JÓN
should work as-is, the Syntax specifies a work-around:
Power User: You can force a Character element by preceding it with the "at" symbol
@
.The ability to force a Character element is helpful for names that require lower-case letters, and for non-Roman languages.
@McCLANE Yippie ki-yay! I got my lower-case C back!
Fountain will remove the
@
and interpret McCLANE as Character, preserving its mixed case.
Unfortunately, the @
character doesn't work, either—a copy-paste of the block above from the fountain.io site, with @McCLANE
, also fails to recognize the character name.
I discovered using Cyrillic (Ukrainian) and Japanese that non-Latin alphabets also aren't recognized as character names, with or without @
.
For instance:
There is an issue with the plugin when enabled. It makes Obsidian unusable and extremely slow.
Lovely plugin you have here!
However, the Ctrl+e hotkey to toggle between live-preview and reading mode doesn't work in .fountain files.
What it says in $subject. If you start typing a fountain note ([[) the link menu pops up.
Very promising plugin. However, there is one bug I noticed, and as I use another language than english, it makes the plugin less useful for me: If a charachter name contains a non-english character (such as 'Á' or 'Ó') it is not interpreted as a character name but treated as a scene description. Tested this both in the Windows 11 and Linux (Kubuntu 22.10) version.
Would it be possible to use the new live-preview functions of Obsidian to see screenplay formatting as-you-type?
I know mobile isn't really the focus of this plugin, but the entire last line of text is off the bottom edge of the screen for me.
Using a Samsung Galaxy S20 FE running Android 13. No other plugins in use.
This is the plugin working great on desktop:
This is the same plugin with a missing line on mobile in view mode:
And this is the same missing line on mobile in edit mode:
Can anyone provide info on what's going on, or at least point to where the source of the issue might be?
I like this plugin better than the alternatives, because it allows me to insert Fountain code blocks anywhere. Thanks!
I would like to be able to format lyrics. Fountain syntax says that putting "~" before lines makes them lyrics, and then it's up to the client to format them. For example:
RICK
~We're no strangers to love
~You know the rules, and so do I
I figured I could use a CSS snippet to do this. I looked at the CSS classes for the preview, but there is no way to target the lines starting with "~". CSS cannot select based on paragraph contents, only on attributes.
<div class="dialogue">
<h4>RICK</h4>
<p>~We're no strangers to love<br>
~You know the rules, and so do I</p>
</div>
Could you include a class for lyrics, so the snippet can target them? Like this perhaps:
<div class="dialogue">
<h4>RICK</h4>
<p class="lyrics">~We're no strangers to love<br>
~You know the rules, and so do I</p>
</div>
Alternatively, force the formatting on lyrics to be italic?
Thanks for any help
I use headers and the core Outline plugin to navigate within regular Markdown documents. It would be great if Markdown headers could be recognized in Fountain files, it would make navigating large scripts much easier.
I use the open-source app Beat on my Mac which recognizes Markdown headers (including multiple levels) and basic formatting such as bold and italics. They’re obviously not part of script format, but using these tags can be very helpful during the writing process.
Thanks!!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.