Skip to content

CrossCopy/clipboard

Repository files navigation

Clipboard

NPM Version CI

NPM Package: https://www.npmjs.com/package/@crosscopy/clipboard

GitHub: https://github.com/crosscopy/clipboard

This is a clipboard API npm package that allows you to copy and paste data to and from the clipboard. There doesn't seem to be a good clipboard package for node.js (that supports data format beyond text), so I decided to make one. Data Format Supported

  • Text
  • Image
  • Rich Text Format
  • Files
  • HTML

Acknowledgements

  • ChurchTao/clipboard-rs is written in rust, which is used to provide the native clipboard support for this package across Linux, Windows and MacOS. This package is basically a wrapper around this rust package.
  • napi.rs was used to create the node.js addon for this package, so that API calls written in rust can be called from node.js.

API

Detailed API function declarations can be found in the index.d.ts.

Or you can refer to the source code in src/lib.rs.

Sample

import Clipboard from "@crosscopy/clipboard";

console.log(await Clipboard.getText());

console.log(await Clipboard.getHtml());

if (await Clipboard.hasImage()) {
  console.log(await Clipboard.getImageBase64());
} else {
  console.log("No Image");
}

Plan

A clipboard listener will be added soon for monitoring clipboard changes and get notified when the clipboard content changes.

Publish

Everything is done with GitHub Action.

Run npm version patch to bump the version. Then git push --follow-tags to push the changes and tags to GitHub. GitHub Action will automatically build and publish.

About

Clipboard API with text + image read/write/watch function for MacOS, Windows, Linux

Resources

Stars

Watchers

Forks

Packages

No packages published