Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
benji300 committed Mar 28, 2021
1 parent 83305ca commit 356ad1a
Showing 1 changed file with 35 additions and 148 deletions.
183 changes: 35 additions & 148 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,17 @@
# Joplin Command Collection
# Joplin Quick Move

Command Collection is a plugin to extend the UX of [Joplin's](https://joplinapp.org/) desktop application.
Quick Move is a plugin to extend the UX of [Joplin's](https://joplinapp.org/) desktop application.

It provides a collection of [new commands](#new-commands) to improve and speed up your daily work with the keyboard in Joplin.
Furthermore it maps also some [internal commands](#mapped-commands) to the main menu to allow to assign keyboard shortcuts to them.
It provides a collection of [commands](#commands) to quickly move notes to other notebooks without user interaction.

> :warning: **CAUTION** - Requires Joplin **v1.7.10** or newer
## Table of contents

- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Commands](#commands)
- [New commands](#new-commands)
- [Copy notebook name](#copy-notebook-name)
- [Copy notebook ID](#copy-notebook-id)
- [Copy note name](#copy-note-name)
- [Copy note ID](#copy-note-id)
- [Copy Markdown link](#copy-markdown-link)
- [Toggle to-do state](#toggle-to-do-state)
- [Set URL](#set-url)
- [Open URL in browser](#Open-url-in-browser)
- [Touch note](#touch-note)
- [Move note in list](#Move-note-in-list)
- [Quick move note](#quick-move-note)
- [Mapped commands](#mapped-commands)
- [Keyboard shortcuts](#keyboard-shortcuts)
- [User options](#user-options)
- [Feedback](#feedback)
Expand All @@ -35,23 +22,19 @@ Furthermore it maps also some [internal commands](#mapped-commands) to the main

## Features

- Add [new commands](#new-commands) to ...
- Update note properties (e.g. [Toggle to-do state](#toggle-to-do-state))
- [Move note](#move-note-in-list) in current note list
- Quickly [move note to notebook](#quick-move-note) without interaction
- and more...
- Map Joplin [internal commands](#mapped-commands) to the main menu
- Allows to assign keyboard shortcuts to them
- Provides commands to quickly [move notes to specified notebooks](#usage) without interaction

## Installation

### Automatic (Joplin v1.6.4 and newer)

- Currently not supported
- Open Joplin and navigate to `Tools > Options > Plugins`
- Search for the plugin name and press install
- Restart Joplin to enable the plugin

### Manual

- Download the latest released JPL package (`*.jpl`) from [here](https://github.com/benji300/joplin-commands/releases)
- Download the latest released JPL package (`*.jpl`) from [here](https://github.com/benji300/joplin-quick-move/releases)
- Open Joplin and navigate to `Tools > Options > Plugins`
- Press `Install plugin` and select the previously downloaded `jpl` file
- Confirm selection
Expand All @@ -60,146 +43,48 @@ Furthermore it maps also some [internal commands](#mapped-commands) to the main
### Uninstall

- Open Joplin and navigate to `Tools > Options > Plugins`
- Search for the `Command Collection` plugin
- Press `Delete` to remove the plugin completely
- Search for the plugin name and press `Delete` to remove the plugin completely
- Alternatively you can also disable the plugin by clicking on the toggle button
- Restart Joplin

## Commands

### New commands

This plugin provides the commands as described in the following chapters.

> **NOTE** - Keyboard shortcuts can be assigned in user options via `Tools > Options > Keyboard Shortcuts`. Search for the command label where shortcuts shall be added.
> **NOTE** - All commands can also be accessed via the `Command palette`.
#### Copy notebook name

| Command Label | Command ID | Default Key | Menu contexts |
| ------------------ | ---------------- | ----------- | ----------------- |
| Copy notebook name | `copyFolderName` | - | `NotebookContext` |

Copy the name of the selected notebook to the clipboard. If triggered via command palette, the parent notebook name of the selected note is copied.

#### Copy notebook ID

| Command Label | Command ID | Default Key | Menu contexts |
| ---------------- | -------------- | ----------- | ----------------- |
| Copy notebook ID | `copyFolderId` | - | `NotebookContext` |

Copy the ID of the selected notebook to the clipboard. If triggered via command palette, the parent notebook ID of the selected note is copied.

#### Copy note name

| Command Label | Command ID | Default Key | Menu contexts |
| -------------- | -------------- | ----------- | ------------------------------------ |
| Copy note name | `copyNoteName` | - | `Note>Properties`, `NoteListContext` |

Copy the name of the selected note(s) to the clipboard.

#### Copy note ID

| Command Label | Command ID | Default Key | Menu contexts |
| ------------- | ------------ | ----------- | ----------------- |
| Copy note ID | `copyNoteId` | - | `Note>Properties` |

Copy the ID of the selected note(s) to the clipboard.

#### Copy Markdown link

| Command Label | Command ID | Default Key | Menu contexts |
| ----------------- | ------------------ | ----------- | ----------------- |
| Copy Markown link | `copyMarkdownLink` | - | `Note>Properties` |
## Usage

Basically a replica of the internal command. But with an entry in the main menu, so that a keyboard shortcut can be assigned to it.
Also the command is available via the command palette now.
1. [Install](#installation) the plugin

#### Toggle to-do state
1. Navigate to the settings/options view and select the `Quick Move` tab

| Command Label | Command ID | Default Key | Menu contexts |
| ------------------ | ----------------- | ----------------------- | ------------------------------------ |
| Toggle to-do state | `toggleTodoState` | `CmdOrCtrl+Shift+Space` | `Note>Properties`, `NoteListContext` |
1. Select notebooks for the quick move actions (to be used) to enable quick moving of notes

Toggle the state of the selected to-do(s).
1. Assign [keyboard shortcuts](#keyboard-shortcuts) to the corresponding quick move action [commands](#commands)

#### Set URL

| Command Label | Command ID | Default Key | Menu contexts |
| ------------- | ---------- | ----------- | ----------------- |
| Set URL | `editURL` | - | `Note>Properties` |

Opens dialog to edit the URL of the note.

#### Open URL in browser

| Command Label | Command ID | Default Key | Menu contexts |
| ------------------- | ---------- | ----------- | -------------------------------- |
| Open URL in browser | `openURL` | `-` | `Note>Properties`, `NoteToolbar` |

Opens the note source URL in the system's default browser.

#### Touch note

| Command Label | Command ID | Default Key | Menu contexts |
| ------------- | ----------- | ----------- | ------------------- |
| Touch note | `touchNote` | - | `Note>Move in list` |

"Touch" the last updated timestamp of the selected note and set it to now.
Useful to move a note to the top of a list when the 'Updated date' sort is active.

> **NOTE** - Title or content of the note are _not_ changed
#### Move note in list

| Command Label | Command ID | Default Key | Menu contexts |
| -------------- | -------------- | -------------------- | ------------------- |
| Move to top | `moveToTop` | `CmdOrCtrl+num8` | `Note>Move in list` |
| Move up | `moveUp` | `CmdOrCtrl+Alt+num8` | `Note>Move in list` |
| Move down | `moveDown` | `CmdOrCtrl+num2` | `Note>Move in list` |
| Move to bottom | `moveToBottom` | `CmdOrCtrl+Alt+num2` | `Note>Move in list` |

Change the position of a note in the current note list (notebook), if `Sort notes by` is set to `Custom order`.

> **NOTE** - Sorting in `All notes` is _not_ possible
> **NOTE** - The default keys using num keys in order to trigger the commands also when focus is set to note list
#### Quick move note

| Command Label | Command ID | Default Key | Menu contexts |
| --------------- | ------------ | ------------------- | ----------------------- |
| Move to: `name` | `quickMove1` | `CmdOrCtrl+Shift+1` | `Note>Move to notebook` |
| Move to: `name` | `quickMove2` | `CmdOrCtrl+Shift+2` | `Note>Move to notebook` |
| Move to: `name` | `quickMove3` | `CmdOrCtrl+Shift+3` | `Note>Move to notebook` |
| Move to: `name` | `quickMove4` | `CmdOrCtrl+Shift+4` | `Note>Move to notebook` |
| Move to: `name` | `quickMove5` | `CmdOrCtrl+Shift+5` | `Note>Move to notebook` |

Quickly move (without interaction) selected note to one of five predefined notebooks.

> **NOTE** - `name` is the user defined name of the notebook. See [user options](#user-options) for details
## Commands

### Mapped commands
This plugin provides additional commands as described in the following table.

The following internal commands are mapped to main menu entries. This allows to assign keyboard shortcuts to them.
| Command Label | Command ID | Default Key | Menu contexts |
| ------------------- | ------------ | ------------------- | ----------------- |
| Quick move action 1 | `quickMove1` | `CmdOrCtrl+Shift+1` | `Note>Quick move` |
| Quick move action 2 | `quickMove2` | `CmdOrCtrl+Shift+2` | `Note>Quick move` |
| Quick move action 3 | `quickMove3` | `CmdOrCtrl+Shift+3` | `Note>Quick move` |
| Quick move action 4 | `quickMove4` | `CmdOrCtrl+Shift+4` | `Note>Quick move` |
| Quick move action 5 | `quickMove5` | `CmdOrCtrl+Shift+5` | `Note>Quick move` |
| Quick move action 6 | `quickMove6` | `CmdOrCtrl+Shift+6` | `Note>Quick move` |
| Quick move action 7 | `quickMove7` | `CmdOrCtrl+Shift+7` | `Note>Quick move` |
| Quick move action 8 | `quickMove8` | `CmdOrCtrl+Shift+8` | `Note>Quick move` |
| Quick move action 9 | `quickMove9` | `CmdOrCtrl+Shift+9` | `Note>Quick move` |

| Command Label | Command ID | Default Key | Menu contexts |
| ---------------- | -------------- | ------------------- | ----------------------- |
| Checkbox | `textCheckbox` | `CmdOrCtrl+Shift+C` | `Edit` |
| Set alarm | `editAlarm` | - | `Note>Properties` |
| Move to notebook | `moveToFolder` | `CmdOrCtrl+Shift+M` | `Note>Move to notebook` |
Quickly move the selected note(s) to a predefined notebook. The notebooks can be defined in the [user options](#user-options).

### Keyboard shortcuts

Keyboard shortcuts can be assigned in user options via `Tools > Options > Keyboard Shortcuts` to all [commands](#commands) which are assigned to any main menu entry (e.g. `Tools`).
Keyboard shortcuts can be assigned in user options via `Tools > Options > Keyboard Shortcuts` to all [commands](#commands) which are assigned to the `Note` menu context.
In the keyboard shortcut editor, search for the command label where shortcuts shall be added.

## User options

This plugin adds provides user options which can be changed via `Tools > Options > Command Collection`.
This plugin adds provides user options which can be changed via `Tools > Options > Quick Move` (Windows App).

> **NOTE** - Changes to the quick move actions are only applied after a restart of the app.
> **NOTE** - The notebook selection lists are only updated at startup. To display new or renamed notebooks, Joplin must be restarted.
## Feedback

Expand All @@ -214,10 +99,12 @@ This plugin adds provides user options which can be changed via `Tools > Options

You like this plugin as much as I do and it improves your daily work with Joplin?

Then I would be very happy if you buy me a :beer: or via [PayPal](https://www.paypal.com/donate?hosted_button_id=6FHDGK3PTNU22) :wink:
Then I would be very happy if you buy me a :beer: or :coffee: via [PayPal](https://www.paypal.com/donate?hosted_button_id=6FHDGK3PTNU22) :wink:

## Development

The npm package of the plugin can be found [here](https://www.npmjs.com/package/joplin-plugin-quick-move).

### Building the plugin

If you want to build the plugin by your own simply run `npm run dist`.
Expand Down

0 comments on commit 356ad1a

Please sign in to comment.