Tana

Preprocessing your Roam Graph to Import into Tana with Shashank

While our Roam importer is excellent, some people have idiosyncratic workflows from Roam and would like to make some changes to the data before importing into Tana. Shashank gives an excellent guide as to how!

Since there are many edge cases depending on how folks used Roam, I'm posting some Tips on how to preprocess before importing Roam->Tana:

depending on whether you used attributes/tags/pages/nested pages , I can think of the following formats [[page]] , #page , #[[page]] , [[[[page]] [[page1]]]] , #[[[[page]] [[page1]]]] , page:: (are there more?!:zany_face:)

All of these are perfectly handled by Tana. eg: #page and #[[page]] will be converted to an alias #page which points to the node page. in Tana you can remove this alias to turn #page into page by taking the cursor into #page, pressing Ctrl+K, typing "Remove alias for reference".

However, I don't know if this can be done in bulk.

Solution: do this in bulk within Roam using Fabrice Gallet’s Find & Replace extension in Roam Depot. in this extension's settings there's a simple "Allow 'Whole Graph' Find & Replace" toggle, switch it on.

Now, go back to your graph, press Ctrl+P, type "Find &.." you'll see the "Find & Replace in Whole graph option".

choose that, click, you'll see a blue pop-up. now do your thing. turn #[[page]], #page into [[page]]. example below.

this was a simple example. there's regex support too.

afaik, i've only encountered 2 major issues with the roam-import:

URLs  (this is in the works i believe)

**a phrase:** should not be parsed as an attribute when importing from roam just like **a phrase**:  isn't done. i've used these 2 interchangeably in roam and not as an attribute (for that the double :: notation). They are working on fixing this, but for now, I'm using the same search and replace ":**" so those won't be imported as fields.