#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

Visual Tools

Story Management

Import/Export

Templates

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

  1. Plugin Entry (main.ts) - StorytellerSuitePlugin extends Obsidian's Plugin class
  2. Settings - Managed via StorytellerSuiteSettingTab with extensive options
  3. Modals - ResponsiveModal base class for mobile-friendly dialogs
  4. Services - LocationService, MapManager, etc. for entity operations
  5. Views - AnalyticsDashboardView, TimelineView, NetworkGraphView
  6. i18n - Multi-language support with strings.ts and 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