Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rnkn/fountain-mode
Emacs major mode for screenwriting in Fountain plain-text markup
https://github.com/rnkn/fountain-mode
emacs emacs-lisp fountain screenwriting scriptwriting writing
Last synced: 6 days ago
JSON representation
Emacs major mode for screenwriting in Fountain plain-text markup
- Host: GitHub
- URL: https://github.com/rnkn/fountain-mode
- Owner: rnkn
- License: gpl-3.0
- Created: 2014-01-16T05:45:05.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2024-11-06T02:20:26.000Z (about 2 months ago)
- Last Synced: 2024-12-02T05:02:04.967Z (27 days ago)
- Topics: emacs, emacs-lisp, fountain, screenwriting, scriptwriting, writing
- Language: Emacs Lisp
- Homepage: https://fountain-mode.org
- Size: 4.59 MB
- Stars: 399
- Watchers: 15
- Forks: 15
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: NEWS.md
- License: LICENSE
Awesome Lists containing this project
README
Fountain Mode
=============[![MELPA stable](https://stable.melpa.org/packages/fountain-mode-badge.svg)][1]
[![MELPA](https://melpa.org/packages/fountain-mode-badge.svg)][2]Fountain Mode is a screenwriting program for GNU Emacs using the
Fountain plain text markup format.For more information about the Fountain format, visit
![screenshot](screenshots/02.png)
Features
--------- Support for the Fountain 1.1 specification
- Export to PostScript or PDF using `troff`
- WYSIWYG auto-align elements (display only, does not modify file
contents) specific to script format, e.g. screenplay, stageplay or
user-defined formats
- Traditional TAB auto-completion writing style
- Highly accurate pagination calculation
- Navigation by section, scene, character name, specified character
name, or page
- Integration with `outline` to fold/cycle visibility of sections,
scenes and notes
- Integration with `electric-pair-mode` to insert emphasis delimiters
with single key (i.e. `*` or `_`)
- Integration with `imenu` (sections, scene headings, notes)
- Integration with `auto-insert` for title page metadata
- Integration with `which-function-mode` to display live-update of current
page and page count in mode-line
- Automatically add/remove character `(CONT'D)`
- Toggle syntax highlighting of each element
- Toggle visibility of emphasis and syntax markup
- Optionally display scene numbers in margins
- Intelligent insertion of page breaksMost common features are accessible from the menu. For a full list of
functions and key-bindings, type `C-h m`.Requirements
------------- Emacs 24.4
- seq 2.20 (part of Emacs 25 and later)Exporting
---------Fountain Mode can export to PostScript or PDF using the troff format as
an intermediary. This requires only a `troff` program on your system,
such as [GNU roff](https://www.gnu.org/software/groff/).Alternatively you can export using an external command-line program,
such as:- [afterwriting](https://github.com/ifrost/afterwriting-labs/blob/master/docs/clients.md) (JavaScript)
- [Wrap](https://github.com/Wraparound/wrap) (Go)
- [screenplain](https://github.com/vilcans/screenplain) (Python 3, requires ReportLab for PDF)
- [Textplay](https://github.com/olivertaylor/Textplay) (Ruby, requires PrinceXML for PDF)The option `fountain-export-command-profiles` provides some shell
commands to interface with these tools, but you are encouraged to edit
or completely replace these to suit your own needs. The format is simple
while still allowing for flexibility.Installation
------------The latest stable release of Fountain Mode is available via
[MELPA-stable][1]. First, add MELPA-stable to your package archives:M-x customize-option RET package-archives RET
Insert an entry named `melpa-stable` with URL: `https://stable.melpa.org/packages/`Refresh the package archive and install:
M-x package-refresh-contents RET
M-x package-install RET fountain-mode RETIf you prefer the latest but perhaps unstable version, do the above
using [MELPA][2].Advanced Installation
---------------------Download the latest tagged release, move this file into your `load-path`
and add to your `init.el` file:(require 'fountain-mode)
If you wish to contribute to or alter Fountain Mode's code, clone the
repository into your load-path and require as above:git clone https://github.com/rnkn/fountain-mode.git
Bugs and Feature Requests
-------------------------Use GitHub issues or send me an email (address in the package header).
For bugs, please ensure you can reproduce with:$ emacs -Q -l fountain-mode.el
[1]: https://stable.melpa.org/#/fountain-mode
[2]: https://melpa.org/#/fountain-modeDonations
---------Donations are graciously accepted via [Github][3], or [Liberapay][4].
[3]: https://github.com/sponsors/rnkn
[4]: https://liberapay.com/rnkn/