Sketch 43 CLI wrapper for sketch2json
Print or Save your Sketch files as JSON directly from the CLI :)
- npm:
npm i -g sketchy-cli
- yarn:
yarn global add sketchy-cli
sketchy --version
sketchy --help
sketchy print samples/MyCool
- print itsketchy save samples/MyCool
- save as JSON file
Process multiple files:
sketchy save samples/MyCool samples/MyOtherCool
import sketchy from 'sketchy-cli'
import sketch2json from 'sketch2json'
let file = './my-app.sketch'
let sketchJSON = sketch2json(file)
let options = {
log: true,
transform: 'pages',
// transformation: (json, options) => {}
action: (sketch) => {
let newSketch = sketch
// ... some JSON transformations
return newSketch
}
}
let mySketchy = sketchy.actions.transform(sketchJSON, file, options)
// ...
sketchy.actions.print(mySketchy, file, options)
// ...
sketchy.actions.save(mySketchy, outFile, options)
-p --pretty
to enable pretty print output-i --indent
to specify indentaiton (default 2 spaces)
These options can be used with both print
and save
commands
sketchy save samples/MyCool.sketch --pretty
(pretty print)sketchy save samples/MyCool.sketch --indent 4
(implicit pretty print)
Display JSON for one or more sketch files
sketchy print MyCool.sketch dev/CarApp.sketch
sketchy print MyCool dev/CarApp
(shorthand)
Convert and save as JSON file for one or more sketch files
sketchy save MyCool.sketch dev/CarApp.sketch
sketchy save MyCool dev/CarApp
(shorthand)
Saves:
MyCool.json
dev/CarApp.json
-t --transform
to enable pretty print output
sketchy print -t pages --log samples/MyCool
Currently the transformations available are:
identity
pages
- perform an action on each page (viaoptions.action
)
Add your own in the src/transformations
folder.
Currently uses json-operator with jsonpath
All the Sketch types
Be sure to also check the sketch-web-viewer
Add help add sensible JSON transformations that can be reused in the community!
webpack -p
to compile src
to dist
(production mode)
MIT