Display pdf in Joplin?

Is it possible to have Joplin display pdf files in the viewer instead of just a link?

Win 10 64 bit

Joplin 1.3.10 (prod, win32)

Client ID: 61da1c8af75f4a16ba48e72b31d78869
Sync Version: 2
Profile Version: 34
Keychain Supported: Yes

Revision: 0f6932f1e (master)

With the plug-in system, I think this is no longer a difficult task

There are quite a few posts on the forum about this. This comment was added to a recent one.

Thanks. I'm beginning to come to the conclusion that Joplin is for techies, not for non-technical migrants from Evernote. I have seen nowhere within the programme indicating where I might find plugins or how to install them. Equally I have no idea what Electron is, I thought it was a form of Visa credit card! :slight_smile:

2 Likes

The plugin is in 1.3 beta (this is a major update): Pre-release 1.3 with plugin support is now available! (Updated 29/10/20)
Electron is the implementation of Joplin's underlying technology. It is used to write the desktop version of Joplin for three platforms at a time (otherwise it will be written three times): https://www.electronjs.org/

Thank you for the explanation. I am running 1.3x. I have seen references on here to plugins but never a mention of specific offerings. I suppose they will be along now that they can be added. I hope there will be a tutorial to tell us how to do that.

This is still a very initial plug-in system, and there are still many things that are not perfect, including ordinary plug-in installation and uninstallation, which are troublesome. . . @rafikiphoto
In addition, Iā€™m not sure if the joplin plugin allows you to get the currently edited note while running a custom rendering function. What will happen in a visible-is-what-you-get editor? If there is no problem, I can try to use pdf.js to implement joplin pdf preview support. @laurent

I'm grateful for the clarification.

I found out how to implement it, but it seems that there is still a problem with joplin's plugin system. . . @laurent
Steps to reproduce

  1. Use yo joplin to generate the initial project
  2. Open joplin and specify the path in the plugin, for example C:\Users\rxliuli\Text\vscode\joplin-plugin-test\dist\index.js
  3. Open the developer console, an error occurs

In addition, there is a very annoying problem that the console will always disappear every time you use Ctrl+R to refresh, which is very unfavorable for developing Joplin plugins. I will continue to wait for news, and I may not migrate my notes until Joplin 1.3 is stable.

Besides, there is no other meaning, I want to know if I encounter development-related problems, besides @laurent, who else should I ask?

Joplin 1.3.10 (prod, win32)

Client ID: 54cec8f847fc4c5ba6ebeac38e34890e
Sync Version: 2
Profile Version: 34
Keychain Supported: No

Revision: 1e3bd937e (master)

As the error message says, the manifest is missing. Did you run npm run dist in the plugin folder? Is there a manifest.json file in /src?

Yes, I confirm that index.js/manifest.json exists

{
	"manifest_version": 1,
	"name": "joplin-plugin-test",
	"description": "",
	"version": "1.0.0",
	"author": "",
	"homepage_url": ""
}

You need to give it the path to the plugin folder, so C:\Users\rxliuli\Text\vscode\joplin-plugin-test should work.

1 Like

If you haven't done so already it would be worth starting from this page and try to build a simple plugin: https://joplinapp.org/api/get_started/plugins/

I try to use MarkdownItPlugin to deal with this problem, but I am not sure how to communicate with the main process, for example, I need to get the binary stream of the PDF, but the premise is that the script in the assets can communicate with the main process and delegate the main process in some way Get the binary stream and return it to the markdown rendering script. I saw the following description

  • The context argument is currently unused but could be used later on to provide access to your own plugin so that the content script and plugin can communicate.

What is the type of context? Are there any examples available?

Not sure, I'd need to see the code, but couldn't you package the renderer code as a markdown-it plugin? At the moment, the context param is not implemented, but why does it need to communicate with the plugin process?