-
-
Notifications
You must be signed in to change notification settings - Fork 5.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Spec: Export to Markdown with yaml front matter #5224
Comments
If you have any feedback or suggestions feel free to comment and start a discussion. The above spec will be modified based on those discussions. |
I suppose internal links should be converted to use file names. Or full paths even. Attachments should be exported too, with similar naming rules. There might be some that do not have a title, e.g. a photo taken directly from the app, in which case using the id is probably ok. |
If the user exports note A which links to note B, should only A be exported or both? Maybe it should be configurable. |
I believe the current Markdown exporter preserves link to notes by linking to files instead. In fact would it make sense to create this new exporter as an extension of the current one? On the front end there will be two Markdown exporters but internally it would just one but with an option to toggle YML header on or off?
I wonder if we should keep all the files as Markdown regardless of markup type (since Markdown can embed HTML). Otherwise it might make things more complicated, in particular because the generated HTML won't be valid with the YML header. |
Caleb, which format are you using to output long and lat? Btw, do we have a concept of timezones in the internal storage of timedate? If you don't know, I can look it up. But if we do, we should add a timezone (e.g. as an offset). It always makes me a bit nervous, if I see a datetime without TZ. |
I don't know anything about lat/long formats, so I was just going to copy what is used in RAW exports.
I don't know, sorry.
Even if we don't store a timezone, it probably wouldn't hurt to tack on the system timezone. |
For the time format, as we don't store a timezone it would have to be UTC I think. And it would be better to use a standard format like ISO 8601. |
My notes show my local time for updated and created. If we export that time without TZ as UTC, the time (and sometimes date) will be wrong. Or do you mean the datetime in the metadata is UTC. I will check that. I have to run a few errands now, but I should get to it this evening. |
Looks like it is: joplin/packages/lib/models/BaseItem.ts Line 299 in 8b08f0d
|
Sure it's UTC in the metadata. Not sure how anything would work, especially sync, if it wasn't. When it's displayed in the UI it's converted to local time, and when it's exported as RAW I believe it's ISO 8601. |
Yep, this is true. I had a slight brain freeze there. |
One suggestion: for future compatibility, it's nice if you know the version of the exporter, in case someday you want to change the YAML. This can be as simple as a YAML tag like Also, for internationalization do you need to specify UTF-8 or something to identify different character sets? (Might just be my ignorance here, so ignore this if it's irrelevant) |
e.g. let's say you export on date X, but you haven't installed the latest Joplin version... Not sure, if versioning is necessary, since it's not a real schema, but rather free text. However, if Caleb wants to use versioning, I'd rather use something like: |
@richardsprague that's a good suggestion and something we'll need to be mindful of. However, the primary purpose of this exporter is to provide a format that is friendly to non-technical users. The second goal is to provide an easy format for other note taking apps to ingest. The final goal is data stability, and it's not really a goal. If you're looking for a stable backup format, the JEX or RAW formats are what should be used. As for UTF-8, I'm not sure what the default behaviour is in Joplin. I believe it reads UTF-8. If other exporter/importers work for you, then you can expect this to work as well. |
I agree that the goal of this format is to provide a user friendly export format, so adding computer properties is out of scope. For the version number, it's not an issue - we probably will never need it but if we do we can assume that if the field is not present, it's version 1. Encoding indeed should always be UTF-8, there's no need to support other encodings. |
It would be very helpful if the exporter also set the created and updated time stamp in the file system metadata (ie. ctime and mtine on Linux) as well. Some programs already use that when importing. |
That might be personal preference but I don't like when applications do that. Suddenly I have some files from 2015 even thought that's not when they were created. I wonder if it can cause issues with certain backup programs too. |
Totally get that it's a preference, but in my mind the whole point is that the data was created in 2015. The point of the export is to represent the the data in Joplin in the most useful way possible, it doesn't matter the actual file was created 2 minutes ago because that's not useful information in this context. It shouldn't cause any problems with backups. They are all new files so will be backed up because they don't exist on the destination. |
I've started working on this, so I thought I should give a brief update. Basically, I've been able to inherit a lot of behaviour from the current markdown export. I have updated the spec above to reflect that. |
Yes I think that would be a good idea. I guess it could use the same logic as for the notes to avoid naming conflicts. |
I'm working on a project (privately for now) that I would like to be interoperable with Joplin, so standardizing Joplin's metadata headers would be enormously helpful. It doesn't look like anyone has mentioned this, but a good metadata schema to use for Joplin notes could be the W3C Schema.org's Regarding JEX as a package format, I don't know if there's a better place to suggest this, but it would be nice if the package were to follow the macOS Document Package guidelines (including registering the format in Joplin.app's Info.plist) to a sufficient extent that macOS (and probably also iOS) would recognize JEX archives as being Joplin "documents". EDIT: I just made a separate issue on this topic. Beyond this, it would be nice if JEX or something similar was more broadly a cross-application standard package format for "markdown bundles" (for lack of a better name), which could include one or more markdown files and any attachments within a single archive. This format could then be treated similarly to In addition to the aforementioned macOS Document Package compatibility, another related format that JEX could borrow from or interoperate with is |
I just saw this disaster zone of a thread, and I should emphasize that I honestly don't care about how Joplin stores its notes internally; rather, my suggestions above are specific to JEX export and WebDAV sync (though the Schema.org schemas could be implemented more broadly). Basically I'd like to be able to have an application that is not Joplin be able to reliably sync/talk with an application that is Joplin, and standardizing the metadata headers in either case is an important part of doing so. |
I agree that YAML can suffer from what I might call the “AppleScript problem” in that making it more human-readable can make it harder to properly format more complex data structures. At the same time the advantage of human-readability can outweigh the problems for simple, flat metadata. Like basically if the YAML headers are at the top they’re at least more readable than, say, email headers. Again, it’s more important IMHO to make the headers work with other applications than it is to make the headers perfectly “just so”. For example, R Markdown seems to use YAML headers, so Joplin could try and work with that precedent (among others). There’s a tutorial for R Markdown YAML headers on GitHub here. |
thanks |
Thanks for the comments @elsiehupp, my apologies for not replying earlier. I read through this when you first commented, but I was in full on implementation mode and forgot to leave a reply.
It's certainly interesting! I think it would be great to have an exporter/importer that deals with that schema, but for this one the goal is really to have something as simple/approachable as possible. I looked in to the multimarkdown and r-markdown formats and they look similar enough that we can support them (limited) for import! |
@CalebJohn Thanks, looking forward to this. Even a dev version whenever you have one. |
@huyz |
Thanks for that. I'm running it. Could we have the timezone in the dates? |
That's a good point. We don't store the time zone so we can't display that, but I think the date shouldn't be in "local time" when saving the MD file because we can't know what exact time this is. @CalebJohn shouldn't the time be saved as UTC instead? Probably ISO 8601 |
The dates are stored in timezone-naive format in the DB? So I guess we have to rely on the assumption that all the timestamps are in local time, right? I figure you need to make that same assumption to be able to convert a timezone-naive datetime to UTC anyway. Btw, I prefer ISO 8601 timestamp with a space instead of a |
Yes if it's valid ISO without the T we can do that. But it needs the Z to specify UC. |
@CalebJohn A minor request but could the keys in the frontmatter be lowercased? I know there's no standard, but it seems to be more common to have lowercase, which makes plugins in other note tools work better out of the box when |
@CalebJohn Also, if we have:
I would rather the info be completely omitted since it's obviously wrong and takes up space. |
I thought about this while implementing it and ultimately decided to output local time without time zone. With that said, the importer handles a variety of date formats including formats that include a timezone. This means that users are free to specify a timezone and the note will import exactly as expected. I will add a test to ensure this remains true.
The space isn't valid ISO 8601, but its is valid with RFC 3339. Which is probably what matters more.
The purpose of this exporter is skewed more towards user friendliness and less towards interop with other services. From what I've seen, most other services don't even use updated/created. Title is very common though, so it could be potentially worthwhile to change this. Specifically I tested with pandoc, and it doesn't like the capitalization. I'll make the update and if @laurent22 disagrees it will be easy to revert.
Thanks, I had originally intended to do it that way (see the spec above), but I forgot at some point and it got missed. It's corrected now. |
You know what, actually, I think your solution might make the most sense. In my case, it turned out to be helpful that there was no timezone. Because that told me to look closer and to learn that Joplin uses timezone-naive "user times". So this spurred me to write a post-processing perl script to add the timezone based on the dates and what I remember about my travels, which would be a lot more accurate than just putting a misleading local timezone.
Oh yeah, not since 8601-1:2019. TIL |
…porter/importer (laurent22#5465)
commit 5cd4537 Author: Laurent Cozic <laurent@cozic.net> Date: Thu Nov 11 17:29:13 2021 +0000 Server: Rename "ReadOnly" mode to "ReadAndClear" to avoid any confusion commit ec8b9b8 Author: Kenichi Kobayashi <ken1kob@users.noreply.github.com> Date: Fri Nov 12 02:28:32 2021 +0900 Desktop: Fixes laurent22#5694: Sync-scroll support for HTML notes (laurent22#5695) commit 4bfb4db Author: Laurent Cozic <laurent@cozic.net> Date: Thu Nov 11 16:36:43 2021 +0000 Server: Fixed S3 connection string record in db commit 4fc3bcb Author: Laurent Cozic <laurent@cozic.net> Date: Thu Nov 11 16:32:34 2021 +0000 Server: Fixed S3 storage connection and improved connectiob checks commit 01826d9 Author: Laurent Cozic <laurent@cozic.net> Date: Thu Nov 11 16:31:37 2021 +0000 ignore files commit 73137cf Author: Laurent Cozic <laurent@cozic.net> Date: Thu Nov 11 16:12:46 2021 +0000 Server: Hide credentials from the log commit b58ea0f Author: Helmut K. C. Tessarek <tessarek@evermeet.cx> Date: Thu Nov 11 10:50:15 2021 -0500 Desktop: Add shortcut for bulleted list (laurent22#5698) Ref: https://discourse.joplinapp.org/t/shortcut-for-lists/21646 commit d7e0877 Author: Kenichi Kobayashi <ken1kob@users.noreply.github.com> Date: Fri Nov 12 00:43:32 2021 +0900 Desktop: Resolves laurent22#4827, Resolves laurent22#5652: Fixed and improve laggy scroll in text editor (laurent22#5606) commit f495db1 Author: Kenichi Kobayashi <ken1kob@users.noreply.github.com> Date: Fri Nov 12 00:33:37 2021 +0900 Desktop: Sort Order Buttons and Per-Notebook Sort Order (laurent22#5437) commit e4d5e9c Author: Kenichi Kobayashi <ken1kob@users.noreply.github.com> Date: Fri Nov 12 00:31:20 2021 +0900 Desktop: Fixes laurent22#5582: Currently opened note is not updated after sync (5582) (laurent22#5711) commit 72f336a Author: Laurent Cozic <laurent@cozic.net> Date: Thu Nov 11 15:24:21 2021 +0000 Server v2.6.8 commit dfa5f8b Author: Laurent Cozic <laurent@cozic.net> Date: Thu Nov 11 15:21:27 2021 +0000 Server: Fixed S3 configuration commit 3cdbd6d Author: Laurent Cozic <laurent@cozic.net> Date: Thu Nov 11 14:44:06 2021 +0000 Server v2.6.7 commit c6dec0a Author: Laurent Cozic <laurent@cozic.net> Date: Thu Nov 11 14:40:23 2021 +0000 Server: Added command to test a storage connection commit 4879edc Author: Laurent Cozic <laurent@cozic.net> Date: Thu Nov 11 14:06:27 2021 +0000 Server v2.6.6 commit 005f720 Author: Laurent Cozic <laurent@cozic.net> Date: Thu Nov 11 13:59:05 2021 +0000 Server: Added command to migrate content to different storage commit 725c79d Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 10 15:40:32 2021 +0000 Desktop: Fixed button to upgrade a master key commit 0de6e9e Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 10 14:47:26 2021 +0000 All: Fixed issue that could cause application to needlessly lock the sync target commit 7c3785e Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 10 12:51:41 2021 +0000 Doc: Update privacy policy commit 5c2a0ed Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 10 12:20:43 2021 +0000 Doc: Update privacy policy commit fc64c82 Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 10 12:08:10 2021 +0000 Server v2.6.5 commit 08f420c Merge: d76646a cc23a8b Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 10 12:07:32 2021 +0000 Merge branch 'dev' into release-2.6 commit cc23a8b Author: Laurent Cozic <laurent@cozic.net> Date: Tue Nov 9 16:12:29 2021 +0000 Server v2.6.4 commit 9ffa29f Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 10 12:03:45 2021 +0000 Chore: Add tests for storage driver loading commit 7431da9 Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 10 11:48:06 2021 +0000 Server: Lazy-load storage drivers commit 4deeed0 Author: Laurent Cozic <laurent@cozic.net> Date: Tue Nov 9 18:33:28 2021 +0000 Desktop, Mobile: Fixes laurent22#5687: Fixed issue with parts of HTML notes not being displayed in some cases commit f8d9601 Author: Laurent Cozic <laurent@cozic.net> Date: Tue Nov 9 17:49:05 2021 +0000 Tools: Restored HTML to ENEX tests that had been deleted in a refactoring commit 89179c2 Author: Laurent Cozic <laurent@cozic.net> Date: Tue Nov 9 16:42:50 2021 +0000 Desktop, Cli: Add support for more style of highlighted texts when importing ENEX files commit d76646a Author: Laurent Cozic <laurent@cozic.net> Date: Tue Nov 9 16:12:29 2021 +0000 Server v2.6.4 commit 485c0d0 Author: Laurent <laurent22@users.noreply.github.com> Date: Tue Nov 9 16:05:42 2021 +0000 Server: Allow storing item content in database, filesystem or S3 (depending on config) (laurent22#5602) commit 6b31609 Author: agerardin <antoine.gerardin@gmail.com> Date: Tue Nov 9 10:50:50 2021 -0500 Plugins: Allow posting messages from plugin to webview (laurent22#5569) commit 200ba85 Author: Kenichi Kobayashi <ken1kob@users.noreply.github.com> Date: Wed Nov 10 00:47:25 2021 +0900 Deskop: Fixes flickering when switching notes while the Note Search Bar is visible (laurent22#5548) commit 7b3ad32 Author: Laurent Cozic <laurent@cozic.net> Date: Tue Nov 9 15:28:38 2021 +0000 Update translations commit 3745cd7 Author: Laurent Cozic <laurent@cozic.net> Date: Tue Nov 9 15:26:45 2021 +0000 Tools: Do not process context when running build-translation tool commit 920f2d9 Author: Laurent Cozic <laurent@cozic.net> Date: Tue Nov 9 13:49:20 2021 +0000 Revert "Update translations" This reverts commit f800ca0. Reverting for now due to some translations being incorrectly marked as fuzzy. commit f800ca0 Author: Laurent Cozic <laurent@cozic.net> Date: Tue Nov 9 13:16:09 2021 +0000 Update translations commit 33be306 Author: Laurent Cozic <laurent@cozic.net> Date: Tue Nov 9 13:14:41 2021 +0000 Tools: Fixed missing translations when running build-translation tool commit 3782255 Author: Laurent Cozic <laurent@cozic.net> Date: Tue Nov 9 12:20:07 2021 +0000 Tools: Fixed build-translation script to handle .ts and .tsx files directly commit 0ab2352 Author: Laurent <laurent22@users.noreply.github.com> Date: Mon Nov 8 17:10:33 2021 +0000 Tools: Detect missing translation strings on CI (laurent22#5688) commit 7525661 Author: Laurent Cozic <laurent@cozic.net> Date: Mon Nov 8 15:38:44 2021 +0000 Security: Ensure Markdown links that contain single quotes are correctly escaped commit b328094 Author: Helmut K. C. Tessarek <tessarek@evermeet.cx> Date: Mon Nov 8 10:30:18 2021 -0500 update en_US.po commit 4f0f1af Author: Helmut K. C. Tessarek <tessarek@evermeet.cx> Date: Mon Nov 8 10:22:08 2021 -0500 Update translations commit 021ce14 Author: Laurent Cozic <laurent@cozic.net> Date: Mon Nov 8 15:21:20 2021 +0000 Server v2.6.3 commit c4017e5 Author: Laurent Cozic <laurent@cozic.net> Date: Mon Nov 8 10:00:11 2021 +0000 Fixed a few strings commit ec2c174 Author: Laurent Cozic <laurent@cozic.net> Date: Sun Nov 7 17:36:48 2021 +0000 Tools: Fixed package version numbers commit 3e5ad0a Author: Laurent Cozic <laurent@cozic.net> Date: Sun Nov 7 16:41:39 2021 +0000 Desktop, Cli: Fixes laurent22#5653: Long resource filenames were being incorrectly cut commit 05e390d Author: Laurent Cozic <laurent@cozic.net> Date: Sun Nov 7 15:41:04 2021 +0000 Tools: Fixed build-translation script commit 31ce0f4 Author: Laurent Cozic <laurent@cozic.net> Date: Sun Nov 7 11:55:34 2021 +0000 Tools: Show more info in IOS release script commit d19551b Author: Laurent Cozic <laurent@cozic.net> Date: Sun Nov 7 11:55:11 2021 +0000 Chore: Set correct iOS version ID commit dacd697 Author: Laurent Cozic <laurent@cozic.net> Date: Sun Nov 7 11:53:39 2021 +0000 iOS: Fixes laurent22#5671: Fixed iOS 12 crash that prevents the app from starting commit 70d5c7a Author: Laurent Cozic <laurent@cozic.net> Date: Fri Nov 5 12:17:05 2021 +0000 Server: Set resource content size when viewing published note commit 42caab6 Author: Daniel Bretoi <danielb2@users.noreply.github.com> Date: Sat Nov 6 21:32:18 2021 -0700 Doc: CLI: update to include local filesystem sync (laurent22#5684) * terminal doc update to include local filesystem sync * fix typo commit 01b63ad Author: NiceYoyo <68117355+NiceYoyo@users.noreply.github.com> Date: Sun Nov 7 05:30:04 2021 +0100 All: Translation: Update de_DE.po (laurent22#5682) * Update de_DE.po * Update de_DE.po commit ae4013d Author: felipeviggiano <70492246+felipeviggiano@users.noreply.github.com> Date: Sun Nov 7 01:29:38 2021 -0300 All: Translation: Update pt_BR.po (laurent22#5680) * Updates on pt_BR.po file * Updates on pt_BR.po file commit 298e85f Author: Laurent Cozic <laurent@cozic.net> Date: Thu Nov 4 16:43:34 2021 +0000 iOS: Set min supported iOS version to 13.0 commit 9e1cb9d Author: Laurent Cozic <laurent@cozic.net> Date: Thu Nov 4 12:49:51 2021 +0000 Server: Immediately ask user to set password after Stripe checkout commit 373c041 Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 3 17:39:30 2021 +0000 Doc: Fixed H3 header size commit af19865 Author: Laurent <laurent22@users.noreply.github.com> Date: Wed Nov 3 16:24:40 2021 +0000 All, Server: Add support for sharing notes when E2EE is enabled (laurent22#5529) commit a0d2304 Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 3 15:20:17 2021 +0000 Migration can be null commit 7ad73df Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 3 15:18:20 2021 +0000 Server: Display latest migration name after auto-migration commit ce5c5d6 Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 3 14:00:16 2021 +0000 Server: Disable mailer service if no-reply email is not set commit 8c6d78e Merge: a65c424 e6d3396 Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 3 12:55:28 2021 +0000 Merge branch 'dev' into release-2.6 commit a65c424 Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 3 12:55:01 2021 +0000 Server v2.6.2 commit e6d3396 Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 3 12:54:08 2021 +0000 lock files commit 190550f Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 3 12:53:25 2021 +0000 Tools: Fixed server tests commit 030b18d Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 3 12:27:39 2021 +0000 Desktop release v2.6.1 commit f1bfcfd Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 3 12:27:28 2021 +0000 Server v2.6.1 commit 47a31c4 Author: Laurent <laurent22@users.noreply.github.com> Date: Wed Nov 3 12:26:26 2021 +0000 All, Server: Add support for faster built-in sync locks (laurent22#5662) commit 630a400 Author: Kenichi Kobayashi <ken1kob@users.noreply.github.com> Date: Wed Nov 3 21:10:46 2021 +0900 Desktop: Resolves laurent22#2242: Implements Sync-Scroll for Markdown Editor and Viewer (laurent22#5512) commit 725abbc Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 3 11:44:43 2021 +0000 Update website commit 84ec845 Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 3 11:34:14 2021 +0000 CLI v2.6.1 commit 5892a06 Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 3 11:18:03 2021 +0000 Releasing sub-packages commit cb26ab4 Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 3 11:15:51 2021 +0000 Tools: Trying to fix Lerna publishing with automation token commit 74fcd47 Author: Laurent Cozic <laurent@cozic.net> Date: Wed Nov 3 11:10:06 2021 +0000 Releasing sub-packages commit c7406f3 Author: Laurent Cozic <laurent@cozic.net> Date: Tue Nov 2 20:56:26 2021 +0000 Android 2.6.1 commit d22a29e Author: Laurent Cozic <laurent@cozic.net> Date: Tue Nov 2 15:25:42 2021 +0000 ios-v12.5.1 commit bcd568a Author: Laurent Cozic <laurent@cozic.net> Date: Tue Nov 2 20:07:13 2021 +0000 Setup new release 2.6 commit 66e79cc Author: Laurent Cozic <laurent@cozic.net> Date: Tue Nov 2 16:33:53 2021 +0000 Mobile: Upgraded React Native from 0.64 to 0.66 commit 08ee2b2 Merge: b5d792c 57b8aa1 Author: Laurent Cozic <laurent@cozic.net> Date: Tue Nov 2 14:47:19 2021 +0000 Merge branch 'release-2.5' into dev commit 57b8aa1 Author: Laurent Cozic <laurent@cozic.net> Date: Tue Nov 2 14:46:52 2021 +0000 Server v2.5.10 commit b5d792c Author: Laurent Cozic <laurent@cozic.net> Date: Tue Nov 2 12:51:59 2021 +0000 Server: Improved env variable handling to make it self documenting and enforce type checking commit 3704413 Author: Laurent Cozic <laurent@cozic.net> Date: Mon Nov 1 19:20:36 2021 +0000 Server: Improved logging and rendering of low level middleware errors commit c491741 Author: Laurent Cozic <laurent@cozic.net> Date: Mon Nov 1 07:57:10 2021 +0000 Doc: Added forum assets commit b80242d Author: Laurent Cozic <laurent@cozic.net> Date: Mon Nov 1 07:41:36 2021 +0000 Desktop release v2.5.10 commit 59ea52f Merge: 3813b10 1eda835 Author: Laurent Cozic <laurent@cozic.net> Date: Mon Nov 1 07:41:18 2021 +0000 Merge branch 'dev' into release-2.5 commit 1eda835 Author: Laurent Cozic <laurent@cozic.net> Date: Mon Nov 1 00:52:32 2021 +0000 Desktop release v2.5.9 commit 6012783 Author: Laurent Cozic <laurent@cozic.net> Date: Mon Nov 1 07:38:06 2021 +0000 Desktop: Fixed crash on certain Linux distributions when importing or exporting a file Ref: https://discourse.joplinapp.org/t/20702/37 commit 3813b10 Author: Laurent Cozic <laurent@cozic.net> Date: Mon Nov 1 00:52:32 2021 +0000 Desktop release v2.5.9 commit c5569ef Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 31 18:33:06 2021 +0000 All: Fixed potential infinite loop when Joplin Server session is invalid commit 401f1b1 Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 31 18:31:40 2021 +0000 Tools: Fixed tests when using Joplin Server as sync target commit 99ea4b7 Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 31 18:29:47 2021 +0000 Server: Fixed issue that could cause server to return empty items in some rare cases commit 22d472d Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 31 17:36:54 2021 +0000 Tools: Added testing command to create many items in parallel commit ab86812 Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 31 11:39:12 2021 +0000 Update website commit b678d20 Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 31 11:25:07 2021 +0000 Android 2.5.5 commit 1f96eb7 Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 31 10:38:11 2021 +0000 Lock files commit e453cd3 Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 31 10:35:26 2021 +0000 Tools: Build app before releasing Android app commit 232128c Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 31 10:29:15 2021 +0000 Android 2.5.4 commit dbdb82d Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 31 10:05:33 2021 +0000 Desktop release v2.5.8 commit 14ddf40 Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 31 10:03:37 2021 +0000 Fixed French translation commit 4128be9 Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 31 09:32:08 2021 +0000 Mobile: Capitalise first word of sentence in beta editor commit 8de9032 Author: Brett Bender <brett@benders.net> Date: Sat Oct 30 10:00:01 2021 -0700 Deskop: Fixed shortcut to focus the note body (laurent22#5597) commit 0b01b5b Author: Laurent Cozic <laurent@cozic.net> Date: Sat Oct 30 17:51:19 2021 +0100 Desktop, Mobile: Resolves laurent22#5593: Enable safe mode for Markdown editor too commit aa3cbbd Author: Laurent Cozic <laurent@cozic.net> Date: Sat Oct 30 17:47:16 2021 +0100 Desktop, Mobile: Fixes laurent22#5593: Do not render very large code blocks to prevent app from freezing commit 2d1a6da Author: Laurent Cozic <laurent@cozic.net> Date: Sat Oct 30 15:20:26 2021 +0100 Revert "Desktop: Upgrade to Electron 15.1.3" No longer necessary because it was to try to fix this bug, but it doesn't fix it: https://discourse.joplinapp.org/t/20702/32 This reverts commit 9704b29. commit 365e152 Author: Laurent Cozic <laurent@cozic.net> Date: Sat Oct 30 11:51:40 2021 +0100 Mobile: Add padding around beta text editor commit 6393996 Author: Andreas Deininger <andreas@deininger.net> Date: Sat Oct 30 11:45:02 2021 +0200 Doc: Fixing typos (laurent22#5644) commit f7a18ba Author: Laurent Cozic <laurent@cozic.net> Date: Sat Oct 30 10:37:56 2021 +0100 Server: Add unique constraint on name and owner ID of items table In theory, the server enforces uniquness because when doing a PUT operation it either creates the items if it doesn't exist, or overwrite it. However, there's race condition that makes it possible for multiple items with the same name being created per user. So we add this constraint to ensure that any additional query would fail (which can be recovered by repeating the request). commit bb06e56 Author: Laurent Cozic <laurent@cozic.net> Date: Fri Oct 29 18:47:11 2021 +0100 Added better-sqlite database driver, although we cannot use it for now commit 4e1f315 Author: Laurent Cozic <laurent@cozic.net> Date: Fri Oct 29 12:12:30 2021 +0100 Desktop release v2.5.7 commit 9704b29 Author: Laurent Cozic <laurent@cozic.net> Date: Fri Oct 29 12:11:25 2021 +0100 Desktop: Upgrade to Electron 15.1.3 commit 2133193 Author: Laurent Cozic <laurent@cozic.net> Date: Thu Oct 28 23:09:16 2021 +0100 Android 2.5.3 commit 7d70dea Author: Laurent Cozic <laurent@cozic.net> Date: Thu Oct 28 22:27:47 2021 +0100 Desktop release v2.5.6 commit e247be1 Author: Laurent Cozic <laurent@cozic.net> Date: Thu Oct 28 22:25:27 2021 +0100 Desktop: Fixed default migration logic commit 9704e75 Author: Laurent Cozic <laurent@cozic.net> Date: Thu Oct 28 21:23:40 2021 +0100 Android 2.5.2 commit e4403d4 Author: Laurent Cozic <laurent@cozic.net> Date: Thu Oct 28 20:56:40 2021 +0100 Desktop release v2.5.5 commit 251400c Author: Laurent Cozic <laurent@cozic.net> Date: Thu Oct 28 20:44:25 2021 +0100 Server v2.5.9 commit 6c6e2a6 Merge: 3359ea3 4a2af32 Author: Laurent Cozic <laurent@cozic.net> Date: Thu Oct 28 20:43:14 2021 +0100 Merge branch 'dev' into release-2.5 commit 4a2af32 Author: Laurent Cozic <laurent@cozic.net> Date: Thu Oct 28 20:41:46 2021 +0100 Server: Remove session expiration for now commit 9d88324 Author: milotype <43657314+milotype@users.noreply.github.com> Date: Thu Oct 28 18:23:52 2021 +0200 All: Translation: Update hr_HR.po (laurent22#5640) … this time with Poedit ;-) commit e0a12c7 Author: Daeraxa <58074586+Daeraxa@users.noreply.github.com> Date: Thu Oct 28 17:20:44 2021 +0100 Doc: Add section about restoreNoteRevision command to FAQ for note restoration (laurent22#5638) * docs: add section about restoreNoteRevision command to restore accidentally deleted notes * docs:add link to wiki post commit 3359ea3 Author: Laurent Cozic <laurent@cozic.net> Date: Thu Oct 28 17:07:44 2021 +0100 Server v2.5.8 commit 2cbcfa5 Author: Laurent Cozic <laurent@cozic.net> Date: Thu Oct 28 17:06:16 2021 +0100 Slow down migration commit 0a7fdac Author: Laurent Cozic <laurent@cozic.net> Date: Wed Oct 27 19:40:32 2021 +0100 Server v2.5.7 commit a753429 Author: Laurent Cozic <laurent@cozic.net> Date: Wed Oct 27 19:38:45 2021 +0100 Server: Fixed items.owner_id migration commit dca13b3 Author: Laurent Cozic <laurent@cozic.net> Date: Wed Oct 27 19:29:54 2021 +0100 Server: Moved CLI commands to separate files commit 5c1cef8 Author: Nicholas Axel <63354547+nicholas-10@users.noreply.github.com> Date: Thu Oct 28 01:15:38 2021 +0700 All: Translation: Update id_ID.po (laurent22#5625) * Updated Indonesian Fixed some translations Added some missing translations * Add files via upload * Add files via upload * Add files via upload commit 9ba90b5 Author: Laurent Cozic <laurent@cozic.net> Date: Wed Oct 27 16:39:45 2021 +0100 Server: Fixed Stripe portal page redirection commit f1c4d35 Author: Laurent Cozic <laurent@cozic.net> Date: Wed Oct 27 16:31:19 2021 +0100 Server: Fixed owner_id migration for SQLite commit b0e3e1b Author: Laurent Cozic <laurent@cozic.net> Date: Wed Oct 27 16:21:21 2021 +0100 Server v2.5.6 commit b655f27 Author: Laurent Cozic <laurent@cozic.net> Date: Wed Oct 27 16:18:42 2021 +0100 Server: Added item owner ID, and allow disabling db auto-migrations commit 0ada1df Author: Laurent Cozic <laurent@cozic.net> Date: Tue Oct 26 12:34:22 2021 +0100 Server: Expire sessions after 12 hours commit 134bc91 Author: theCollectiv <78902012+theCollectiv@users.noreply.github.com> Date: Tue Oct 26 13:01:12 2021 +0200 Doc: Mention that drag and drop can be used to create a link to a note (laurent22#5629) commit 33249ca Author: Laurent Cozic <laurent@cozic.net> Date: Mon Oct 25 19:46:45 2021 +0100 All: Improved handling of expired sessions when using Joplin Server commit ace1118 Author: Laurent Cozic <laurent@cozic.net> Date: Mon Oct 25 17:49:38 2021 +0100 All: Improved handling of expired sessions when using Joplin Server commit b497177 Author: Laurent Cozic <laurent@cozic.net> Date: Mon Oct 25 17:36:40 2021 +0100 Server: Delete all sessions when a password is changed or reset commit 82227b2 Author: Laurent Cozic <laurent@cozic.net> Date: Mon Oct 25 16:49:21 2021 +0100 Doc: Improved caching of asset URLs commit 2d85363 Author: Laurent Cozic <laurent@cozic.net> Date: Mon Oct 25 16:24:14 2021 +0100 Update website commit 6714b37 Author: Laurent Cozic <laurent@cozic.net> Date: Mon Oct 25 16:22:16 2021 +0100 Doc: Added Hosting.de sponsor commit 1a90ad3 Author: Piotr Kowalski <piotr@pkowalski.pw> Date: Mon Oct 25 13:31:01 2021 +0200 Server: Fixed display of latest migration in startup log (laurent22#5627) commit 17cf9b3 Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 24 19:13:56 2021 +0100 Tools: Improved desktop app runForTesting script commit 22e5c3a Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 24 19:12:25 2021 +0100 Desktop: Fixed Goto Anything scrolling for long lists commit 72c1235 Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 24 14:00:44 2021 +0100 All: Improved Joplin Server configuration check to better handle disabled accounts commit 2db886a Author: Roman Musin <musinrr@gmail.com> Date: Sun Oct 24 13:02:37 2021 +0100 Doc: Update node version in BUILD.md (laurent22#5616) * Update node version in BUILD.md Apparently node 16.0.0 may not work, see laurent22#5608 * Update BUILD.md * Change node 16.11 -> node 14 commit 2f09f88 Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 24 12:22:49 2021 +0100 Server: Run oversized account task more frequently commit bc5a853 Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 24 12:17:59 2021 +0100 Server: Improved task service log entries commit 643bddf Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 24 11:37:16 2021 +0100 Added comments commit d4a0322 Author: Laurent Cozic <laurent@cozic.net> Date: Sat Oct 23 21:58:53 2021 +0100 Server v2.5.5 commit 82f7052 Author: Laurent Cozic <laurent@cozic.net> Date: Sat Oct 23 21:57:45 2021 +0100 Tools: Fixing server Docker image build commit cbbaad9 Author: Laurent Cozic <laurent@cozic.net> Date: Sat Oct 23 20:10:04 2021 +0100 Server v2.5.4 commit 4659d57 Author: Laurent Cozic <laurent@cozic.net> Date: Sat Oct 23 20:08:56 2021 +0100 Tools: Fixing server Docker image build commit 46a4ed0 Author: Laurent Cozic <laurent@cozic.net> Date: Sat Oct 23 18:23:45 2021 +0100 Server v2.5.3 commit 56454f4 Author: Laurent Cozic <laurent@cozic.net> Date: Sat Oct 23 18:06:14 2021 +0100 Doc: Updated Font Awesome and added link to Mastodon feed commit 169b585 Author: Laurent Cozic <laurent@cozic.net> Date: Sat Oct 23 17:51:44 2021 +0100 Server: Added tool to delete old changes commit a75eba1 Author: WestfalenYeti <badler@quasyphos.de> Date: Fri Oct 22 16:21:39 2021 +0200 Linux: Fixes laurent22#5568: Adds 'sort' to pre-release version list (laurent22#5588) Added a 'sort by version number' to the handling of the version list when prerelease parameter ist set. (Assumes the latest pre-release version has a highest version number) commit 375214a Author: sleepntsheep <83170424+sleepntsheep@users.noreply.github.com> Date: Fri Oct 22 00:56:40 2021 +0700 All: Translation: Update th_TH.po (laurent22#5609) Co-authored-by: sleepntsheep <contact@papangkorn.com> commit 2a004dd Author: Helmut K. C. Tessarek <tessarek@evermeet.cx> Date: Wed Oct 20 11:56:03 2021 -0400 All: Translation: Update da_DK.po (thanks ERYpTION) commit 843e407 Author: Laurent Cozic <laurent@cozic.net> Date: Tue Oct 19 17:51:15 2021 +0100 Doc: Added complete logo in different formats commit 04b8204 Author: Laurent Cozic <laurent@cozic.net> Date: Tue Oct 19 12:53:11 2021 +0100 android-2.5.1 commit 0188824 Merge: 6eced7e 72db8e4 Author: Laurent Cozic <laurent@cozic.net> Date: Tue Oct 19 11:13:38 2021 +0100 Merge branch 'dev' into release-2.5 commit 72db8e4 Author: Laurent Cozic <laurent@cozic.net> Date: Mon Oct 18 12:37:25 2021 +0100 All: Added mechanism to migrate default settings to new values commit 7d62df8 Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 17 19:08:34 2021 +0100 Desktop: Improved master password state handling in Encryption screen commit 6eced7e Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 17 18:52:35 2021 +0100 Desktop release v2.5.4 commit 8d09ed3 Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 17 18:50:56 2021 +0100 Fixed package path commit b891915 Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 17 17:45:10 2021 +0100 Desktop release v2.5.3 commit 1406d97 Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 17 17:20:59 2021 +0100 Mobile: Fixes laurent22#5585: Fixed logic of setting master password in Encryption screen commit a5560a6 Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 17 16:13:12 2021 +0100 Fixed mobile package commit 21a7149 Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 17 14:54:48 2021 +0100 Fixed mobile build commit 176d328 Author: Laurent Cozic <laurent@cozic.net> Date: Sun Oct 17 14:50:35 2021 +0100 ignore files commit 6bcd801 Author: Laurent Cozic <laurent@cozic.net> Date: Sat Oct 16 12:19:19 2021 +0100 Fixed interface commit 5e6e1bf Author: Kingsley Yung <11942650+kkoyung@users.noreply.github.com> Date: Sat Oct 16 19:19:53 2021 +0800 Cli: Fixes laurent22#5341: Ignore newline between quotes while spliting batch (laurent22#5540) commit 1d46d9f Author: Kenichi Kobayashi <ken1kob@users.noreply.github.com> Date: Sat Oct 16 19:44:02 2021 +0900 Desktop: Resolves laurent22#4827: Laggy scrolling in Markdown viewer (laurent22#5496) commit 6879481 Author: Roman Musin <musinrr@gmail.com> Date: Sat Oct 16 10:07:41 2021 +0100 Desktop: Resolves laurent22#5168: Add support for callback URLs (laurent22#5416) commit 4322acc Author: Filip Stanis <filip@stanis.me> Date: Sat Oct 16 10:04:53 2021 +0100 Doc: Update link to React Native docs (laurent22#5570) commit 2acd55e Author: Caleb John <calebjohn4@gmail.com> Date: Sat Oct 16 01:59:37 2021 -0700 Desktop, Cli: Resolves laurent22#5224: Add Markdown + Front Matter exporter/importer (laurent22#5465)
The basic proposal is to support something like the pandoc yaml metadata block extension with the intention of providing a new export format with the utility of markdown export, but one that is less lossy. The JEX and RAW formats are already lossless, and don't need to be duplicated.
Metadata
The following properties are suggested to be included in the Markdown+YAML export
Additionally the folder structure will be preserved with folder names corresponding to (escaped) notebook names. Individual note names will be the escaped title. In instances of naming clashes, some random characters will be added to the name (same as the md export). The filetype will be used to set denote the markup type of a note (e.g.
.md
or.html
).Internal links will be relative and point to the markdown file of a note (by name).
Resources will be stored in a resources folder at the top level, when possible a proper name will be used. ID will be used as a fallback.
Notably, all ID's will be lost. Conflict status will also be lost. These are acceptable loses as the purpose of this format is not to provide a lossless export, but rather to have something that stores the information that might be relevant to a user.
Examples
*Complete? accepts Yes/No or True/False
Examples of other apps
https://docs.zettlr.com/en/core/yaml-frontmatter/
https://www.11ty.dev/docs/data-frontmatter/
https://gohugo.io/content-management/front-matter/
https://jekyllrb.com/docs/front-matter/
edit (2021-09-27): Edited to demonstrate that the "Completed?" fields accepts Yes/No or True/False.
The text was updated successfully, but these errors were encountered: