/obsidian-fountain-editor

Obsidian plugin for formatting Fountain screenplay syntax in the editor

Primary LanguageTypeScriptMIT LicenseMIT

Fountain Editor - Obsidian Plugin

Obsidian plugin for Fountain (screenplay) syntax highlighting in the editor.

banner

📺 Youtube Demo: Obsidian Fountain - Live Editor (Plugin Showcase)

Obsidian Downloads GitHub stars


🔨 Usage

🏁 Quickstart

  1. 📥 Click HERE to open the installation page in Obsidian.
    1. General installation instructions Link →
    2. Manual installation Link →
  2. 📄 Create a new file and just add cssclasses: fountain to the frontmatter metadata Properties.
  3. 🎨 You will get automatic syntax highlighting/styling according to the Fountain syntax rules!
---
cssclasses:
  - fountain
---
# Opening Hook

> THE STINK LINK <

FADE TO:

EXT. PUBLIC RESTROOM - DAY

A POLICE OFFICER steps into a dingy restroom. She winces.

POLICE OFFICER (V.O.)
I *smell* a rat...

= Use Fountain's Synopsis to escape into [[regular markdown]]! #so-cool

💿 Manual Installation

  1. 🆕 You may install directly with BRAT using the link of this repo (https://github.com/chuangcaleb/obsidian-fountain-editor).
  2. 📤 You can also go to the repo's Latest Releases page and manually download the obsidian-fountain-editor-[version].zip file, then extract it into your .obsidian/plugin directory!

📢 Notice

  1. 🎉 We're past functional MVP v1.0.0! You may start using this plugin professionally and safely. Just keep in mind that there are still pending optimizations and incomplete features.
  2. 🛟 That said, this plugin should only extend your view & should never modify any local files! Worst case scenario if something breaks, just force restart your Obsidian or manually remove this plugin from your community-plugins.json list.

🎯 Goals

📍

Make Obsidian a competitive option among Fountain writing editors.

🔗 The main selling point is to be able to connect/link/annotate your helper notes directly with your screenplay, at the exact location where you referenced it, by allowing Markdown links/tags/extended syntax.
🤞 The 2nd selling point is to integrate the Fountain screenwriting workflow with all of Obsidian's ecosystem that fosters idea-exploration and knowledge-management (Plus, psssst, it's FREE).
🧩 In a similar vein, certain Obsidian plugins can add sorely missing features in your Fountain screenplay writing workflow. The chief missing jigsaw piece that bothers me is that Fountain requires all your content in a single file — which can get tedious when you have 120+ pages. There's an Obsidian plugin solution for this, and likely one for any problem.
🔎 Competition does not mean lack of cooperation! As explained in our design principle of scope, this plugin will try to not do double-work if possible, and will try to outsource/handover features to other Synergistic Tools!

✨ Features

  • 🎨 Get Fountain syntax highlighting in Editing View (Source mode or Live Preview)!
  • Specify which individual notes get Fountain styling with cssclasses: fountain in your frontmatter (opt-in basis, subject to change)
  • 🛁 Enjoy extended Obsidian syntax where possible — bring your regular Obsidian markdown, tools, plugins, and workflow!
    • 🧰 Leverage Obsidian!Markdown: Use Links, Tags, Embedded Notes / Images / Audio, Graph...
    • 🛏️ Feel at home: Fountain's Section and Emphasis syntax don't add new styles — which means they'll look like familiar Obsidian Headings and inline text styles!
    • 🪓 Opt-out into regular Obsidian!Markdown syntax highlighting with Fountain's Synopsis token!
  • 🤝 Combine with your favorite Obsidian community plugins like Longform!
  • 🔧 Fine-tune the styling using CSS variables with the format --fountain--*... see base.css for the exposed CSS variables!
  • 🧑‍💻 Hack in missing features — with Obsidian's open-contribution development, there'll be no more "it would've been perfect, if only they had x feature"!

📖 See Design Guidelines to understand our implementation!


🤝 Synergistic Tools

📖 Explore Synergistic Tools for details on how they work together with this plugin!


💝 Contributing

👀 Overview

😎 Don't know how to code? You can contribute

  • 🪲 Report bugs on the Issue tab!
  • 📣 Share (the link to) this plugin around on forums and channels and with your friends!
    • 🌟 Star this repo to receive updates & help raise awareness — if this project has been worth one button click to you!
  • 🗣️ Engage with others in the Discussions tab!
  • ✍🏼 Create a screenplay project using this plugin!
    • 📸 Showcase your work of how you took advantage of mixing the best of Fountain + Obsidian. Then I can reuse your examples in promotions, and maybe get inspiration for new features too! hehe

🤓 Know how to code? You can contribute too

  • 🔀 Open a Pull Request! Focus on critical bugs and priority features first.
  • 🪲 Report a bug — but with your specialized technical diagnosis!
  • 🫱 Send some advice! Not just a first-time Obsidian plugin dev, but my first public community project.

💝 See Contributing for proper technical details!

🤙 Contact

The General - Discussions tab is a neat place you can just tag me in, because you also invite anyone from the community to join in the conversation! It's also better for keeping the context scoped within this project/repo.

If you want a more personal DM'ing (or just to send a private note of thanks!), you can reach me on Discord#chuangcaleb! You can also reach out by email to dev@chuangcaleb.com!


🔃 Related Projects

  • Darakah/obsidian-fountain: Obsidian plugin to edit, write and render Fountain Writing Syntax for screenplays and scripts
    • Formats Fountain syntax, just like this plugin
    • But for preview mode only, and must be wrapped in a code block
    • 2.5 years+ old project
  • chuangcaleb/ffluent: CLI to bundle atomic Fountain screenplay files
    • My attempt to replicate longform but for Fountain files, as a CLI.
    • Uses a json/yaml file at each folder directory to configure a custom sequence! So you can have complex folder organization structures
    • Marked as abandoned since this project, but it may be of interest to you!
  • Highland 2
    • Made by the creator of Fountain.
    • Features its own text editor app, WYSIWYG, "Revision Mode" and analysis tools.
    • Since everything is wrapped in a nice bow, it's probably the best Fountain-writing app if you're not technical.