Skip to content

Settings and activity

1 result found

  1. 32 votes

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    An error occurred while saving the comment
    Pb commented  · 

    Another extension of this idea is allow us to add custom properties to the layers, simply as a key | value table.
    Having all that we would have enough dynamism to make of Adobe XD anything we want.
    I could make a script to convert my design into HTML automatically.
    I could make a script to convert my design into a custom game UI interface system, binary or not.

    An error occurred while saving the comment
    Pb commented  · 

    1. Script engine that allows to interact with the design and components specs.

    2. As a developer, once my design is finished, I have to perform some quite repetitive tasks, those could be simplified if I could write a script such as JavaScript which has access to the Artboards and Layers containing their specs.
    A script system would open a whole new world for developers to take the best of Adobe XD.
    I could possibly create scripts to transform the design into binary data rather than having to create my own edit tools.
    I could possibly create scripts to automate tasks like saving, renaming + saving, etc.
    Plus a javascript engine embedded can not only benefit developers as front end developers that could have some pre-defined component behavior features, rendering a more interactive design prototype. (I order a design and the designer forgets to make samples of hover buttons and other interactions)

    3. Example of things that I would like to be able to do:

    var artboard = engine.artboards['main-page'];

    //Some possible selections
    var layers = artboard.selectedLayers();
    var layers = artboard.layers;
    var layers = artboard.layersContaining('button');

    //Layer data printing.
    for (layer in layers) {
    print("Layer: " + layer.name + ", x: " + layer.x + ", y: " + layer.y);
    }

    //Cool feature
    layer.getPositionRelative(otherLayer);

    //Maybe automatic layer renaming. (Useful for exporting)

    for(i = 0; i < layers.length; i++)
    layer.name = "Button " + i;

    The possibilities are endless if we have access to the components specs.

    Pb supported this idea  ·