Home / GitHub Page

Any suggestions on what plugins could be created?

I’m looking at the plugin system at the moment and there are many ways to implement this. To make sure it’s as useful as possible it would be good to gather plugin ideas - basically what feature would you like to see that could make a good plugin? (Features that have many thumbs up on GitHub don’t qualify since these would be part of the core app)

I’ve already collected these ideas over time, but I’m sure there others:

  • Merge multiple notes into one - https://discourse.joplinapp.org/t/request-combine-selected-notes/5692
  • Line numbers in text editor
  • Add a quick note using a global shortcut - display a window, enter the note title and save.
  • Import various formats - Google Keep, OneNote, etc
  • Render a website, such as a blog, from a collection of notes - static website generator
  • Export all notes as a tree structure, be notified of changes, and update the structure in real time
  • Display above a note the number of checked / unchecked to-dos in a note

Any other suggestions?

10 Likes
5 Likes

I feel that joplin needs to vote on functions, and comes with an optional log statistical analysis system to determine which functions are welcome and which functions are really frequently used (high frequency operation), and the effect of guessing out of thin air is not good. . .

1 Like

Custom buttons in the editor menu. The user can create buttons: prefix - text input - suffix. Plus a hotkey.
Example: HTML. Colors, etc. And much more that comes to mind during the work and makes it easy to create a personal algorithm.
This will fantastically expand the capabilities of the program! Oh, I miss her so much! )))

3 Likes

Yes it might make sense to move some features out as plugins too.

To get this kind of metrics we’d need to add Google Analytics to the app, which I definitely wouldn’t want. And I’d argue that asking on the forum is not guessing out of thin air :slight_smile:

1 Like

emmmmm

Just throwing some ideas out there:

Some ability to hook into different systems:

  • Keystrokes & swipe gestures (for adding new shortcut keys, swiping down to show related notes by tag, swiping up to share, swiping left to show table of contents/outline view plugin, etc)
  • Ability to add toolbar buttons in certain contexts & tags. E.g… view note context: “translate to French”, edit note context: toggle “spell check”, browse notes list context: “show all tagged ‘urgent’”).
  • Ability to add Settings panels, or an in-app editing of the config file for further extensibility.
  • Ability to add custom sidebars. E.g. Note Outline: to show all headings in a file (e.g. what Typora has), or Note Minimap: to do a scrolling preview (e.g. what VSCode has)
  • Load/save hooks: Could be used for file compression, custom on-device encryption (e.g. on shared work computers that aren’t secure), auto-exporting to other formats (e.g. creating a static website as you mentioned), syncing found date entries with caldav and similar, triggering some action on finding contacts (e.g. to email a copy of the file in certain conditions), updating information that’s gathered from external sources.
  • Ability to add tags that run when either viewed or edited (in templates or in any note). Examples: {{LiveRefresh(“www.stackoverflow.com/MyStatisticsWhatever”)}}, {{Weather(“City”)}}, {{TodaysTopNewsTopic}}.
  • Sync hooks: for additional / experimental sync targets (e.g. ssh/rsync, sftp, Amazon S3 buckets, storing in IMAP (like OSX Notes does)). Sync doesn’t necessarily have to be 1 target only, but could be multiple targets, for redundancy, or for one-way sync like sending to a website, or for importing emailed notes via reading mailboxes.
  • Edit action hook: live spell check as you type (any language), linters, live word count / statistic plugins
  • Render hooks for each component: for things like line numbers, visible spell check, formatting certain files in a different theme (like card layout for address book entries), 2nd layer encryption of part of file (e.g. if the file contained list of passwords to access a site, that would be redacted unless unlocked).

It would be nice if there were multiple ways to add plugins, depending on individual circumstances. Examples:

  1. Drop js file into remote sync location, perhaps in a plugin directory, and all .js files are listed within Joplin Settings with the option of activating them. JS file could also be ignored unless it contained some specific text (e.g. “JoplinPlugin”).
  2. Type in URL to any web link pointing to a plugin (so that they could be hosted anywhere).
  3. Also no doubt a list of plugins that get placed in the official plugins directory if accepted as common.

I like the idea of plugins, as it’s often easier to get new features developed by the community and tested before deciding if they get moved into official plugins / features.

2 Likes

Hi, hope my suggestion will match the requirements, which is to improve the current conversation.
Here are two features that I find could be part of Joplin as plugins:

  • Have a custom html template for generation (including branding, toc and navigation side panel). We could have variables to inject the content at the appropriate place, like {toc}, {content}, {metadata}, {tags}

  • Integrate with slide show frameworks like MARP (I’m a teacher and would like to keep my markdown slides in Joplin) with rendering. This second suggestion can actually be solved by the first one, as it would be acceptable for me to have only basic view of the slide content in the viewer, but complete rendrering via export as HTML.

Thanks to consider those improvements,

Regards,

4 Likes

A few more random ideas:

  • Ability to add menu item to popup menu (in various contexts). Examples for text selection: Convert text to bullets, table to bullets, list to table (dialog box to ask for separator). Could also have permanent translate as a context, spell check section, code format section, etc.
  • Copy / paste hooks to convert between formats (eg pasting in RTF and convert to markdown). Probably would check if any copy/paste hook accepts the job (where the plugin first checks the format and decides if it triggers or not), otherwise it falls through to the default action.
  • Ability for plugin to jump to position / place cursor, regardless of editor / viewer mode. Could be used for outline plugin, minimap plugin, or when going from view to edit, to jump into the file at the position where it was being viewed (e.g. common when editing via mobile app), or a plugin for mobile that when tapped in view mode, edits and brings cursor to the tapped position.
2 Likes

Inline #tags support

7 Likes

I would like to see ZimDesktopWiki’s Default Applications, with this plugin you can open any file/folder path to any application (portable or installed). Example directory paths “D:\folderpath”, you could open it on another File Manager, not just Windows Explorer. Maybe you have an image “D:\images\photo.jpg” file you want to edit, you just highlight the path and open with Portable inkscape or Portable gimp.

Here are the option you put when you set an application in ZimDesktopWiki

%f a single file path to be opened
%F a list of file paths to be opened
%u a single URL to be opened
%U a list of URLs to be opened
%c the application name

Here are some more plugin ideas from ZimDesktopWiki
Zim Wiki Plugins List

Thanks!

1 Like

Hi @laurent

I dont know if it would be useful to many people but at least for me would be very helpful a lilypond plugin to render music notation in Joplin. Today I have to open musescore to create one or two bars, take a snapshot and paste in my notes.
It’s not too painfull but it would be great if I could make it directly into Joplin.

2 Likes

Hi @laurent,
I use Joplin massively on todo list management.
Plugin for the calendar can be a huge step for todo list management on Joplin.

image

Please create calendar plugin for Joplin,
In my opinion, the plugin should work like this way :
If we set date on a note or a todo, The plugin can list notes or todos on a day by day view.

4 Likes

I’d like to see a plugin that allows you to have multiple notes open at a time in tabs, or perhaps even side by side

8 Likes

A conflict resolution plugin with colored diff.

8 Likes

Or maybe at least a way to use an external tool for this much like there’s an option to use an external editor.

Another thought: the capability for plugins to add to an area above mobile/tablet keyboard when displayed (for adding shortcut buttons, such as tabs for indenting lines).

spreadsheet editor with formatting and formula support could be useful
thanks

1 Like

I doubt this is ever going to happen. I think spreadsheet editor is a much more complicated kind of app than Joplin (how many open source note taking apps vs spreadsheets are there?)
Some things are better left to specialized apps.