Socket
Socket
Sign inDemoInstall

@github/paste-markdown

Package Overview
Dependencies
0
Maintainers
15
Versions
38
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @github/paste-markdown

Paste spreadsheet cells as a Markdown table.


Version published
Weekly downloads
15K
decreased by-1.44%
Maintainers
15
Created
Weekly downloads
 

Readme

Source

Paste Markdown objects

Installation

$ npm install @github/paste-markdown

Usage

import {subscribe} from '@github/paste-markdown'

// Subscribe the behavior to the textarea.
subscribe(document.querySelector('textarea[data-paste-markdown]'))

Using a library like selector-observer, the behavior can automatically be applied to any element matching a selector.

import {observe} from 'selector-observer'
import {subscribe} from '@github/paste-markdown'

// Subscribe the behavior to all matching textareas.
observe('textarea[data-paste-markdown]', {subscribe})

Excluding <table>s

Some <table>s are not meant to be pasted as markdown; for example, a file content table with line numbers in a column. Use data-paste-markdown-skip to prevent it.

<table data-paste-markdown-skip>
  ...
</table>

Granular control for pasting as plain text

If you're wanting more granular support of pasting certain items as plain text by default, you can pass in the controls config at the subscribe level.

Our config support looks as follows:

import {subscribe} from '@github/paste-markdown'

// Subscribe the behavior to the textarea with pasting URL links as plain text by default.
subscribe(document.querySelector('textarea[data-paste-markdown]'), {defaultPlainTextPaste: {urlLinks: true}})

In this scenario above, pasting a URL over selected text will paste as plain text by default, but pasting a table will still paste as markdown by default.

Only the urlLinks param is currently supported.

If there is no config passed in, or attributes missing, this will always default to false, being the existing behavior.

Development

npm install
npm test

License

Distributed under the MIT license. See LICENSE for details.

Keywords

FAQs

Last updated on 27 Mar 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