obsidian-importer icon indicating copy to clipboard operation
obsidian-importer copied to clipboard

Tana importer

Open yole opened this issue 1 year ago • 2 comments

Export Tana workspace to Markdown: https://tana.inc/docs/workspaces#export-workspace

Use Obsidian's Markdown Importer.


I'd like to announce that I'm working on adding support for Tana to the obsidian-importer plugin. The code can be found here.

Right now I've only tested the plugin on my own notes; given that Tana is a complicated piece of software and the export format is not documented, I'm pretty sure that there are things which could be converted but aren't, or are converted incorrectly. Because of that, I'd like to get some more users to test the plugin; once it passes a bit more testing and I fix the reported issues, I'll open a PR with my contribution.

Instructions for testing:

  • In Tana, go to your workspace node and select "Export workspace as JSON" in the ... menu.
  • Create a new vault in Obsidian; enable community plugins.
  • Unpack the attached archive obsidian-importer-1.6.12-tana-1.zip to the .obsidian/plugins directory of your vault.
  • Make sure the Importer plugin is enabled in Settings | Community plugins
  • Run "Importer: Open importer" command and select "Tana (.json)" as the import format
  • The conversion-log note will contain some debug information; please attach it when reporting issues.

yole avatar Nov 27 '24 19:11 yole

Tried to import from Tana using this today for a tana json of 1,5 mb

Got the following issue in devtools:

Uncaught (in promise) RangeError: Maximum call stack size exceeded
    at eval (plugin:obsidian-importer:20457:34)
    at TanaGraphImporter.enumerateChildren (plugin:obsidian-importer:20629:9)
    at TanaGraphImporter.prepareAnchors (plugin:obsidian-importer:20457:10)
    at eval (plugin:obsidian-importer:20461:12)
    at TanaGraphImporter.enumerateChildren (plugin:obsidian-importer:20629:9)
    at TanaGraphImporter.prepareAnchors (plugin:obsidian-importer:20457:10)
    at eval (plugin:obsidian-importer:20461:12)
    at TanaGraphImporter.enumerateChildren (plugin:obsidian-importer:20629:9)
    at TanaGraphImporter.prepareAnchors (plugin:obsidian-importer:20457:10)
    at eval (plugin:obsidian-importer:20461:12)

Claude Code suspected the following "This error indicates that the importer is hitting infinite recursion, likely due to circular references in your Tana data structure"

Can't find a conversion-log note anywhere in Obsidian or in the plugin folder

aejfager avatar Jul 29 '25 09:07 aejfager

Same issue as @aejfager.

Uncaught (in promise) RangeError: Maximum call stack size exceeded
    at TanaGraphImporter.enumerateChildren (plugin:obsidian-importer:20620:20)
    at TanaGraphImporter.prepareAnchors (plugin:obsidian-importer:20457:10)
    at eval (plugin:obsidian-importer:20461:12)
    at TanaGraphImporter.enumerateChildren (plugin:obsidian-importer:20629:9)
    at TanaGraphImporter.prepareAnchors (plugin:obsidian-importer:20457:10)
    at eval (plugin:obsidian-importer:20461:12)
    at TanaGraphImporter.enumerateChildren (plugin:obsidian-importer:20629:9)
    at TanaGraphImporter.prepareAnchors (plugin:obsidian-importer:20457:10)
    at eval (plugin:obsidian-importer:20461:12)
    at TanaGraphImporter.enumerateChildren (plugin:obsidian-importer:20629:9)
´´´

jesper-bylund avatar Sep 13 '25 11:09 jesper-bylund