#project #task #storytellrsuite
![[storyteller.base]]
Storyteller Suite - Project Overview
What Is This?
Storyteller Suite is a comprehensive Obsidian plugin for worldbuilding and story management. It provides tools for managing characters, locations, events, items, chapters, scenes, maps, timelines, and more—all stored as Markdown files with YAML frontmatter.
Related Concepts: Software engineering | Data Structures | Collections
Key Information
| Field | Value |
|---|---|
| Plugin ID | storyteller-suite |
| Current Version | 1.5.3 |
| Min Obsidian Version | 1.0.11 |
| Author | Maws |
| License | MIT |
| Repository | maws7140/obsidian-storyteller-suite |
Goals & Milestones
Core Features
Entity Management
- Characters - Profiles with descriptions, backstories, relationships, custom fields, tags, and images
- Locations - Places with descriptions, history, parent/child hierarchy, and metadata
- Events - Timeline-aware events with dates, outcomes, character involvement
- Plot Items - Artifacts/items with owners, locations, and plot-critical flags
- References - Miscellaneous notes with categories and tags
- Chapters & Scenes - Narrative structure with status, priority, beats
- Groups - Collections of entities with color coding
Visual Tools
- Dashboard - Unified view for all entities with filtering and search
- Timeline View - Interactive event timeline with Gantt chart support
- Network Graph - Cytoscape.js-powered relationship visualization
- Map System - Leaflet-based maps with entity markers
Story Management
- Multi-Story Support - Isolated data folders per story
- One Story Mode - Flat, single-story layout option
- Custom Folders - Configurable folder structure
- Gallery System - Image management with entity linking
Import/Export
- Document Import - Parse DOCX, EPUB, PDF, Markdown, RTF, ODT, HTML, Fountain, JSON
- Compile Engine - Export manuscripts with customizable workflows
- Entity Extraction - Auto-detect characters/locations from imported text
Templates
- Prebuilt Templates - Fantasy Kingdom, Cyberpunk Metropolis, Murder Mystery, etc.
- Custom Templates - Save and reuse entity configurations
- Variable Substitution - Dynamic
{{variable}}placeholders
Technology Stack
| Technology | Purpose |
|---|---|
| TypeScript | Primary language |
| esbuild | Build/bundling |
| Vitest | Testing framework |
| Leaflet | Map rendering |
| Cytoscape.js | Network graph visualization |
| vis-timeline | Timeline visualization |
| chrono-node | Natural language date parsing |
| js-yaml | YAML frontmatter handling |
| luxon | Date/time manipulation |
Data Model
All entities are stored as Markdown files with YAML frontmatter:
---
name: "Character Name"
description: "Brief description"
tags: [protagonist, warrior]
customFields:
weapon: "Sword"
allegiance: "Kingdom"
---
## Description
Full description goes here...
## Backstory
Character history...
Architecture Highlights
- Plugin Entry (
main.ts) -StorytellerSuitePluginextends Obsidian'sPluginclass - Settings - Managed via
StorytellerSuiteSettingTabwith extensive options - Modals -
ResponsiveModalbase class for mobile-friendly dialogs - Services -
LocationService,MapManager, etc. for entity operations - Views -
AnalyticsDashboardView,TimelineView,NetworkGraphView - i18n - Multi-language support with
strings.tsand locale JSON files
Quick Start for Developers
# Install dependencies
npm install
# Development build (watch mode)
npm run dev
# Production build
npm run build
# Run tests
npm run test
Key Directories
src/
├── main.ts # Plugin entry point
├── types.ts # TypeScript interfaces
├── modals/ # All modal dialogs
├── views/ # Dashboard, Timeline, Network views
├── compile/ # Manuscript compilation
├── import/ # Document parsing
├── templates/ # Template system
├── leaflet/ # Map integration
├── i18n/ # Internationalization
└── utils/ # Utility functions
Roadmap
@card
time: 2024-12-12
title: Beta
content:
Plug in launched into beta
@card [color-red]
time: 2024-12-12
title: Launch
content:
Plug accepted into obsidian store
@card [color-green]
time: 2024-12-12
title: Launch
content:
Plug accepted into obsidian store
@card [color-blue]
time: 2024-12-12
title: Launch
content:
Plug accepted into obsidian store
Resources & Links
- 01-Project-Structure - Detailed file organization
- 02-Core-Plugin-Architecture - Main plugin class and settings
- 03-Entity-Management - Entity types and operations
- 04-Modals-System - Modal dialog patterns
- 05-Timeline-System - Timeline and Gantt features
- 06-Map-System - Leaflet map integration
- 07-Template-System - Template creation and usage
- 08-Import-Export - Document parsing and compilation
- 09-Internationalization - Translation system
- 10-Build-And-Testing - Development workflow