Skip to content

Instantly share code, notes, and snippets.

View KevinGutowski's full-sized avatar

Kevin Gutowski KevinGutowski

View GitHub Profile
@KevinGutowski
KevinGutowski / changeMeasurementColor.js
Created February 1, 2019 02:56
Change Sketch Measurement Color
let sketch = require('sketch')
let document = sketch.getSelectedDocument()
let viewController = document.sketchObject
console.log(viewController.eventHandlerManager().normalHandler().measurementRenderer().measurementStamp().color())
// <NSColorSpaceColor> sRGB IEC61966-2.1 colorspace 1 0 0 1
@KevinGutowski
KevinGutowski / example.js
Created February 17, 2019 11:14
Insertion Blinker turned White
framework("CoreText")
const UI = require("sketch/ui")
const DOM = require("sketch/dom")
const textLayer = DOM.getSelectedDocument().pages[0].selectedLayers.layers[0]
const newFont = getNewFont(textLayer)
if (textLayer.sketchObject.isEditingText() == 1) {
let textView = textLayer.sketchObject.editingDelegate().textView()
textView.setFont(newFont)
textView.didChangeText()
@KevinGutowski
KevinGutowski / insertionPointColor.js
Created February 17, 2019 11:35
Get Insertion Point Color
framework("CoreText")
const UI = require("sketch/ui")
const DOM = require("sketch/dom")
const textLayer = DOM.getSelectedDocument().pages[0].selectedLayers.layers[0]
if (textLayer.sketchObject.isEditingText() == 1) {
let textView = textLayer.sketchObject.editingDelegate().textView()
console.log(textView.insertionPointColor())
} else {
UI.message("Be sure to select a substring");
@KevinGutowski
KevinGutowski / load.js
Created March 19, 2019 15:57
Load a JSON file locally
try {
var url = NSURL.URLWithString("file:///Users/Kski/Downloads/meta.json");
var data = NSData.dataWithContentsOfURL(url);
var json = NSJSONSerialization.JSONObjectWithData_options_error(data, 0, nil)
log(json)
} catch(e) {
log("Exception: " + e);
}
This file has been truncated, but you can view the full file.
<504b0304 14000200 08000000 0000c028 600cc204 0000692a 00000c00 00006172 63686976 652e6a73 6f6eed59 4b53e338 10fe2b5b e6ea62f4 96cc690d 84215b24 61e3e430 b3434df9 2183ab9c d8653b5b b014ff7d 65f2b233 4062c7ce 700827a2 96fc7dfd 50b7d47a d67ebaa1 9da6da99 16cb240d d24c4e33 334d6576 1185a174 b3209a6a bae64661 94bc0eab 99ff3caf 17f5acee 6432cb6c 279417ab 396ac1d4 9e48253e 39198ecf bf9d9c2c 3fa19d15 d6ce4774 cd0ee307 5b3b83ba e68433b5 0a9c4244 8901a0c1 00170443 a26bf789 94d3b745 89f47281 78fd8df9 52fef2a2 57e169f6 ce3bc3aa 440bbcb0 81206582 214e2830 c48a9621 4051042b d2bae88e 86dd7e67 0f621c94 28d035b3 35db5c8e 2a32ebf4 3a43f3e6 720f66a2 e82ec08d 153352a0 95d3aeec 4af3fba0 df1d55b6 da292f11 12c5b82b 0717583b 18b1d21f af4af6d6 1c55a70a 8b0e2e51 c668c56c b549e6bc 2b12b3cc dbdbebee 701f66b4 1c6170c9 ac2293ee e0663f0b 21083923 1c502110 a6681d68 b8ec5558 39d03aa3 eb6fd6a8 729c6de6 aa5df2db 666c56e4 fa75682a 77d6d813 05bb91dc 8e05aea4 2c134d6d e0bfc7e6 70f47d37 a6ca626f e4969a91 d633bff6 3bbb6f47 1559b439 f0eb4ecf ac82dd
@KevinGutowski
KevinGutowski / pastesvg.js
Created April 2, 2019 02:44
Paste In SVG code
var sketch = require('sketch/dom')
var UI = require('sketch/ui')
var document = sketch.getSelectedDocument()
var page = document.selectedPage
var svgString
UI.getInputFromUser(
"What's your name?",
{
@KevinGutowski
KevinGutowski / groupLayers1.js
Last active April 27, 2019 22:50
Grouping Layers - Create the Group Object First
let sketch = require('sketch')
let document = sketch.getSelectedDocument()
let page = document.selectedPage
page.layers = []
let Artboard = sketch.Artboard
let myArtboard = new Artboard({
parent: page,
frame: { x: 0, y: 0, width: 400, height: 400 },
@KevinGutowski
KevinGutowski / groupLayers3.js
Last active May 1, 2019 06:50
Grouping Layers - Remove Parents for Each Layer
let sketch = require('sketch')
let document = sketch.getSelectedDocument()
let page = document.selectedPage
page.layers = []
let Artboard = sketch.Artboard
let myArtboard = new Artboard({
parent: page,
frame: { x: 0, y: 0, width: 400, height: 400 },
@KevinGutowski
KevinGutowski / groupLayers2.js
Created April 27, 2019 22:50
Grouping Layers - Don't specify the parent when creating each layer
let sketch = require('sketch')
let document = sketch.getSelectedDocument()
let page = document.selectedPage
page.layers = []
let Artboard = sketch.Artboard
let myArtboard = new Artboard({
parent: page,
frame: { x: 0, y: 0, width: 400, height: 400 },
@KevinGutowski
KevinGutowski / LineInterpolate.js
Created April 28, 2019 19:35
Making cool lines in Sketch
let sketch = require('sketch')
let document = sketch.getSelectedDocument()
let page = document.selectedPage
page.layers = []
let Artboard = sketch.Artboard
let myArtboard = new Artboard({
frame: { x: 0, y: 0, width: 400, height: 400 },
parent: page,