Skip to content
/ clippy Public

Clippy is a minimal clipboard history manager made with Electron!

License

Notifications You must be signed in to change notification settings

KL13NT/clippy

Repository files navigation

Clippy! 🚀

Commitizen friendly GitHub Workflow Status GitHub issues License GitHub package.json version Github All Contributors

Clippy is a minimal clipboard history log made with Electron, Preact, and htm. It doesn't store nor sync your clipboard. I can't showcase how badly I needed a clipboard log. I needed one to the point of building one.

Some of my projects are available on my projects page.

Features

This project is minimal. Features include:

  • Keeps track of copied text and images!
  • Search entries by text or image using labels
  • Copy any entry back
  • Delete entries from the log
  • Pin/Bookmark entries to the top of the list
  • Clear log (can clear system's clipboard as well)
  • Clear system's clipboard only (history untouched)
  • Open links embedded in copied text in your system's default browser
  • Copy links embedded in copied text
  • Select and delete multiple entries
  • Select and copy multiple text entries
  • Complete keyboard navigation
  • Seamlessly download updates in the background and apply then when wanted
  • Auto updates
  • Syntax highlighting for code

Frequently Asked Questions

Versioning

To bump the package version use npm version as found in the NPM documentation. I recommend using a signed commit message as well by running npm version patch -s -m "chore(release) %s".

How do I use search?

You can be specific about what you want to search, typing:

  • image: png to search for PNG images

  • image: jpeg to search for JPEG images

  • image: <any valid image MIME subtype> to search for other formats

  • text: <some text> to search for text

Or just type text directly!

See MIME types for images here

Building From Source

If you'd like to use a custom build from a specific commit do the following:

  1. git clone https://github.com/KL13NT/clippy.git
  2. cd clippy
  3. git checkout <commit hash> without the <>
  4. npm install
  5. npm run make

Make sure to have git, nodejs, and npm installed locally. Note that all commits on master build successfully, so you won't need to change anything.

Getting Started

This project uses electron-forge under the hood, allowing us to develop, build, and publish our Electron app with simple commands.

We use Commitizen to manage the contribution flow.

When committing we use npm run commit instead of git commit. This initiates commitizen and starts its interactive cli to create commit messages that follow the guidelines. The commit is then linted by commitlint to make sure it follows the Angular Commit Message Format. For the reasoning behind this see issue #39.

If you're an advanced user you may use git commit directly as long as your commits follow the guidelines.

Make sure to sign your commits. This guarantees ownership of your contributions.

To developer or build locally you first need to install the dependencies. We use npm for this.

npm install

Developing

In development, the electron-forge dev command is used to start the application in development mode.

npm run dev

Building

You can build from source using the make command. Building for a target OS requires that respective OS. You probably won't need to run this unless you're on the core team.

npm run make

✋ Wish to Contribute?

I'm open to all kinds of contributions. If you want to:

🤔 Suggest a feature
🐛 Report an issue
📖 Improve documentation
👩‍💻 Contribute to the code

You are more than welcome. Before contributing, kindly check the guidelines.

License

This projects is licensed under the GNU GPLv3 License.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Kacper Wąsik

💻

Mahmoud Salah

💻

This project follows the all-contributors specification. Contributions of any kind welcome!