JSPM

  • Created
  • Published
  • Downloads 294
  • Score
    100M100P100Q87496F
  • License MPL-2.0

A lightweight and fast markdown parser used by nlux that can be used to parse markdown text streams into DOM.

Package Exports

  • @nlux/markdown
  • @nlux/markdown/esm/markdown.js
  • @nlux/markdown/index.js
  • @nlux/markdown/umd/markdown.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@nlux/markdown) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Markdown Stream Parser by nlux 🌲✨💬

Free And Open Source Docs nlux.ai

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.

Usage

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();

Interfaces

export type MarkdownStreamParser = {
    next(value: string): void;
    complete(): void;
};

export type MarkdownStreamParserOptions = {
    syntaxHighlighter?: HighlighterExtension;
    skipAnimation?: boolean;
    onComplete?(completeCallback: Function): void;
};