There is no note export so it can’t be answered without more information, e.g.:
- What the intention of the export is
- Who the export is going to
- Any technical requirements specific to the export
There is no note export so it can’t be answered without more information, e.g.:
The only export format I’ve found that preserves any embedded figure (which had been included as a markdown link by Obsidian) is pdf. So if I wanted to archive the “finished” note into DT it would be via a pdf path — unless I went in and manually inserted the figures into a new rtf note in DT.
As an example, export to Word leaves embedded markdown code to the “missing” figure in the following form:
[[Figure.png]]
So yes, I could manually “post-process” such files to locate and paste in the missing figure.
EDIT - I found a community plug-in called “Obsidian markdown plugin” which will export the attachments with appropriate references into a markdown file. From there, this gives a number of potential export paths - e.g. Pandoc, or via a full markdown editor such as Byword to produce a single file that contains all attachments where they should be
There is not. The only real option would be TextBundle which for some reason they still don’t support.
I am somewhat late to this conversation but I would like to support that Obsidian and DT are not direct competitors. I would argue that they are complementary and form a great team.
I make extensive use of Obsidian, DT, Bookends and Scrivener for a complete workflow. All have their positives: DT in particular provides invaluable search which is essential for any research project.
I just remembered this thread and came back to it. Have been using DT routinely now since August 2023 My daily notes and many project support pieces go there. I’ve gotten much more comfortable with behavior on multiple machines after I changed to syncing via Dropbox.
I still use obsidian for some pure notetakiong, and have my vault (on iCloud) indexed in DT. What has killed me from going the totally Obsidian route and sticking to DT, is I just didn’t like the way in which Obsidian (was forced via md syntax and constraints) to handle attachments, and the delightful preview capabilities in DT.
To reduce the chaos, I am moving over to a Johnny Decimal organization system everywhere, and have my master JD indexes as files in Obsidian In that master index, I make notations where particular folders might be (file system, DT, Dropbox, Onedrive, etc.).
I’ve never tested Obsidian, but back in time, I tested a lot of file-managing and note-taking applications, and I fell in love with Devonthink, which I used for everything in my life: notes, creative writing, organizational writing, bookmarks, accountancy, passwords, to-dos (the list literally endless). I feel like I live in this app, and I don’t know how I would manage my digital life without it.
The only down point for me in the app is that I cannot find the same custom order of all my files and folders that I have on the desktop version when I browse the databases from an iOS device (like my iPad), and that just kills me. (I created a post about missing this feature here: https://discourse.devontechnologies.com/t/we-need-unsorted-capabilities-on-dttg-and-heres-why/).
Otherwise, it is an amazing app. Especially because of the ability to browse and edit text documents simply by selecting them instead of opening and closing them. That makes life better. ![]()
It would be awesome if the custom ordering were synced with the database, but it’s not. There’s a nice scripted workaround. Some unavoidable limitations remain, but nothing bad.
Check out the Prepend_Number script - DT is nearly the best outliner on the planet. Only one thing is needed - #35 by Demogorgon
I think that’s the one I use. It’s very handy but there’s still a limitation.
When a document’s name is changed, it’s changed for every replicated instance of the document.
That’s a good thing in general. However, imagine you create groups that serve as dossiers. Any individual document may be replicated into any number of dossier groups and you may want a different order in each group.
Anyway, turn on Unsorted ordering. Drag and drop to suit. Highlight all the documents you want to number and run the renumbering script. Now, sort by name comes up with your custom sort order and travels across sync to other devices.
I change workflows about as often as the younger set changes hashtags. I confess I don’t use that renumbering as often as I once did because of the way document names are global. Renumbering in one group affects the numeric scheme everywhere any of the renumbered documents are replicated. That’s not the script’s fault. The script is genius.
If I’m writing, either documentation or creative writing, certain concepts relate to multiple points in the work. Concepts like that go in notes in appropriate groups.
Sketches of points in the manuscript (the outline) go in notes in a single group. They are a great candidate for the renumbering scheme because I’m unlikely to replicate them anywhere.
Mapping concepts to relevant points is something I’m still not consistent on. One way is to use transclusions. In source view, the transclusion is a regular link. In preview, the content of the transclusion appears inline.
It’s also pretty easy to use a Keyboard Maestro macro to partner DT with MindNode or probably any outlining tool. In my case, I highlight a node in MindNode, switch to DT and select a document, and Keyboard Maestro can copy the DT item’s link into MindNode.
Many paths to enlightenment. DT is the medium. What you make of it is the message. (Insert faint ringing of finger cymbals.)
I’ve been hardcore on Obsidian for two or three years but I’ve been getting increasingly frustrated with its treating folders as second-class citizens, its weak support of non-text documents and other limitations. I’m back to DevonThink and loving it (though I’ve only been at it for less than 24 hours).
I wouldn’t mind hearing more details. Right now, I’ve got DTP as the foundation of my research and (primarily academic) writing setup, using Obsidian for notes and some very early drafts, Bookends to keep track of references and citations, and Scrivener to pull it all together. I’m interlinking as much as I can among DTP, Obsidian and Bookends. I sometimes take some notes in DTP, usually in a markdown doc kept “next to” a PDF or other stored source, but I’m using Obsidian more and more for notes. Increasingly, DTP is my close-at-hand library, with its easy capture and store features and ultra-rapid searching. When I want a change of pace, I start tweaking my setup, for better or worse, so I’m always wondering how others are using the same combination of tools.
Thanks for that, Silverstone. I see several things you’re doing that I could integrate into my approach, such as greater integration between DTP and Bookends. I’m a little nervous about using DTP groups as my Bookends attachment folder. I guess I’m concerned about somehow corrupting a DTP database by accessing, annotating or otherwise fiddling with a file externally. But I’m pretty new at both DTP and Bookends, so if others have done this kind of thing safely, I should follow their (and your) example.
No need to corrupt anything ![]()
You just place your PDF at DT in any group you like. You may change it at any time - it will not affect the sync, unlike folders on the disk (and this is the first bonus)
Then you just select the ref in BE and run the script (press the hotkey). Script will connect ref and PDF so that you can go back and forth, see this PDF as attachment in BE, work with it wherever you want and sync BE and DT if you changed anything in BE or DT (automatically with smart rules).
That’s it. You can add any custom metadata (it is tricky if PDF is indexed in DT, you can loose all your metadata, mess with reps and so on) and use all the powers of DT to organizing and AI search.
Wow! I had missed this little gem. Thanks, Silverstone. I’ll be making very good use of this script. And the fact that it’s provided by the factory (i.e., the DT devs) instills confidence.
No, it’s not the factory…
It’s just my factory )
Oh, OK. I thought you were referring to the script under (Script Icon) / Export / Export to Bookends. That one works very well.
What does your script do in addition or differently?
Thanks!
Not sure if this is the right place, since it’s little bit off topic, but.
If you place any script in /Users/YourName/Library/Application Scripts/com.devon-technologies.think3/Menu/Bookends/NameOfAnyYourScript you will get the new menu: (Script Icon) / Bookends / NameOfAnyYourScript which will run this script ![]()
Well, they are two different scripts, I’d say two different approaches. Hence, there are no good or bad script, this is the matter of how well this script supports you workflow:
Export to Bookends script:
This workflow means you have a PDF in DT, which has all the necessary information (metadata, and custom metadata), that you found somewhere and entered manually or automatically (if possible). If all this is set up - you just run the script and it generates the appropriate Ref in Bookends with all these properties and moves there the attachment, leaving it indexed in DT. There are no connection between these items, and if you change later anything in BE, it will not sync with DT (except what goes with the file). Other cons follow from the fact that this is the indexed file.
My script
This workflow means, that you find any PDF containing the publication you need, wherever you find it (be sure to OCR if needed before you run the script, cause OCR changes the UUID). Then you use Bookends to find a ref file (with Bookends powerful search e.g.), I use Google Scholar. You just create a Ref (or import it from internet) and you have all the data you need (Ref with Authors, Title, Publisher, Abstract, DOI, ISBN, Pages and many more). Then you just run the script and get attachment to the Ref, and all correct metadata to you PDF in DT. When you change something in BE or DT with time, you can easily sync all changes, just runing this script again. But I use a smart rule which is run periodically and see if something is changed. If changed it syncs these changes.
Thanks, Silverstone, for the clarification. Is your script available? I’d very much like to try it out, if possible.
-- Script to Link Bookends Publication and DEVONthink Document
-- Created by Silverstone on 17.10.2019
use AppleScript version "2.7"
use scripting additions
-- Customize script
set BETitleFormat to "Your_format_for_QuickList.fmt"
set BEDTNameFormat to "Your_format_to_name_PDF_in_DT.fmt"
tell application id "DNtp"
set theDoc to item 1 of (get selection)
set DTID to (uuid of theDoc)
set dtURL to URL of theDoc
end tell
tell application "Bookends"
tell front library window
set thePub to item 1 of (get selected publication items)
set BEID to id of thePub
-- Creating a Group List
set theGroupList to {} as list
repeat with theGroup in (get group items)
set theItems to (publication items of theGroup whose id is BEID)
if theItems is not {} then
set end of theGroupList to (name of theGroup)
end if
end repeat
set AppleScript's text item delimiters to ";"
set theGroups to theGroupList as string
set AppleScript's text item delimiters to ""
set BETitle to format thePub using BETitleFormat
set BEDTName to format thePub using BEDTNameFormat
set n to offset of ":" in BEDTName
if n ≠ 0 then set BEDTName to text 1 thru (n - 1) in BEDTName
set n to offset of "?" in BEDTName
if n ≠ 0 then set BEDTName to text 1 thru (n - 1) in BEDTName
set n to offset of linefeed in BEDTName
if n ≠ 0 then set BEDTName to text 1 thru (n - 1) in BEDTName
set n to offset of return in BEDTName
if n ≠ 0 then set BEDTName to text 1 thru (n - 1) in BEDTName
set n to offset of "." in BEDTName
if n ≠ 0 then set BEDTName to text 1 thru (n - 1) in BEDTName
set beURL to url of thePub
set BENotes to notes of thePub
-- Data for Exiftool:
set AppleScript's text item delimiters to linefeed
set ExifAuthors to author names of thePub as string
set ExifKeywords to keyword names of thePub as string
set AppleScript's text item delimiters to ""
set ExifTitle to title of thePub
set ExifSubject to abstract of thePub
set user4 of thePub to DTID
set BEDate to date modified of thePub
end tell
end tell
tell application id "DNtp"
add custom meta data BEID for "bookendsid" to theDoc
add custom meta data theGroups for "groups" to theDoc
add custom meta data BEDate for "bemodified" to theDoc
add custom meta data BETitle for "bookendstitle" to theDoc
set comment of theDoc to BENotes
set name of theDoc to BEDTName
set ExifPath to path of theDoc
if dtURL contains "bookends://sonnysoftware.com/" or dtURL is "" then
if beURL is not "" then
set URL of theDoc to beURL
else
set URL of theDoc to ""
end if
end if
set theFileName to proposed filename of theDoc
end tell
-- Modifying Meta Data for PDF:
do shell script "/usr/local/bin/exiftool -title=" & quoted form of ExifTitle & " -author=" & quoted form of ExifAuthors & " -keywords=" & quoted form of ExifKeywords & " -subject=" & quoted form of ExifSubject & " -overwrite_original " & quoted form of ExifPath
tell application "Bookends" to set attachments of thePub to theFileName
Sync DT and BE record.scpt.zip (8.6 KB)
/Users/YourName/Library/Application Scripts/com.devon-technologies.think3/Menu/Bookends/ folder. Create it if neededexiftool command-line utility is installed to your system. Type in Terminal exiftool -h. If not - install it (like brew install exiftool)That’s it. Select Ref in BE and corresponding PDF in DT and run the script
After running script several times, go to DT settings / Data tab and check if your new custom meta data has the right params:
bookendsid is ‘Integer number’, format ‘Number’groups is ‘Identifier’bemodified is ‘Date and Time’bookendstitle is ‘Multiline Text’Done.
Thank you for the script, Silverstone. I’ll install it and give it a try tomorrow. Looks great.
Hi
I started reading the conversation but some of it was a bit over my head. I try to keep things simple.
1. Mellel - Since writing the original note I have also used Mellel because it integrates so well with Bookends. Although Scrivener is superb I found it was a bit too flexible for my immediate needs.
2. Bookends - My main reference software (great product but see below)
3.Obsidian - I use Obsidian to capture reading notes. I structure this in line with the document/chaptert I am writing so that I can easily get to the information. I copy and paste the citation from Bookends so I can get to the original reference.
4. DTP - I keep the pdfs and research stuff in DTP and organise the databases around my thesis/dissertation using a similar structure to Obsidian. It is fantastic when I want to find things, especially because of the OCR. A simply wonderful application!
So, essentially I have four buckets:
The one problem I have found with Mellel and Bookends is that when I export to Word for submission it doesn’t work cleanly so I end up making quite a few adjustments in Word before final submission. (I have to use Word)
Hope this helps.