Pre-release 1.3 with plugin support is now available! (Updated 31/10/20)

It can be downloaded here:

The main feature is this new release is the plugin system. Its goal is to extend the application easily by dropping JS files in the "plugins" directory.

For now I've put in place a basic framework to load and run plugins and a basic API that can be extended over time depending on the feedback from developers and users. If you'd like to give it a try there's an overview that explains how Joplin can be extended, as well as a getting started documentation and the complete plugin API documentation. There's also a tutorial that explains how to create a TOC plugin. Finally some of the technical details are in the Plugin architecture document.

At this point the feature is mostly for developers or relatively technical users because there's no UI to load and install plugins and no repository to search for existing plugins. To try a plugin, you'd drop the JS file in the profile "plugins" directory as described here: https://joplinapp.org/plugins/ Later we can add a UI to do this as well as some way to enable/disable a plugin.

The current API was based on the suggestions on this thread and several of these plugins can now be implemented. For testing purpose, some of them have actually already been implemented.

To make Joplin more extendable, a lot of code has been refactored or converted to TypeScript, and while all tests pass and I don't know of any bug, I wouldn't be surprised if I missed something so if you find any bug, please report it here.

Also if you try to create a plugin and run into any issue, please let me know. Also if a feature is missing to implement a plugin you have in mind, it shouldn't be too hard to add it to the plugin API.

16 Likes

Joplin v1.3.2
Win10 Pro x64 1909 (VM)

When using the CodeMirror editor and viewer combo the only selectable option in View > Layout button sequence is Editor/Viewer/Split View. All the other options are greyed out.

In the file menu there is now an option "Hide Joplin" which does not appear to do anything?

Thanks for testing @dpoulton

This will be fixed in the next pre-release.

Looks like a macOS menu item that made its way to Windows during the menu refactoring. I will remove it from there.

1 Like

Joplin v1.3.2
Windows 10 Pro x64 (VM)

In v1.1.4 if templates had not been set up there were only options to open the template folder or (IIRC) refresh. In 1.3.2 all options are present before any templates are set up, is this intended? There's no crashes and the dialogs seem to work, there's just nothing to show.

Also in 1.1.4 if the option to open the template folder was selected when there was not yet a template folder, one was created. With 1.3.2 Windows displays an error dialog stating that the folder cannot be found.

There's also this:

image

Interesting, maybe now, I can try to use plugins to implement joplin web services and add the required api

Is that from a plugin you've created?

Nope. I only ran:

Joplin for Desktop

Copyright © 2016-2020 Laurent Cozic
Joplin 1.3.1 (dev, darwin)

Client ID: e354a932e6e143c782264aad4112b674
Sync Version: 2
Profile Version: 34
Keychain Supported: Yes

Revision: 30543104b (dev)

A new version is available with many bug fixes: https://github.com/laurent22/joplin/releases/tag/v1.3.4 Thanks everyone for testing the release!

1 Like

For some reason I still hve those 2 menu entries as soon as I start Joplin:

image

Joplin for Desktop

Copyright © 2016-2020 Laurent Cozic
Joplin 1.3.3 (dev, darwin)

Client ID: e354a932e6e143c782264aad4112b674
Sync Version: 2
Profile Version: 34
Keychain Supported: Yes

Revision: 7e78d7716 (dev)

I couldn't replicate this on Windows, but it seems to be some menu items from Chromium.

Btw, the above output shows the copyright, even though I removed the first 3 lines from the copy to clipboard, since the first 3 lines have no practical use for version output.

I'm not sure what happened, but I guess after refactoring that was an oversight.

A new pre-release is now available. In order to support creating plugin custom command, the command system has been reworked and simplified. Normally it shouldn't have any visible effect, but under the hood it's much better and easier to maintain. As a bonus, these improvements mean we can now have a Command Palette - press Ctrl+Shift+P to invoke it and type the command.

By the way, for consistency I've now moved GotoAnything under Ctrl+P too and that means Print is now without a shortcut. I expect less and less people are printing documents, especially in this Covid time, and when they do it's not as often as when using GotoAnything or the Command Palette, so I feel it makes sense to remove Ctrl+P as a shortcut for Print. I'm only doing it now because of course you can restore this shortcut in the Keyboard Shortcut config.

There's two remaining issues left before the official 1.3 version is released:

  • Plugins: Adding support for "content scripts" to support adding Markdown-It or CodeMirror plugins for example.
  • Fix Keychain support on Windows.

The release is available there:

2 Likes

A new pre-release is now available - getting there!

What's new in this pre-release (compared to the one before):

  • New: Plugins: Added support for content scripts
  • Improved: Api: Allow preserving timestamps when updating a note
  • Improved: Display more info while an ENEX file is being imported
  • Improved: Made toolbar buttons bigger and swap order of bullet and number lists
  • Improved: Plugins: Allow custom commands to return a result
  • Fixed: Certain commands no longer worked. (#3962)
  • Fixed: Fixed freeze when importing ENEX as HTML, and fixed potential error when importing resources (#3958)
  • Fixed: Fixed setting issue that would cause a password to be saved in plain text in the database, even when the keychain is working
  • Fixed: Regression: Fixed format of copied version info

Version 1.3 .9 is now available, and if there's no major issue left that might be the prod 1.3 release:

  • New: Added openProfileDirectory command and menu item
  • Improved: Make “update is available” dialog box easier to use (#3877 by @roryokane)
  • Improved: Sort tags in a case-insensitive way
  • Fixed: Fix invalid tag state issue when importing notes or syncing
  • Fixed: Fix search filters when language is in Korean or with accents (#3947 by Naveen M V)
  • Fixed: Fixed Cut menu item

I'm not sure if it's on purpose, but when I select an entry in the Command palette with the mouse, nothing happens. Using the keyboard (Enter) works. I use mostly the keyboard anyway, but it's something I've noticed.

Joplin 1.3.9 (dev, darwin)

Client ID: e354a932e6e143c782264aad4112b674
Sync Version: 2
Profile Version: 34
Keychain Supported: Yes

Revision: c254ca524 (dev)

Changing the keyboard shortcuts via the Keyboard Editor does not work anymore.

I changed the Command palette to Cmd+Shift+G and hit save. Then the back button. When I go back to the Keyboard Editor, the Command palette is back to Cmd+Shift+P.

1 Like

It works for me. Is there any error in the console?

Nope, unfortunately no errors in the console.

At the bottom of the video is the console. You have to move the mouse away from the video while playing it.

I also noticed that the menu item New sub-notebook does not exist anymore.