Socket
Socket
Sign inDemoInstall

solid-markdown

Package Overview
Dependencies
88
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    solid-markdown

Markdown renderer for solid-js


Version published
Weekly downloads
858
decreased by-15.3%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

solid-markdown

solid-markdown

Render markdown as solid components.

The implementation is 90% shamelessly copied from https://github.com/remarkjs/react-markdown.

Changes include:

  • Replacing React specific component creation with SolidJS components
  • Porting the implementation from javascript with JSDoc types to typescript

Please check the original repo for in-depth details on how to use.

Installation

npm install solid-markdown

Usage

import { SolidMarkdown } from "solid-markdown";

const markdown = `
# This is a title

- here's
- a
- list
`;
const App = () => {
  return <SolidMarkdown children={markdown} />;
};

Rendering strategy

There's an extra option you can pass to the markdown component: renderingStrategy: "memo" | "reconcile".

The default value is "memo", which means that the markdown parser will generate a new full AST tree each time (inside a useMemo), and use that. As a consequence, the full DOM will be re-rendered, even the markdown nodes that haven't changed. (Should be fine 90% of the time).

Using reconcile will switch the strategy to using a solid store with the reconcile function (https://docs.solidjs.com/reference/store-utilities/reconcile). This will diff the previous and next markdown ASTs and only trigger re-renders for the parts that have changed. This will help with cases like streaming partial content and updating the markdown gradually (see https://github.com/andi23rosca/solid-markdown/issues/32).

<SolidMarkdown renderingStrategy="reconcile" children={markdown} />;

TODO

  • Port unit tests from from original library

Keywords

FAQs

Last updated on 03 Jun 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc