Hi all - I use iThoughtsX as for mindmaps. A great feature is you can right-click any node and ‘copy as link’. However, invoking Hook only links it to the overall document, not the specific node. Any idea how to enable these deep links?
This could be automated I suppose, but here’s what you can do for now:
Select the node you want to link to in an iThoughts map, then navigate to Edit / Copy as / Link to put a copy of that node’s link on your clipboard. Don’t use Hook for this step.
Navigate to the document or site or whatever that you want Hook to link to the iThoughts mind map’s node copied above. Invoke Hook, and choose Hook to Copied Link.
You’re linked up now.
A think to remember about Hook is that you don’t always need Hook’s automation to copy links for you. You can do that manually like above.
Have fun and keep safe.
Would you know how this could in general be automated? Really keen on being able to invoke hook on the node level and would be happy to explore if i knew where to go
Does the link include the node’s UUID?
I have an open source project that does things with the exported CSV file from iThoughts(X) and the UUID is present in this CSV.
Not particularly to push filterCSV but I could, for example, teach it to export URLs to link to matching nodes. (Nodes that match some criterion.) But this would only reliably work if the URL embedded the node ID.
Looks like it does.
Copy As > Link yields a link with the path to the document and the UUID of that node:
I suppose the simplest approach would be to use System Preferences to assign an Application shortcut to that menu item. Then
- Select node
- execute your shortcut to grab the node link
- invoke Hook and use ⌘V to Hook to Copied link
I just tried that on this iPad and iThoughts on iPad OS took me right to my target node, even though the tree the node was in was collapsed.
I think one could do quite a lot with that, especially confecting such links from the exported CSV from iThoughts.
An example might be:
- List the Level 2 nodes’ text. (Parsing the CSV export from iThoughts.)
- Have the user select one. (In some GUI.)
- Go to that node (using the URL scheme we’ve been talking about.)
- Export that node (and its descendants) into another IThoughts mind map (which is a function built into iThoughts).
I think the above could all be done in one Keyboard Maestro macro. And I’m sure other automation tools could be made to make it work.
I also realised CMD+Enter gets you into edit mode straight after using the URL. So one might be able to do more - automatically - than just open a mind map via a hook. One could do Cmd+C, fiddle with the text and Cmd+V.
(All of which takes us quite a way away from Hook, I admit/fear.)
I’m bumping this back up. iThoughts is listed as “linkable” with no specific caveats, as opposed to MindNode which specifically mentions ONLY high level linking.
iThoughts has the infrastructure to deep link (the copy link) function.
@LucB , sorry to mention-bomb you like this but I’d like to ask if there was a changed in iThoughts that make in non deep-linkable?
If we’re reviving this thread (and why not?) has anybody experimented with the automation ideas I suggested?
that’s the issue: i can’t get a deep link in ithoughts anymore, hence my question to luc.
On the basis of the Drafts automation, here is the script for iThoughtsX that will get a markdown link with the name of the node and the ithoughtsX:// url
set the clipboard to "" delay 0.1 activate application "iThoughtsX" tell application "System Events" tell process "iThoughtsX" #get url click menu item "Link" of menu 1 of menu item "Copy as" of menu 1 of menu bar item "Edit" of menu bar 1 repeat 30 times try set myUrl to (the clipboard) if myUrl is not equal to "" then exit repeat end if end try delay 0.1 end repeat #get title set the clipboard to "" delay 0.1 click menu item "Copy" of menu 1 of menu bar item "Edit" of menu bar 1 repeat 30 times try set myText to (the clipboard) if myText is not equal to "" then exit repeat end if end try delay 0.1 end repeat set n to count of paragraphs of myText if n is equal to 0 then set firstLine to myUrl else set firstLine to item 1 of paragraphs of myText set len to the length of firstLine if (len > 256) then set firstLine to text 1 thru 255 of firstLine end if end if return "[" & firstLine & "](" & myUrl & ")" end tell end tell
The usual caveats of UI Scripting apply: it only works on the English version of the software, so long as the UI is not changed.
You’ve got me wondering if it’s possible to script menu items by relative position in the tree. That might make it language neutral. (But still fragile.)
I’m pretty sure UI Browser would have let me specify something link item 3 of menu 1 of item 2 of … which would be less fragile, but still ugly and not really robust.