Markdown Stream Parser by nlux 🌲✨💬
A lightweight JS/TS library that can be used to parse markdown streams as they are being read or generated.
It can be useful for LLM-powered applications that need to parse markdown streams in real-time.
This package is part of the nlux ecosystem.
import {
MarkdownStreamParser,
MarkdownStreamParserOptions,
createMarkdownStreamParser,
} from "@nlux/markdown";
const options: MarkdownStreamParserOptions = {
// skipAnimation: <true / false >, // default: false
// syntaxHighlighter: < Highlighter from @nlux/highlighter >
// onComplete: () => console.log("Parsing complete"),
};
const domElement = document.querySelector(".markdown-container");
const mdStreamParser: MarkdownStreamParser = createMarkdownStreamParser(
domElement!,
options,
);
// On each chunk of markdown
mdStreamParser.next("## Hello World");
// When the markdown stream is complete
mdStreamParser.complete();
export type MarkdownStreamParser = {
next(value: string): void;
complete(): void;
};
export type MarkdownStreamParserOptions = {
openLinksInNewWindow?: boolean;
syntaxHighlighter?: HighlighterExtension;
skipAnimation?: boolean;
onComplete?(completeCallback: Function): void;
};