Skip to content

jerrywdlee/clipy-mate-cli

Repository files navigation

Clipy Mate Cli

npm version Build Status Coverage Status Known Vulnerabilities NPM

Sync Your Clipy Snippets to Gist.
Powered by Clipy Mate Core and inspired by Settings Sync.

English | 日本語

Introduction

Clipy is a Clipboard extension app for macOS. Clipy Mate Cli allow user sync Clipy's snippets to their GitHub gist.

clipy-mate_demo

[Attention] This package will access Clipy's Realm Database directly, so you may need to restart Clipy App if snippets downloaded.

Table of Contents

Requirements

  • MacOS 10.10 and over
  • Clipy v1.2.0 and over
  • Node.js v8.9.0 and < v12 (Why?)

Installation

Use the package manager npm to install.

$ npm i -g clipy-mate-cli
$ clipy-mate

Or just run it by npx command

$ npx clipy-mate-cli

Usage

Get Your GitHub Token

  1. Login Your GitHub account
  2. Visit https://github.com/settings/tokens/new
  3. Input Note like Clipy-Mate
  4. Check the gist checkbox
  5. Click [Generate token] botton
  6. Copy the token and memo it

fig-1
fig-2
fig-3
fig-4

User Interface

$ clipy-mate

Init Clipy Mate

asciicast

Upload Snippets

asciicast

Download and Merge Snippets

asciicast

[Danger!] Download and Reset local snippets

asciicast

Show Helper

asciicast

Command Line

You can register commands below as cron jobs.

# helper
$ clipy-mate -h
# Or
$ clipy-mate --help

# Version
$ clipy-mate -v
# Or
$ clipy-mate --version

# Create or Update GitHub Settings
$ clipy-mate -e -t <YOUR TOKEN> [-g <YOUR GIST ID>]

# Upload Clipy snippets
$ clipy-mate -u
# Or
$ clipy-mate --upload
# Or
$ clipy-mate upload

# Download and merge Clipy snippets
$ clipy-mate -m
# Or
$ clipy-mate --merge
# Or
$ clipy-mate merge

# [Danger!] Download and Reset local snippets
# It will delete all local snippets
$ clipy-mate -f
# Or
$ clipy-mate --force
# Or
$ clipy-mate force

Configuration File

Configuration File saved at:

$HOME/.clipy-mate-cli/settings.json

Gist Construction

Clipy Mate will create a gist named <YOUR_NAME>/ClipyMateCli includes files below:

  • ClipyMateCli, This file is Clipy Mate upload info file.
  • clipySnippets.json, This file is snippets for download and import.
  • clipySnippets.xml, This file is as same as clipySnippets.json but can be imported by Clipy App.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

BSD-3-Clause