opendesigndev / octopus-specs

Octopus format specification (OpenAPI)
https://main.d215pdpdn4c7ow.amplifyapp.com/
2 stars 3 forks source link

Adobe XD Scenegraph Parser #17

Closed scoiatael closed 1 year ago

scoiatael commented 1 year ago

In GitLab by @nikitamironov on Jan 10, 2020, 11:13

Problem

Untill now we used octopus-xd dependency to parse XD files. It is based on reading JSON files inside of .xd (zip) file. After few months Adobe will change the workflow and users will work with cloud only (files will still exist, but for premium users or something like that). So, we need to read XD data from cloud somehow.

Solution

Adobe XD provide API for reading file structure. We need to create a tool which read as many as possible data about file and writes it down to JSON files.

Requirements

Steps

Links

scoiatael commented 1 year ago

In GitLab by @evzen on Jan 23, 2020, 11:51

mentioned in merge request avocode/xd-scenegraph-parser!1

scoiatael commented 1 year ago

In GitLab by @evzen on Feb 3, 2020, 17:56

I've created an Adobe XD plugin for parsing an XD file using its API https://gitlab.avcd.cz/avocode/xd-scenegraph-parser.

Adobe provides TS typings https://github.com/AdobeXD/typings/tree/master/types which you can use to get some idea of the document structure.

The plugin's output is:

Future work:

  1. Converter from XD API to Octopus.
  2. UI/UX for convenient exporting.
  3. Error handling when export failed (for example, it might be acceptable to go on with exporting when only 1 image out of 1000 failed to save, but it's rather critical when there are only 2 images).

Technical notes:

scoiatael commented 1 year ago

In GitLab by @evzen on Feb 3, 2020, 17:58

Example artboard JSON:

artboard-d6a2e12b-c16b-42a7-8d57-1e54a199e07f.json

image

scoiatael commented 1 year ago

In GitLab by @evzen on Apr 6, 2020, 09:48

closed via merge request avocode/xd-scenegraph-parser!1

scoiatael commented 1 year ago

In GitLab by @evzen on Apr 6, 2020, 09:48

mentioned in commit avocode/xd-scenegraph-parser@946c9f54dda2dbe934ea06870c74ec43279e63ce