Improved pbcopy/pbpaste for OSX
The standard pbcopy and pbpaste utilities can manipulate the plaintext clipboard but have no easy way of accessing the HTML pasteboard. This module and CLI tool provide a more convenient way to access the pasteboard from node.
To get data from a specific pasteboard:
$ npx pb [type]
$ npx pb -m <type>
To set a specific pasteboard, pipe data into pb:
$ get_data | npx pb -s [type]
To list available pasteboards:
$ npx pb -l
For example, to grab the contents of the HTML pasteboard and put it on the plaintext pasteboard:
$ npx pb -m html | npx pb -s
From node, pb
exposes:
get(type)
: get pasteboard data from specified pasteboardset(type, data)
: set pasteboard data (overwrites other pasteboards)available()
: enumerate available pasteboards
This example gets the pasteboard HTML data and copies to plaintext pasteboard:
var pb = require('pb');
var HTMLOutput = pb.get('html');
pb.set('text', HTMLOutput);
type | description |
---|---|
NSStringPboardType |
plaintext |
NSHTMLPboardType |
HTML |
NSRTFPboardType |
RTF |
Please consult the attached LICENSE file for details. All rights not explicitly granted by the Apache 2.0 license are reserved by the Original Author.