@github/paste-markdown

Paste spreadsheet cells as a Markdown table.

Usage no npm install needed!

<script type="module">
  import githubPasteMarkdown from 'https://cdn.skypack.dev/@github/paste-markdown';
</script>

README

Paste Markdown objects

  • Paste spreadsheet cells and HTML tables as a Markdown tables.
  • Paste URLs on selected text as Markdown links.
  • Paste text containing links as text containing Markdown links.
  • Paste image URLs as Markdown image links.
  • Paste markdown as markdown. See @github/quote-selection/Preserving markdown syntax for details.

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>

Development

npm install
npm test

License

Distributed under the MIT license. See LICENSE for details.