Skip to content

talentlessguy/streamdown

Repository files navigation

Top lang Vulnerabilities Version Last commit Minified size Codecov Downloads

LOOKING FOR MAINTAINERS: DM @v_1rtl on telegram or email on [email protected]

Streamdown

Stream markdown to HTML using marked that later can be piped to response.

WARNING!!! Markdown wasn't intended to be streamable so this library has a lot of limitations. Splitting markdown in chunks might break code markup, folded lists and link references. Use this library only for very basic markdown. The better approach would be using a string instead. A detailed explanation of why Streamdown is not the best approach is written here.

Install

pnpm i streamdown

Usage

import { createServer } from 'http'
import { streamdown } from 'streamdown'
import { createReadStream } from 'fs'

createServer((_, res) => {
  createReadStream('page.md').pipe(streamdown()).pipe(res)
}).listen(3000)

API

import { streamdown, Streamdown } from 'streamdown'

new Streamdown(opts)

Create a new Streamdown transform stream with options for transform and MarkedOptions from marked

const md = new Streamdown({
  markedOptions: {
    headerIds: false
  },
  transformOptions: {
    encoding: 'utf8'
  }
})

streamdown(opts)

Create a new Streamdown transform stream and return it.

About

[LOOKING FOR MAINTAINERS] ⬇️ Stream markdown to HTML

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published