Werner Thomassen Andrade187 downloadsExtend Longform projects with configurable note groups, timelines, kanban boards, and an editable subplot grid.
Longform Extended is an Obsidian plugin for writing and organizing novels, essays, screenplays, and other long projects. It is a fork of Longform: everything Longform does — scenes, drafts, word counts, writing sessions, and compile workflows — is still here, with configurable note groups and a small set of views and stats around the project.
[!NOTE] Compatibility: Longform Extended uses Longform's
longformfrontmatter and project layout, so existing Longform projects keep working without changes.
For security reasons, external JavaScript is not supported in the Compile tab.
Requires Obsidian 1.14 or newer. The kanban board uses Obsidian's native Bases Kanban view, and the subplot grid uses a plugin-provided Bases view; enable the Bases core plugin.
| Feature | What it does | Docs |
|---|---|---|
| Scenes and drafts | An ordered, nestable scene list with multiple drafts. | Multiple-scene projects |
| Single-scene projects | Short works that live as one note and reuse the same compile workflow. | Single-scene projects |
| Word counts and sessions | Project, draft, and scene counts, plus daily writing goals. | Word counts and sessions |
| Subplots, characters, and custom groups | Built-in Subplots and Characters groups plus any number of custom folders, each with its own tree. | Subplots, characters, and note groups |
| Compile | Workflow-based steps that turn a project into a manuscript. | Compile |
| Autocompile | Recompiles a project and regenerates its status files on a per-project interval. | Compile |
| Timeline | Chronological scene view driven by a timeframe property, with per-level subplot tables. |
Timeline |
| Kanban | Status-driven board; dragging a card writes its status back to the note. | Kanban |
| Subplot grid | Editable grid of subplots and characters across the scene hierarchy. | Subplot grid |
| Overview block | Daily writing-goal bar plus compile, refresh, and open actions, always visible above the tabs. | Overview |
| Generated files | Where the timeline, kanban, and subplot grid are written. | Generated files |
The additions are deliberately lightweight: no required fields, no per-scene character or plot schema, and no separate story database. Each auxiliary group — Subplots, Characters, and custom groups — is just a name, a folder, an optional template, and an order overlay; folder membership decides which notes belong to it.
Once Longform Extended is listed, install it from Settings → Community plugins → Browse, search for Longform Extended, then install and enable it.
main.js, manifest.json, and styles.css from the latest release..obsidian/plugins/longform-extended/ in your vault.The plugin folder is longform-extended, not upstream Longform's longform/.
[!WARNING] Do not enable Longform and Longform Extended at the same time. Both discover and track the same
longformprojects through their own panes and commands, so enabling both duplicates the UI and can make them compete over the same projects. Disable upstream Longform before enabling Longform Extended.
npm install
npm run build
npm run build writes the release files to the repository root. Copy main.js, manifest.json, and styles.css into the plugin folder as above.
type flag is needed.Build/ inside the project folder; the Scene, Subplot, and Character Folders are under Project Metadata.New to Longform or Longform Extended? Getting Started covers creating multi-scene and single-scene projects, drafts, and the inherited workflow. Longform's own guide is the upstream reference.
/). Because that folder contains the Subplot and Character Folders, the subplot grid will not generate until you choose a distinct, non-nested Scene Folder.If a project looks out of sync after a frontmatter or folder change, see Troubleshooting.
User-script compile steps were removed in 1.0.0 for security and linter compliance. See Compile.
| Topic | Document |
|---|---|
| Getting started, project creation, and drafts | GETTING_STARTED.md |
| Multiple-scene projects | MULTIPLE_SCENE_PROJECTS.md |
| Single-scene projects | SINGLE_SCENE_PROJECTS.md |
| Index files and frontmatter | INDEX_FILE.md |
| Word counts and writing sessions | WORD_COUNTS.md |
| Compile | COMPILE.md |
| Timeline | TIMELINE.md |
| Kanban | KANBAN.md |
| Subplot grid | PLOT_GRID.md |
| Generated files and output paths | GENERATED_FILES.md |
| Subplots, characters, and note groups | PLOTS_AND_CHARACTERS.md |
| Overview block | OVERVIEW.md |
| Scene-only styling | SCENE_ONLY_STYLING.md |
| Commands | COMMANDS.md |
| Troubleshooting | TROUBLESHOOTING.md |
| Migrating from Longform 1.x | MIGRATING_FROM_VERSION_1_TO_2.md |
| Upstream Longform repository | Longform |
The repository includes four source-only sample projects in examples/: a short story, a long story, an essay, and a screenplay. The essay uses Arguments and References in place of plots and characters.
npm install
npm run dev # watch build
npm run lint # type check and lint
npm run test:unit # unit tests
npm run build # production build
Bug reports, feature requests, and pull requests are welcome in the issue tracker.
Sponsorship is deeply appreciated: github.com/sponsors/wandrade.
Longform Extended is dual-licensed.
Longform is created by Kevin Barrett. Longform Extended is maintained by Werner Thomassen Andrade.
The fork was explicitly approved by the original author.