目录
-
入门
- 插件基础
- 您的第一个插件
- 开发环境
- 调试
- Action API
- 发布插件
-
高级
- 插件捆绑
- 插件,脚本和命令
- 插件位置
- 更多关于CocoaScript
- SketchTool
SketchTool是一个与Sketch捆绑在一起的命令行实用程序,它允许您使用Sketch文档执行一些操作,例如检查它们或导出资产。它还允许您从命令行控制Sketch以执行一些操作。
安装
SketchTool 与Sketch(和Sketch Beta)捆绑在一起。你可以找到它。
Sketch.app/Contents/Resources/sketchtool/bin/sketchtool
建议您在Sketch中使用它,而不是将其复制到其他位置,以便始终使用最新版本(更新Sketch时更新SketchTool,并且您需要使用更新后的版本进行阅读使用最新版本的Sketch保存的文件)。
注意:SketchTool需要OSX 10.11或更高版本。
重要
SketchTool可以免费使用,但它绝对没有保修。这就是说,如果您发现任何错误或有任何功能请求,请发送电子邮件给我们,我们将尽我们所能改善它。
如果所使用的所有字体已安装在系统上,SketchTool只能导出文档。
请注意,Sketch的未来版本将更改文件格式,因此请确保始终运行最新版本的工具。
用法
要了解可用的命令,请运行
$ sketchtool help
看到帮助。
以下是您可以使用SketchTool执行的一些示例
转储文件
$ sketchtool dump path/to/document.sketch
以JSON格式获取文档结构的转储。
如果您需要查看文档的元数据,但不想完整转储,则可以使用
$ sketchtool metadata path/to/document.sketch
你会得到类似的东西:
{
"commit" : "b8111e3393c4ca1f2399ecfdfc1e9488029ebe7b",
"pagesAndArtboards" : {
"E6890372-BE93-4E4C-ACD1-8F8B10862938" : {
"name" : "Page 1",
"artboards" : {
"214B376A-C4A3-47A9-9B87-DFBC49A6EFE0" : {
"name" : "Artboard 2"
},
"F8FE177A-5D6D-4A37-8BD1-B246A83A9C21" : {
"name" : "Artboard 1"
}
}
}
},
"version" : 97,
"fonts" : [
],
"compatibilityVersion" : 93,
"app" : "com.bohemiancoding.sketch3",
"autosaved" : 0,
"variant" : "NONAPPSTORE",
"created" : {
"commit" : "b8111e3393c4ca1f2399ecfdfc1e9488029ebe7b",
"appVersion" : "48.2",
"build" : 47327,
"app" : "com.bohemiancoding.sketch3",
"compatibilityVersion" : 93,
"version" : 97,
"variant" : "NONAPPSTORE"
},
"saveHistory" : [
"NONAPPSTORE.47327"
],
"appVersion" : "48.2",
"build" : 47327
}
导出资产
您可以使用SketchTool导出Sketch文档中的资源。SketchTool可以导出预定义的资源(即:在Sketch UI中可导出的图层和画板)或任何你想要的图层。
导出画板
运行
$ sketchtool export artboards path/to/document.sketch
将导出文档中的所有画板,无论其可导出状态如何。如果画板已设置为可导出,则SketchTool将导出所有尺寸和格式。否则,默认情况下,它们将以PNG格式以1x导出,您可以使用命令行选项指定自定义格式或大小:
$ sketchtool export artboards path/to/document.sketch --formats=jpg
您可以一次导出多个格式:
sketchtool导出画板路径/ to / document.sketch -formats = jpg,png,svg```
要查看SketchTool支持哪些格式,请运行sketchtool list formats。
要定义大小,你可以这样做:
$ sketchtool export artboards path/to/document.sketch --scales=1,2
这会给你1x和2x版本的画板。
默认情况下,文件被导出到当前文档,但您可以像这样定义输出路径:
$ sketchtool export artboards path/to/document.sketch --output=output/path
如果不想导出所有画板,可以通过使用图层ID 的item或items选项来告诉SketchTool要导出的画板:
$ sketchtool export artboards path/to/document.sketch --item=214B376A-C4A3-47A9-9B87-DFBC49A6EFE0
(获取美工板的ID,使用sketchtool metadata
或sketchtool list artboards
)。
有关导出画板时可以执行的其他操作的更多信息,请参阅sketchtool help export artboard
。
导出图层,切片或页面
图层,切片和页面就像画板一样工作,所以您可以阅读前一节用'图层','切片'或'页面'替换'画板'
获取文档预览
sketchtool export preview path/to/document.sketch
将为您提供文档中最后编辑页面的PNG预览,并将其另存为preview.png。SketchTool将尝试渲染100%的预览,但如果文档太大,则会缩小预览,使其适合2048 x 2048像素的矩形。
运行一个插件
SketchTool可以告诉Sketch启动并运行一个插件。如果您正在持续集成系统上测试插件,或者您需要自动执行无聊任务,这非常有用。
想象一下,我们有这个代码的插件:
context.document.showMessage("Remote plugin running!")
我们从Run Script ...面板中将它保存为'Remote Plugin' ,然后运行:
$ sketchtool run ~/Library/Application\ Support/com.bohemiancoding.sketch3/Plugins/Remote\ Plugin.sketchplugin com.bohemiancoding.sketch.runscriptidentifier
请注意,这com.bohemiancoding.sketch.runscriptidentifier
是Sketch在保存插件时使用的默认命令标识符,但在您的情况下它可能会有所不同。如果您只想运行包中的第一个命令,则可以使用""
而不是标识符。
SketchTool现在将启动Sketch,等待文档打开,然后运行我们的插件。Sketch将成为最前端的应用程序,但如果您希望它保留在后台(例如,您正在运行代码编辑器的测试,并且不希望Sketch捕获焦点),则可以使用该--without-activating
选项。
原文:https://developer.sketchapp.com/guides/sketchtool/