# Plugins

**URL:** https://discourse.joplinapp.org/c/development/plugins/19.md?page=1

[Latest](https://discourse.joplinapp.org/latest.md) · [Categories](https://discourse.joplinapp.org/categories.md) · [Tags](https://discourse.joplinapp.org/tags.md)

**Page:** 2

---

## [Manual triggering of Plugin Editor](https://discourse.joplinapp.org/t/manual-triggering-of-plugin-editor/47564)

<div class="topic-metadata">

**Author:** [@cipherswami](https://discourse.joplinapp.org/u/cipherswami)\
**Replies:** 2\
**Last updated:** [15 October 2025 15:21 UTC](https://discourse.joplinapp.org/t/manual-triggering-of-plugin-editor/47564 "2025-10-15T15:21:48Z")

</div>

How do I manually trigger the Plugin Editor without changing the note. "onActivationCheck" only triggers if there is a note change. What can I do?

---

## [Request for changes in revisions - data - api](https://discourse.joplinapp.org/t/request-for-changes-in-revisions-data-api/47526)

<div class="topic-metadata">

**Author:** [@cipherswami](https://discourse.joplinapp.org/u/cipherswami)\
**Replies:** 2\
**Last updated:** [11 October 2025 22:26 UTC](https://discourse.joplinapp.org/t/request-for-changes-in-revisions-data-api/47526 "2025-10-11T22:26:44Z")

</div>

hello @laurent For any type of encryption plugin, flushing previous revisions after encryption is critically essential. Apparently current Data API doesn't allow it do efficiently it seems. If you provide the go-ahead …

---

## [Abcjs web audio player](https://discourse.joplinapp.org/t/abcjs-web-audio-player/43125)

<div class="topic-metadata">

**Author:** [@DragonCarmine](https://discourse.joplinapp.org/u/DragonCarmine)\
**Replies:** 2\
**Last updated:** [11 October 2025 20:46 UTC](https://discourse.joplinapp.org/t/abcjs-web-audio-player/43125 "2025-10-11T20:46:04Z")

</div>

Hello forum, I have been trying to figure out whether or not it is possible to use abcjs's Synthesized Audio functionality, so that I can add audio player controls to play rendered abcjs music with local sound files. Th…

---

## [Is there a global logger we can use in plugins](https://discourse.joplinapp.org/t/is-there-a-global-logger-we-can-use-in-plugins/47513)

<div class="topic-metadata">

**Author:** [@cipherswami](https://discourse.joplinapp.org/u/cipherswami)\
**Replies:** 4\
**Last updated:** [9 October 2025 16:49 UTC](https://discourse.joplinapp.org/t/is-there-a-global-logger-we-can-use-in-plugins/47513 "2025-10-09T16:49:18Z")

</div>

Just wondering if there is any logger which will log to "Help\>Toggle Development tools". During development it is fine there is plugin specific console which pop's up. But for normal users who have installed the plugin …

---

## [Help with Excalidraw PR: suggesting different toolbar icon](https://discourse.joplinapp.org/t/help-with-excalidraw-pr-suggesting-different-toolbar-icon/29648)

<div class="topic-metadata">

**Author:** [@bernard](https://discourse.joplinapp.org/u/bernard)\
**Replies:** 2\
**Last updated:** [4 October 2025 14:31 UTC](https://discourse.joplinapp.org/t/help-with-excalidraw-pr-suggesting-different-toolbar-icon/29648 "2025-10-04T14:31:06Z")

</div>

I've found out today via another thread that Excalidraw plugin actually works! Now that I've got it working I'd like to make some contributions. I am not, however, a software dev. If any software dev, someone with codin…

---

## [Moblie Plugins on IOS](https://discourse.joplinapp.org/t/moblie-plugins-on-ios/47433)

<div class="topic-metadata">

**Author:** [@agluck91](https://discourse.joplinapp.org/u/agluck91)\
**Replies:** 1\
**Last updated:** [30 September 2025 23:03 UTC](https://discourse.joplinapp.org/t/moblie-plugins-on-ios/47433 "2025-09-30T23:03:20Z")

</div>

Hey all, there was another topic around this, but it was closed. I know there are limitation on IOS and iPadOS due to apple restrictions. If there is a plugin that a user wanted to get into a “Recommended Plugin” state…

---

## [Bounty: 50 € for a new release of template plugin](https://discourse.joplinapp.org/t/bounty-50-for-a-new-release-of-template-plugin/40010)

<div class="topic-metadata">

**Author:** [@franzperdido](https://discourse.joplinapp.org/u/franzperdido)\
**Replies:** 18\
**Last updated:** [17 September 2025 19:41 UTC](https://discourse.joplinapp.org/t/bounty-50-for-a-new-release-of-template-plugin/40010 "2025-09-17T19:41:28Z")

</div>

There are some really useful features regarding the specification of relative dates in note templates that seem to have been merged in the plugin-templates repo, but a new version has not since been released (see #79). F…

---

## [Source code of "Google Keep to Joplin Importer" plugin](https://discourse.joplinapp.org/t/source-code-of-google-keep-to-joplin-importer-plugin/47288)

<div class="topic-metadata">

**Author:** [@JeeDee](https://discourse.joplinapp.org/u/JeeDee)\
**Replies:** 4\
**Last updated:** [13 September 2025 13:24 UTC](https://discourse.joplinapp.org/t/source-code-of-google-keep-to-joplin-importer-plugin/47288 "2025-09-13T13:24:08Z")

</div>

Hi Y’all, I’m looking into updating/fixing/maintaining the following Joplin plugin: The current version is not working because of a typo in the manifest.json (min\_app\_version should be app\_min\_version). And when fixe…

---

## [Can an Android plugin access files using joplin.plugins.dataDir?](https://discourse.joplinapp.org/t/can-an-android-plugin-access-files-using-joplin-plugins-datadir/47249)

<div class="topic-metadata">

**Author:** [@KithLo](https://discourse.joplinapp.org/u/KithLo)\
**Replies:** 9\
**Last updated:** [11 September 2025 10:07 UTC](https://discourse.joplinapp.org/t/can-an-android-plugin-access-files-using-joplin-plugins-datadir/47249 "2025-09-11T10:07:11Z")

</div>

Hello, I would like to ask if there is a way to read/write files on Android devices inside the folder returned from joplin.plugins.dataDir()?

---

## [Get tag ID by name?](https://discourse.joplinapp.org/t/get-tag-id-by-name/47241)

<div class="topic-metadata">

**Author:** [@zblesk](https://discourse.joplinapp.org/u/zblesk)\
**Replies:** 3\
**Last updated:** [10 September 2025 09:24 UTC](https://discourse.joplinapp.org/t/get-tag-id-by-name/47241 "2025-09-10T09:24:40Z")

</div>

I’m probably missing something obvious. In my plugin, I need to ensure a note has the tag ‘X’. I can do: const tagObj = await joplin.data.post(\['tags'\], null, { title: tag }); await joplin.data.post(\['tags', tagObj.id,…

---

## [Can't get size of resources in my plugin](https://discourse.joplinapp.org/t/cant-get-size-of-resources-in-my-plugin/47215)

<div class="topic-metadata">

**Author:** [@fredv](https://discourse.joplinapp.org/u/fredv)\
**Replies:** 2\
**Last updated:** [7 September 2025 23:15 UTC](https://discourse.joplinapp.org/t/cant-get-size-of-resources-in-my-plugin/47215 "2025-09-07T23:15:40Z")

</div>

Hello, I’m trying to make a plugin which calculate the full size of a note and its resources. I’m using const resources = await joplin.data.get(\['notes', noteId, 'resources'\]); to get all resources and i manage to get…

---

## [Question about Plugins dev](https://discourse.joplinapp.org/t/question-about-plugins-dev/47213)

<div class="topic-metadata">

**Author:** [@fredv](https://discourse.joplinapp.org/u/fredv)\
**Replies:** 0\
**Last updated:** [6 September 2025 09:53 UTC](https://discourse.joplinapp.org/t/question-about-plugins-dev/47213 "2025-09-06T09:53:58Z")

</div>

Hello, I love Joplin and I love coding and, with such a good tool, I’ve started to create small plugins, just to test while waiting for a good use case. I have made the first one, a test one, which only counts the numb…

---

## [Joplin App for NextCloud 30.0.14](https://discourse.joplinapp.org/t/joplin-app-for-nextcloud-30-0-14/47060)

<div class="topic-metadata">

**Author:** [@Jop435](https://discourse.joplinapp.org/u/Jop435)\
**Replies:** 1\
**Last updated:** [23 August 2025 09:14 UTC](https://discourse.joplinapp.org/t/joplin-app-for-nextcloud-30-0-14/47060 "2025-08-23T09:14:43Z")

</div>

When will the Joplin App be available for the new NextCloud version? Thanks in advance for helping replies

---

## [Is it possible to populate both text/html and text/plain (at the same time) with joplin.clipboard?](https://discourse.joplinapp.org/t/is-it-possible-to-populate-both-text-html-and-text-plain-at-the-same-time-with-joplin-clipboard/46968)

<div class="topic-metadata">

**Author:** [@bwat47](https://discourse.joplinapp.org/u/bwat47)\
**Replies:** 1\
**Last updated:** [19 August 2025 10:35 UTC](https://discourse.joplinapp.org/t/is-it-possible-to-populate-both-text-html-and-text-plain-at-the-same-time-with-joplin-clipboard/46968 "2025-08-19T10:35:48Z")

</div>

Is this supported by the joplin clipboard API? It appears that you can only use joplin.clipboard.writeHtml(html); or joplin.clipboard.writeText(plainText); to write one or the other to the clipboard and if you try some…

---

## [Idea for a Calibre Import plugin](https://discourse.joplinapp.org/t/idea-for-a-calibre-import-plugin/32978)

<div class="topic-metadata">

**Author:** [@Mick2nd](https://discourse.joplinapp.org/u/Mick2nd)\
**Replies:** 14\
**Last updated:** [17 August 2025 22:39 UTC](https://discourse.joplinapp.org/t/idea-for-a-calibre-import-plugin/32978 "2025-08-17T22:39:10Z")

</div>

Hello Together, I just wanna present here the idea for a new Calibre Import plugin. I'm interested to know whether such a plugin would be of any value and whether I should take the burden of publishing it. I worked on …

---

## [Wipe Device Data](https://discourse.joplinapp.org/t/wipe-device-data/46746)

<div class="topic-metadata">

**Author:** [@minfuhon](https://discourse.joplinapp.org/u/minfuhon)\
**Replies:** 1\
**Last updated:** [4 August 2025 00:41 UTC](https://discourse.joplinapp.org/t/wipe-device-data/46746 "2025-08-04T00:41:19Z")

</div>

Is there any way to encrypt data on hard drive and send a code that locks down all data if connected to network? If one loves Joplin and puts it on the phone and laptop, and the laptop is lost, and one doesn’t know if i…

---

## [\[Help Request\] Katex Input Helper no longer works](https://discourse.joplinapp.org/t/help-request-katex-input-helper-no-longer-works/45173)

<div class="topic-metadata">

**Author:** [@Mick2nd](https://discourse.joplinapp.org/u/Mick2nd)\
**Replies:** 3\
**Last updated:** [14 May 2025 11:28 UTC](https://discourse.joplinapp.org/t/help-request-katex-input-helper-no-longer-works/45173 "2025-05-14T11:28:10Z")

</div>

I need help! With the new version of Joplin v3.3.9 my plugin no longer works. My system: Windows 11 2024h2, Joplin desktop version. The problem: My plugin is a dialog-based plugin. It is an editor to edit math formulae…

---

## [Indeterminate Checkboxes](https://discourse.joplinapp.org/t/indeterminate-checkboxes/45344)

<div class="topic-metadata">

**Author:** [@TWSheppard](https://discourse.joplinapp.org/u/TWSheppard)\
**Replies:** 0\
**Last updated:** [11 May 2025 16:17 UTC](https://discourse.joplinapp.org/t/indeterminate-checkboxes/45344 "2025-05-11T16:17:54Z")

</div>

I'd like to have a plug-in that implements indeterminate checkboxes (boxes where the parent shows 3 states—all nested children unchecked, some checked, or all checked). The parent boxes with partially checked children ha…

---

## [\[Help Request\] Social Importer Plugin installs but doesn't appear in UI](https://discourse.joplinapp.org/t/help-request-social-importer-plugin-installs-but-doesnt-appear-in-ui/45151)

<div class="topic-metadata">

**Author:** [@H4tholdir](https://discourse.joplinapp.org/u/H4tholdir)\
**Replies:** 2\
**Last updated:** [9 May 2025 21:52 UTC](https://discourse.joplinapp.org/t/help-request-social-importer-plugin-installs-but-doesnt-appear-in-ui/45151 "2025-05-09T21:52:36Z")

</div>

Versione Inglese \[Plugin Support\] Social Importer not appearing in Joplin UI Description Hello everyone! I'm developing a plugin for Joplin called "Social Importer" that allows importing content from various social plat…

---

## [Macos Text Replacement for checkbox](https://discourse.joplinapp.org/t/macos-text-replacement-for-checkbox/45276)

<div class="topic-metadata">

**Author:** [@PacoH](https://discourse.joplinapp.org/u/PacoH)\
**Replies:** 7\
**Last updated:** [8 May 2025 01:51 UTC](https://discourse.joplinapp.org/t/macos-text-replacement-for-checkbox/45276 "2025-05-08T01:51:20Z")

</div>

I've been searching for a macOS keyboard shortcut to insert a checkbox before an item. The only ones I found did not work for me. I finally had to create my own Text Replacement to do this. Open System Settings. Search …

---

## [Deep Links in Joplin Mobile Web PWA (IOS)](https://discourse.joplinapp.org/t/deep-links-in-joplin-mobile-web-pwa-ios/45203)

<div class="topic-metadata">

**Author:** [@executed](https://discourse.joplinapp.org/u/executed)\
**Replies:** 0\
**Last updated:** [4 May 2025 02:43 UTC](https://discourse.joplinapp.org/t/deep-links-in-joplin-mobile-web-pwa-ios/45203 "2025-05-04T02:43:09Z")

</div>

Hi Joplin folks, I use mobile Web app version on IOS (PWA) for its flexibility, especially with plugins on iOS - it lets install non-recommended plugins compared to native app. I’ve been experimenting with deep linki…

---

## [Howcan I create a toolbar button that only shows up in the markdown editor (not the RTE toolbar)?](https://discourse.joplinapp.org/t/howcan-i-create-a-toolbar-button-that-only-shows-up-in-the-markdown-editor-not-the-rte-toolbar/44909)

<div class="topic-metadata">

**Author:** [@fmotion1](https://discourse.joplinapp.org/u/fmotion1)\
**Replies:** 1\
**Last updated:** [29 April 2025 20:08 UTC](https://discourse.joplinapp.org/t/howcan-i-create-a-toolbar-button-that-only-shows-up-in-the-markdown-editor-not-the-rte-toolbar/44909 "2025-04-29T20:08:36Z")

</div>

From my plugin: await joplin.commands.register({ name: 'CreateButton', label: 'Creates a button.', enabledCondition: 'markdownEditorPaneVisible && !richTextEditorVisible', iconName: 'fas fa-code', …

---

## [What are all the command strings that can be passed to "joplin.commands.execute"?](https://discourse.joplinapp.org/t/what-are-all-the-command-strings-that-can-be-passed-to-joplin-commands-execute/44905)

<div class="topic-metadata">

**Author:** [@fmotion1](https://discourse.joplinapp.org/u/fmotion1)\
**Replies:** 4\
**Last updated:** [17 April 2025 08:32 UTC](https://discourse.joplinapp.org/t/what-are-all-the-command-strings-that-can-be-passed-to-joplin-commands-execute/44905 "2025-04-17T08:32:16Z")

</div>

I've built several custom UI components in my userstyle.css and I'm now taking a journey into plugin development so I can automatically insert/surround selected text with my custom HTML and CSS class definitions to avoid…

---

## [Do I have to use font awesome icons when adding a custom toolbar icon for my plugin's commands?](https://discourse.joplinapp.org/t/do-i-have-to-use-font-awesome-icons-when-adding-a-custom-toolbar-icon-for-my-plugins-commands/44901)

<div class="topic-metadata">

**Author:** [@fmotion1](https://discourse.joplinapp.org/u/fmotion1)\
**Replies:** 3\
**Last updated:** [16 April 2025 18:24 UTC](https://discourse.joplinapp.org/t/do-i-have-to-use-font-awesome-icons-when-adding-a-custom-toolbar-icon-for-my-plugins-commands/44901 "2025-04-16T18:24:42Z")

</div>

All plugins I've looked at on GitHub use font awesome. From joplin-plugin-multimd-table-tools: { name: "formatAllTables", label: "Format all tables", iconName: "fas fa-star-of-life", // fas fa-t…

---

## [Mobile: Render image in Markdown It plugin?](https://discourse.joplinapp.org/t/mobile-render-image-in-markdown-it-plugin/44840)

<div class="topic-metadata">

**Author:** [@Heyooooooo](https://discourse.joplinapp.org/u/Heyooooooo)\
**Replies:** 13\
**Last updated:** [14 April 2025 12:00 UTC](https://discourse.joplinapp.org/t/mobile-render-image-in-markdown-it-plugin/44840 "2025-04-14T12:00:54Z")

</div>

Is it possible to render an image in the viewer from a Markdown It plugin? I have the ressource id and I need a way to convert this into an html image. I got it to work on desktop by inspecting what the src is in a norma…

---

## [Mobile: data.put doesn't update until note is closed and opened again](https://discourse.joplinapp.org/t/mobile-data-put-doesnt-update-until-note-is-closed-and-opened-again/44821)

<div class="topic-metadata">

**Author:** [@Heyooooooo](https://discourse.joplinapp.org/u/Heyooooooo)\
**Replies:** 2\
**Last updated:** [11 April 2025 13:36 UTC](https://discourse.joplinapp.org/t/mobile-data-put-doesnt-update-until-note-is-closed-and-opened-again/44821 "2025-04-11T13:36:31Z")

</div>

I'm developing a small plugin to have a persistent counter in a note that can be clicked from the viewer to be increased. I'm doing it as a markdown-it plugin and for the counter to be persistent, I'm using joplin.data.p…

---

## [Using Joplin's turndown package, size issue](https://discourse.joplinapp.org/t/using-joplins-turndown-package-size-issue/44630)

<div class="topic-metadata">

**Author:** [@Heyooooooo](https://discourse.joplinapp.org/u/Heyooooooo)\
**Replies:** 12\
**Last updated:** [11 April 2025 09:44 UTC](https://discourse.joplinapp.org/t/using-joplins-turndown-package-size-issue/44630 "2025-04-11T09:44:01Z")

</div>

Hey, I'm developing a plugin for which I'm dynamically rendering a table in HTML, but I wanted to add a feature to make the table permanent, so I need to convert it into Markdown. I tried doing it myself, but it seemed l…

---

## [Virtual file system for plugins](https://discourse.joplinapp.org/t/virtual-file-system-for-plugins/44626)

<div class="topic-metadata">

**Author:** [@sigmaSd](https://discourse.joplinapp.org/u/sigmaSd)\
**Replies:** 14\
**Last updated:** [9 April 2025 09:45 UTC](https://discourse.joplinapp.org/t/virtual-file-system-for-plugins/44626 "2025-04-09T09:45:22Z")

</div>

Hello, I wrote a plugin that allow me to insert the microphone audio into a note (like obsidian) In desktop I can write the audio file to disk, and then post it as resource: const resource = await joplin.data.p…

---

## [Fetch CORS Issue on Mobile End - Seeking Solution](https://discourse.joplinapp.org/t/fetch-cors-issue-on-mobile-end-seeking-solution/44383)

<div class="topic-metadata">

**Author:** [@HorseSword](https://discourse.joplinapp.org/u/HorseSword)\
**Replies:** 7\
**Last updated:** [18 March 2025 01:39 UTC](https://discourse.joplinapp.org/t/fetch-cors-issue-on-mobile-end-seeking-solution/44383 "2025-03-18T01:39:24Z")

</div>

Hi! I've encountered an issue while developing a plugin. The fetch function works perfectly on PC, but on the mobile app, it encounters cross-origin (CORS) problems. Is there a way to resolve this? Or should I wait for t…

---

## [Plugin API: What should \`panels.show\` and \`panels.visible\` do on mobile?](https://discourse.joplinapp.org/t/plugin-api-what-should-panels-show-and-panels-visible-do-on-mobile/37507)

<div class="topic-metadata">

**Author:** [@personalizedrefriger](https://discourse.joplinapp.org/u/personalizedrefriger)\
**Replies:** 2\
**Last updated:** [17 March 2025 13:21 UTC](https://discourse.joplinapp.org/t/plugin-api-what-should-panels-show-and-panels-visible-do-on-mobile/37507 "2025-03-17T13:21:23Z")

</div>

Summary In the mobile plugin API, joplin.views.panels.show and joplin.views.panels.visible don't work as they do on desktop. At present, when buttons with location ToolbarButtonLocation.NoteToolbar registered by plugins …

[Previous page](https://discourse.joplinapp.org/c/development/plugins/19.md)

[Next page](https://discourse.joplinapp.org/c/development/plugins/19.md?page=2)
