Support for textbundle format

On the desktop yes – but not on the web. Next to any contemporary CMS out there supports it, quite often as default. Major web-based productivity platforms (with the notable exception of Google Docs): dito. Besides, plain text is the only sane and future-proof archival format for any kind of text content.

On the desktop yes – but not on the web. Next to any contemporary CMS out there supports it, quite often as default. Major web-based productivity platforms (with the notable exception of Google Docs): dito. Besides, plain text is the only sane and future-proof archival format for any kind of text content.

You are still talking about a niche market here. Even in our user base, there are many people who aren’t doing “web work” or using a CMS (let alone knowing what that is). Many know and rely on common formats like RTF for its familiarity and longstanding support and usefulness to them.

Markup is closest to a pure text file format with some additional markers that could either be ignored or easily stripped away if needed.

Markup

?

I ment Markdown. That’s what you get when you are busy packing your office for a move to another location…

:slight_smile: I figured as much, but since markup is a legitimate thing I wasn’t sure.
Have a safe move!

Another +1 here for textbundle support. Bundling immutable assets (such as images) inside a simple markdown-based folder format would be desirable and solve a number of problems. The suggested workflow of creating a custom folder/group structure every time is a PITA, even if it’s automated with a template.

For example:

  • start writing in a markdown document, then realize you want to add images
  • look up how to do this on the forum (either because it’s the first time or you haven’t done it in awhile)
  • run script or manually create folders/groups
  • import the image to the correct folder/group
  • create image link in markdown file
  • test to make sure you did all the manual steps correctly
    —this is a lot of administrative overhead with room for error when the purpose is managing knowledge.

TextBundle would also be a useful format for importing, for example as an alternative to .webarchive. I prefer to use markdown much of the time for importing articles, but that means images have to be manually downloaded and inserted into a folder/group structure.

Then there’s the need to keep everything properly organized in the folder/group. Want to run classify? Nope… need to move everything manually.

Etc. etc. TextBundle seems like a good solution to a series of problems if the desire is to not work in RTF. It abstracts away the management of the tool so that energy is spent on management of knowledge.

(see also: Markdown as first-class citizen & networked knowledge )

2 Likes

The suggested workflow of creating a custom folder/group structure every time is a PITA, even if it’s automated with a template.

I wholeheartedly disagree with this assessment, especially as I do it daily and have for almost two years, simply and efficiently.

PS: textbundle is still not widely adopted.

Yes, for sure! You are not wrong. The point isn’t about textbundle. The point is about discussing ways to have our energy as users go into knowledge management, not “DEVONthink management”.

TextBundle is one possible technical solution to a broader workflow problem. You have your way - and that works, and that’s excellent! And there are also other potential ways DT could evolve that might be faster, easier, simpler and it’s good to discuss them as well.

PS: you often mention adoption rates in your replies—is that a metric Devon Tech uses for adopting new tools? Just curious. It might be an interesting insight to understand what data you use as you evaluate new features: where you get your data from, how you decide about innovation vs. user requests vs. going with what’s already got some wide adoption etc. Might make for an interesting blog post? Or maybe something like this exists already? It could help guide discussion about new functionality.

Development would have to assess if they want to respond with any specific internal data regarding such things.

On the simple side of things, we are not programming an application for one person or perspective. Time and energy are in limited supply, so yes we have to assess the feasibility but we also have to determine how broadly reaching the changes would be, i.e., how many people would benefit from this.

How to sync the markdown file with images between multi Mac or iOS with DEVONthink sync. Will the folder sturcture keep the same? or How to keep the relative path for image file?

Welcome @Tonny

The group structure is preserved between machines when you sync.

  1. I create an assets folder under a group, and drag an image into assets
  2. In the file system, the image pkm1.png is under png/9/pkm1.png
  3. I can use the image with a relative path as ../../png/9/pkm1.png

This works so far. But, when I trying to sync to another Mac with dropbox sync enabled, the real image path changed to another one. ../../png/3/pkm1.png in this case.

Is there anything wrong with what I’m doing. Or, is there a better approach.

No, you should not be linking to the file in the file system - and not just in this instance.

Unless instructed to by us, you should never be getting into the internals of a database as you’re doing here.
And you should never be linking to files in the internals of a database.

You treat the Markdown just as you would any HTML structure.
This is covered in Help > Documentation > Documents > Markdown Documents > Linking.

So, the correct link in my case should ![](assets/pkm1.png)?

This works for sync between Macs.

But another problem is If I use the link ![](assets/pkm1.png), This broke the third part markdown app. For example, I try to open the markdown with Bear, the image disappears.

That’s the reason I search and found this thread. Textbunder may be a solution here.

So, the correct link in my case should ![](assets/pkm1.png) ?

Correct.

Other solutions would be needed if you’re using external Markdown editors. However, again, you should not link to files in the internal structure of a DEVONthink database.

It would be possible to keep assets in a folder in the Finder for linking in an external application, but indexing that folder into DEVONthink (if needed, though in this instance I don’t know if it would be needed).

PS: Remember that DEVONthink offers the ability to create and edit Markdown documents internally, as a convenience to the user. The focus isn’t on making it interoperable with editing in third-party Markdown editors but allowing for the creation and editing and syncing of Markdown documents withing the DEVONthink ecosystem. There are deeper technological considerations if we were to focus on external compatibilities in this regard.

Sure. I understand how it works now. Thank you for the explanation.

So:

  1. I could use subgroups to organize images for markdown, and it works great within DEVONthink, includes sync.
  2. I could put images in anther folder outside DEVONthink, and use the file path in a markdown file. And It works very well in both DEVONthink and some third-party markdown apps.

Yep - you got it! :slight_smile:

I would also love to have TextBundle/TextPack support in DT3. The benefits of not seeing every single embedded image file in the folder structure are the same as for word, pdf or rtfd files.

The format is not widely used today, that’s true. But all my main Tools support it: Ulysses, Marked, Mindnode, Wordpress (iOS) and even Multimarkdown Composer seems tu support it.

I know of people disliking markdown as it does not store the images like other formats and that it is the main reason why they don’t use markdown.

1 Like

which is why in another thread, I argued for more robust RTF support in DTTG a few months ago. Having learned markup now because my primary day to day use of DT is on the iPad, I’ve noticed that many other IOS MD editors do support textbundle as a means of encapsulation and interchange of MD documents. It would sure be nice to see it in DT as well.
+1 for this request.