jsoncanvas icon indicating copy to clipboard operation
jsoncanvas copied to clipboard

Proposal: canvasz — a zipped canvas file, which packages a the markdown files along with it

Open CheeksTheGeek opened this issue 10 months ago • 2 comments

Right now, the main difference between other file formats comparable to JSON Canvas is that JSON Canvas or some other superset/abstraction of JSON Canvas isn't self-sufficient yet, meaning if I have a lot of markdown files referred-to inside my canvas file, and my Obsidian Vault or setup inside one of the other apps enabled with JSON Canvas import/export capability is not managed well, the JSON Canvas file is going to end up mostly unusable due to non-existent or unreachable file links.

Hence, I propose having another layer of abstraction over JSON Canvas, called JSON Canvas Zipped, and the file extension for which would be .canvasz, and when unzipped, would have this directory structure present inside:

unzipped_canvasz_file_dir/
├── index.canvas
├── file1.md
├── file2.md
└── file3.md

If Obsidian or other software with complete Canvas import/export implementations choose to export, the user could be offered the ability to export as either. When importing, the offer would be to choose between a plain text JSON-based canvas file, or the packaged canvasz file. If the user chooses the latter, the import implementation component would track down each file from the internal setup, and package it in the given structure for the user to use it anywhere.

This proposal is an effort towards making the JSON Canvas file or at least an abstraction over it to be self-sufficient in the data it refers to internally.

— chaitanya

CheeksTheGeek avatar Mar 28 '24 01:03 CheeksTheGeek