Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

solid-markdown

Package Overview
Dependencies
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

solid-markdown

Markdown renderer for solid-js

  • 2.0.12
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
818
decreased by-70.86%
Maintainers
1
Weekly downloads
 
Created
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

Package last updated on 03 Jun 2024

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc