Export issues: is this the state of the art in Joplin?

Operating system

Windows

Joplin version

3.5.12

Desktop version info

Joplin 3.5.12 (prod, win32)

Gerät: win32, 11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz
Client-ID: b1a7356cc715476ca7f073c2d34355de
Sync-Version: 3
Profil-Version: 49
Unterstützter Schlüsselbund: Ja
Alternative Instanz ID: -

Revision: 449555c

Athena: 2.2.3
Backup: 1.5.1
Easy Backlinks: 1.2.1
Joplin Evernote Links Replacer: 1.0.0
Source URL Opener: 1.1.0
Tagging: 1.0.3

What issue do you have?

I am testing Joplin, as after much research for a good replacement for Evernote, Joplin came out as the top candidate.

One of my issues with Evernote (beyond dramatic and repeated price increases and the avalanche of AI features that I don't need) ist that HTML export has been broken sind the legacy version was withdrawn). Evernote support doesn't respond and doesn't care.

Surely, I thought, this is a non-issue in Joplin. Well, I was wrong.

Here is what I did:

  1. imported an Evernote Enex file as HTML (which created a notebook)
    This worked fine, the notes look almost the same, attachments are there as links in the notes and the links work fine in Joplin.

  2. Exported the notebook (called Test) as "HTML as directory"
    This worked in the sense that it did not crash, but the results...
    A folder with the name of the notebook was created: "z:\Test"
    In "Test" Folder the .html files were created, all the notes as .html files
    _resources folder with the attachments was created, attachment file name obfuscated
    BUT: the "_resources" folder is NOT in the folder "z:\Test" but rather in "z:", parallel to "Test". This is already a problem, because then several notebooks share the same! _resources folder. Why is _resources not in "Test", parallel to "HTML"?
    ISSUE #1

This is just the start, as all links to the attachments in the *.html files are broken! They don't point to the attachment files in "_resources". They point to the *.html file itself (self reference).
ISSUE #2

OK, so this export is broken, let's try other exports.

  1. I exported the same notebook as "MD" - mark-down
    A folder by the name of "Test" was created. To my surprise: there are *.html files in it, not *.md files!
    ISSUE #3
    But perhaps the links now work. And they do!
    The _resources folder is still parallel to "Test"
    ISSUE #4

In _resources the file names are NOT obfuscated. But their file extensions are gone, or almost always gone or truncated: a "this-is-a-pdf-file.pdf" becomes sometimes (rarely)
"this-is-a-pdf-file.pdf" (ok), more often
"this-is-a-pdf-file.pd" (note the missing f) but mostly
"this-is-a-pdf-file" (note the entirely missing file extension)
ISSUE #5

I have to say though that clicking on the attachment link in an .html file does open the correct attachment. Amazing.

I tried many times, because I could hardly believe what I saw.

So, is this the state of the art with Joplin?
Or if I am to blame, what do I do wrong?

I'd be grateful for an explanation or hints.

Thank you,
JT

I can’t comment on everything you’ve mentioned in your post, but specifically regarding this point:

Joplin distinguishes between HTML directory and HTML file export. HTML directory export will use a shared _resources folder because attachments can be used by more than one note and across multiple notebooks, so this is by design.

The HTML file export however will export a single html file with all attachments embedded, which sounds more like what you want. However this feature is only supported for exporting a single note, by right clicking a note and exporting it from the context menu

1 Like

Thank you, that’s useful. But that means that if I do a mass export (several notebooks) then I end up with a gigantic _resources folder (in which all attachments of all notes are placed) and there is no way to know, which attachments are for which notebooks and therefor no way to selectively delete a notebook (I can delete the HTML files of it, but not the attachments). Is that still by design?

Thank you,

JT

If you only need certain notebooks, you could export just these? By right-clicking on it and selecting Export

@laurent FYI the new multi notebook select feature does not support exporting multiple notebooks at once.

If it’s just a few notebooks though, they could be exported individually and then merge the _resources directories

That is probably doable, thank you. But only for a few notebooks. For a hundred: not really manageable. It is strange that this is not a configurable behavior. An option for having the _resources folders in each of the exported notebook-folders is probably just a few lines of code and it would be dramatically helpful.

It would be handy for the case that a user wants to stop using Joplin and export all notebooks to a hierarchical directory tree in HTML format with working links, as an archive.

Sorry, I am a newbie, where can one post requests for future features?

@Juelicher-Trainee

#2

  • I believe those 'obfuscated ids' are database ids
  • the two export modes that “un-obfuscate” them in a way you want are MD Markdown and MD Markdown + Frontmatter
  • technically HTML Directory “un-obfuscates” them but the original filenames are alt text in the HTML file

#3

  • some testing seems to truncate filenames which sometimes are note titles at 51 characters

suggestion:

  • self contained single note export
    • use PDF or HTML File where attachments are embedded
  • moving from Joplin into new note taking system
    • use MD Markdown were note title is used as the filename but truncated
    • or MD Markdown + Frontmatter if you want the un-truncated title inside the markdown along with some other properties as frontmatter
    • don't use HTML Directory because it will use database id's for your attachment filenames as you found in your #2

I do agree having all the attachments mixed together in /_resources is sometimes what you do not want.

An improvement could be an option to have /_resources be per notebook directory. Like how export HTML Directory has a /pluginAssets per notebook directory.

De-duping requires users to potentially carry around a giant directory of resources to make only a subset of notes complete. And complicates greatly moving them around other systems. Even a file system where some branch of notes needs to go somewhere else.

My use case would be exporting and then working with only portion of the note tree.

It's makes me re-evaluate how much to put in one profile in Joplin. Which in turn complicates profile management and Joplin Cloud usage.

An option to break these out into their respective notebooks would be helpful in my use case too.

Thank you, we are in similar boat (if not the same).

My use case simply calls for a hierarchical folder tree by notebook, each folder self contained, easily searchable and not needing another notetaking system to use as an archive.

I managed to find a solution outside of Joplin, but it semi-automated and needs serial work.

I saw that the original filenames of the attachments are in fact in the '*.html files, together with the obfuscated (or database id) names. I managed to write a bash script that needs to be executed after the export of each notebook.

It goes through the (joint or shared) attachment folder and for each attachment it finds the HTML file names in the notebook subfolder, that refer to it. It renames the links to the attachments to the original filename in the HTML file, then it renames the attachment file itself to same filename, then it moves it to Notebook/_resources (notebook specific _resources folder).

When done, the original _resources folder is empty.

Then the user has to repeat the whole procedure for the next notebook.

We end up with a set of folders, one for each notebook. In each folder there is a private _resources subfolder with the attachments for the HTML files in that notebook-folder only. The attachments have their original, human readable names and the links in the HTML-files correctly point to them, but with readable (original links).

Thanks,

JT