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.
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
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"
.
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
If you'd like to use a custom build from a specific commit do the following:
git clone https://github.com/KL13NT/clippy.git
cd clippy
git checkout <commit hash>
without the<>
npm install
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.
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
In development, the electron-forge dev command is used to start the application in development mode.
npm run dev
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
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.
This projects is licensed under the GNU GPLv3 License.
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!