├── .gitignore ├── CopyColor.sketchplugin └── Contents │ └── Sketch │ ├── copy-color.js │ └── manifest.json └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /CopyColor.sketchplugin/Contents/Sketch/copy-color.js: -------------------------------------------------------------------------------- 1 | function copyFillColor(context) { 2 | var doc = context.document; 3 | var selected = context.selection; 4 | if (selected.count() > 0) { 5 | var layerFill = selected.firstObject().style().fills().firstObject().color().immutableModelObject().hexValue().toString(); 6 | var pasteBoard = NSPasteboard.generalPasteboard(); 7 | pasteBoard.clearContents() 8 | pasteBoard.writeObjects([layerFill]); 9 | doc.showMessage("Copied layer fill color value: " + layerFill + " to your clipboard"); 10 | } else { 11 | doc.showMessage("Please select a layer"); 12 | } 13 | }; 14 | 15 | function copyTextColor(context) { 16 | var doc = context.document; 17 | var selected = context.selection; 18 | if (selected.count() > 0) { 19 | var textFill = selected.firstObject().textColor().immutableModelObject().hexValue().toString(); 20 | var pasteBoard = NSPasteboard.generalPasteboard(); 21 | pasteBoard.clearContents() 22 | pasteBoard.writeObjects([textFill]); 23 | doc.showMessage("Copied text color value: " + textFill + " to your clipboard"); 24 | } else { 25 | doc.showMessage("Please select a text layer"); 26 | } 27 | }; 28 | 29 | function copyBorderColor(context) { 30 | var doc = context.document; 31 | var selected = context.selection; 32 | if (selected.count() > 0) { 33 | var borderColor = selected.firstObject().style().borders().firstObject().color().immutableModelObject().hexValue().toString(); 34 | var pasteBoard = NSPasteboard.generalPasteboard(); 35 | pasteBoard.clearContents() 36 | pasteBoard.writeObjects([borderColor]); 37 | doc.showMessage("Copied border color value: " + borderColor + " to your clipboard"); 38 | } else { 39 | doc.showMessage("Please select a layer"); 40 | } 41 | }; 42 | -------------------------------------------------------------------------------- /CopyColor.sketchplugin/Contents/Sketch/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "Copy Color", 3 | "identifier" : "com.sketchapp.examples.copy-color", 4 | "version" : "2.1", 5 | "description" : "provides shortcuts to copy a layer's fill or border color as well as text color hex value.", 6 | "authorEmail" : "poyi.design@gmail.com", 7 | "author" : "Poyi Chen", 8 | "commands" : [ 9 | { 10 | "script" : "copy-color.js", 11 | "handler" : "copyFillColor", 12 | "shortcut" : "shift cmd f", 13 | "name" : "Copy Fill Color", 14 | "identifier" : "copy-fill" 15 | }, 16 | { 17 | "script" : "copy-color.js", 18 | "handler" : "copyTextColor", 19 | "shortcut" : "shift cmd x", 20 | "name" : "Copy Text Color", 21 | "identifier" : "copy-text" 22 | }, 23 | { 24 | "script" : "copy-color.js", 25 | "handler" : "copyBorderColor", 26 | "shortcut" : "shift cmd b", 27 | "name" : "Copy Border Color", 28 | "identifier" : "copy-border" 29 | } 30 | ] 31 | } 32 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |