现在我们尝试做一个插件。我们将用到skpm——一个用于创建,构建和发布插件的管理器。
安装
直接用npm来安装,命令行输入
npm install -g skpm
(注意:Node.js需要>V6.x)
开始写一个插件
构建
命令行输入
skpm create my-plugin
我们可以得到这样一个目录
可以看到sketch插件的manifest.json和js脚本放在src目录下。assets可以放图片等资源文件。
运行命令
npm run build
将在目录下构建插件。
若想时刻观察变化可运行
npm run watch
如果想每次构建都运行一遍插件,可输入
npm run start
assets
我们可能需要放一些图片或HTML等资源文件,可以在放在assets文件夹里,这样在构建插件的时候,会一并打包进去。
而最后生成插件的目录是这样的:
assets里的资源文件将放在Resources里,因此在编写时要以路径"../Resources/xx"来引入资源。
查看log
官方提到有3种方法可以查看log。
1.使用 sketch-dev-tools(https://github.com/skpm/sketch-dev-tools)。这个是一个sketch插件,然而它会监听用户的所有操作,所以十分耗费性能。我在使用时候经常闪退,所以暂时不推荐
2.用mac 自带的Console.app,输入你的插件名称,可以筛选出对应的log。
3.打开~/Library/Logs/com.bohemiancoding.sketch3/Plugin Output.log
这个文件,可以查看到完整的log。
调试
defaults write ~/Library/Preferences/com.bohemiancoding.sketch3.plist AlwaysReloadScript -bool YES
发布插件
打开 GitHub → Setting → Developer settings , 在 Personal access tokens 中生成一个 token , 需要有操作 repo 权限, 使用 skpm 进行登录 (只需一次).
skpm login <github-token>
发布版本
skpm publish <new-version>
发布命令会执行下操作:
修改 package.json 版本号
git tag 当前版本
把 plugin.sketchplugin 文件压缩上传至 github releases 中
更新 .appcast.xml 文件, 通知 sketch 更新此插件