Saturn9 writing apps are built on small, focused packages that keep editing fast, predictable, and format-aware.
A fast, plugin-based Markdown parser that keeps source offsets attached to every token for editor and analysis workflows.
CommonMark and GitHub Flavored Markdown presets are built from composable block, inline, delimiter, and extension rules.
import {
gfmParser,
parseDocument,
reparse,
} from '@saturn9/markoffset';
let state = parseDocument(gfmParser, initialMarkdown);
state = reparse(gfmParser, state, {
from: 42,
to: 47,
insert: 'updated text',
});
console.log(state.tokens);
A format-agnostic text editor runtime with owned document state, input, rendering, history, plugins, and widget lifecycle.
Scribeframe provides transaction-based editing, virtualized rendering, stable selection, and renderer-owned widgets.
import { ScribeFrame } from "@saturn9/scribeframe";
import "@saturn9/scribeframe/styles.css";
const host = document.querySelector<HTMLElement>(
"#editor",
);
if (!host) throw new Error("Editor host not found");
const editor = new ScribeFrame(host, {
content: "Hello, Scribeframe",
ariaLabel: "Document editor",
onChange: (state) => {
console.log(state.content);
},
});