Paste spreadsheet cells as a Markdown table.
Перейти к файлу
Kristján Oddsson cbb05afd4f Create .github/workflows/publish.yml 2022-03-28 14:13:05 +01:00
.devcontainer Add a .devcontainer 2022-02-28 17:05:07 +00:00
.github Create .github/workflows/publish.yml 2022-03-28 14:13:05 +01:00
examples feat: paste multiple links into markdown via comment box 2022-01-25 16:10:23 +00:00
src feat: retain links that GitHub treats as special 2022-02-01 20:02:38 +00:00
test chore: eslint 2022-02-01 20:27:01 +00:00
.eslintignore Lint configs 2020-02-20 14:24:32 -05:00
.eslintrc.json chore: eslint 2022-02-01 20:27:01 +00:00
.gitignore Extract Markdown paste behaviors 2018-09-17 16:30:16 -06:00
CODEOWNERS Create CODEOWNERS 2021-01-18 15:42:06 +00:00
LICENSE Extract Markdown paste behaviors 2018-09-17 16:30:16 -06:00
README.md docs: update README to reflect changes in #35 2022-01-27 18:26:29 -05:00
karma.config.js configure karma to use chromium 2022-02-16 22:55:58 +00:00
package-lock.json Bump karma from 6.3.14 to 6.3.16 2022-03-02 13:30:53 +00:00
package.json add chromium 2022-02-16 22:54:29 +00:00
prettier.config.js Extract Markdown paste behaviors 2018-09-17 16:30:16 -06:00
rollup.config.js Lint configs 2020-02-20 14:24:32 -05:00
tsconfig.json Don't convert HTMLCollection to Array 2022-01-26 09:59:59 +00:00

README.md

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.