├── .gitignore ├── HOW-TO.md ├── LICENSE ├── README.md ├── Sketch Measure.sketchplugin └── Contents │ ├── Resources │ ├── icons │ │ ├── checkbox-checked.png │ │ ├── checkbox-checked@2x.png │ │ ├── checkbox-unchecked.png │ │ ├── checkbox-unchecked@2x.png │ │ ├── clear-normal.png │ │ ├── clear-normal@2x.png │ │ ├── close-normal.png │ │ ├── close-normal@2x.png │ │ ├── coordinate-disabled.png │ │ ├── coordinate-disabled@2x.png │ │ ├── coordinate-normal.png │ │ ├── coordinate-normal@2x.png │ │ ├── create-slice-disabled.png │ │ ├── create-slice-disabled@2x.png │ │ ├── create-slice-normal.png │ │ ├── create-slice-normal@2x.png │ │ ├── divider-h.png │ │ ├── divider-h@2x.png │ │ ├── divider-v.png │ │ ├── divider-v@2x.png │ │ ├── done-normal.png │ │ ├── done-normal@2x.png │ │ ├── height-center-disabled.png │ │ ├── height-center-disabled@2x.png │ │ ├── height-center-normal.png │ │ ├── height-center-normal@2x.png │ │ ├── height-left-disabled.png │ │ ├── height-left-disabled@2x.png │ │ ├── height-left-normal.png │ │ ├── height-left-normal@2x.png │ │ ├── height-right-disabled.png │ │ ├── height-right-disabled@2x.png │ │ ├── height-right-normal.png │ │ ├── height-right-normal@2x.png │ │ ├── hidden-normal.png │ │ ├── hidden-normal@2x.png │ │ ├── horizontal-distance-disabled.png │ │ ├── horizontal-distance-disabled@2x.png │ │ ├── horizontal-distance-normal.png │ │ ├── horizontal-distance-normal@2x.png │ │ ├── locked-normal.png │ │ ├── locked-normal@2x.png │ │ ├── overlay-disabled.png │ │ ├── overlay-disabled@2x.png │ │ ├── overlay-normal.png │ │ ├── overlay-normal@2x.png │ │ ├── properties-bottom-disabled.png │ │ ├── properties-bottom-disabled@2x.png │ │ ├── properties-bottom-normal.png │ │ ├── properties-bottom-normal@2x.png │ │ ├── properties-left-disabled.png │ │ ├── properties-left-disabled@2x.png │ │ ├── properties-left-normal.png │ │ ├── properties-left-normal@2x.png │ │ ├── properties-right-disabled.png │ │ ├── properties-right-disabled@2x.png │ │ ├── properties-right-normal.png │ │ ├── properties-right-normal@2x.png │ │ ├── properties-top-disabled.png │ │ ├── properties-top-disabled@2x.png │ │ ├── properties-top-normal.png │ │ ├── properties-top-normal@2x.png │ │ ├── settings-normal.png │ │ ├── settings-normal@2x.png │ │ ├── spacing-bottom-disabled.png │ │ ├── spacing-bottom-disabled@2x.png │ │ ├── spacing-bottom-normal.png │ │ ├── spacing-bottom-normal@2x.png │ │ ├── spacing-left-disabled.png │ │ ├── spacing-left-disabled@2x.png │ │ ├── spacing-left-normal.png │ │ ├── spacing-left-normal@2x.png │ │ ├── spacing-right-disabled.png │ │ ├── spacing-right-disabled@2x.png │ │ ├── spacing-right-normal.png │ │ ├── spacing-right-normal@2x.png │ │ ├── spacing-top-disabled.png │ │ ├── spacing-top-disabled@2x.png │ │ ├── spacing-top-normal.png │ │ ├── spacing-top-normal@2x.png │ │ ├── titlebar-bg.png │ │ ├── titlebar-bg@2x.png │ │ ├── vertical-distance-disabled.png │ │ ├── vertical-distance-disabled@2x.png │ │ ├── vertical-distance-normal.png │ │ ├── vertical-distance-normal@2x.png │ │ ├── width-bottom-disabled.png │ │ ├── width-bottom-disabled@2x.png │ │ ├── width-bottom-normal.png │ │ ├── width-bottom-normal@2x.png │ │ ├── width-middle-disabled.png │ │ ├── width-middle-disabled@2x.png │ │ ├── width-middle-normal.png │ │ ├── width-middle-normal@2x.png │ │ ├── width-top-disabled.png │ │ ├── width-top-disabled@2x.png │ │ ├── width-top-normal.png │ │ └── width-top-normal@2x.png │ └── panel │ │ ├── assets │ │ ├── css │ │ │ ├── app.css │ │ │ └── normalize.css │ │ ├── img │ │ │ └── logo.png │ │ └── js │ │ │ ├── common.js │ │ │ └── vue.min.js │ │ └── settings.html │ └── Sketch │ ├── SMFramework.framework │ ├── Headers │ │ └── SMFramework.h │ ├── Modules │ │ └── module.modulemap │ ├── Resources │ │ ├── Info.plist │ │ └── SMFramework.js │ ├── SMFramework │ └── Versions │ │ └── A │ │ ├── Headers │ │ └── SMFramework.h │ │ ├── Modules │ │ └── module.modulemap │ │ ├── Resources │ │ ├── Info.plist │ │ └── SMFramework.js │ │ └── SMFramework │ ├── library │ ├── MochaJSDelegate.js │ ├── common.js │ ├── i18n │ │ ├── manifest-en.json │ │ ├── manifest-zh-Hans.json │ │ ├── manifest-zh-Hant.json │ │ ├── zh-Hans.json │ │ └── zh-Hant.json │ ├── panel │ │ ├── assets │ │ │ ├── css │ │ │ │ ├── app.css │ │ │ │ └── normalize.css │ │ │ ├── img │ │ │ │ └── logo.png │ │ │ └── js │ │ │ │ ├── common.js │ │ │ │ └── jquery-2.2.4.min.js │ │ ├── colors.html │ │ ├── export.html │ │ ├── processing.html │ │ ├── properties.html │ │ ├── settings.html │ │ ├── sizes.html │ │ ├── spacings.html │ │ └── update.html │ ├── template.html │ ├── toolbar.js │ └── toolbar │ │ ├── divider.png │ │ ├── divider@2x.png │ │ ├── icon-close.png │ │ ├── icon-close@2x.png │ │ ├── icon-colors.png │ │ ├── icon-colors@2x.png │ │ ├── icon-export.png │ │ ├── icon-export@2x.png │ │ ├── icon-hidden.png │ │ ├── icon-hidden@2x.png │ │ ├── icon-locked.png │ │ ├── icon-locked@2x.png │ │ ├── icon-notes.png │ │ ├── icon-notes@2x.png │ │ ├── icon-overlay.png │ │ ├── icon-overlay@2x.png │ │ ├── icon-properties.png │ │ ├── icon-properties@2x.png │ │ ├── icon-settings.png │ │ ├── icon-settings@2x.png │ │ ├── icon-sizes.png │ │ ├── icon-sizes@2x.png │ │ ├── icon-slice.png │ │ ├── icon-slice@2x.png │ │ ├── icon-spacings.png │ │ └── icon-spacings@2x.png │ ├── links.sketchscript │ ├── manifest.json │ └── mark.sketchscript ├── appcast.xml └── sketch-measure-runner.png /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /HOW-TO.md: -------------------------------------------------------------------------------- 1 | ## Installing Plugins 2 | 3 | 1. [Download the ZIP file with the Measure](https://github.com/utom/sketch-measure/archive/master.zip) and unzip; 4 | 2. Open the `Sketch Measure.sketchplugin`; 5 | 6 | 7 | 8 | ##Toolbar 9 | 10 | A bunch of accessible features collected and represented with clear icons help you deliver accurate design specs right at your hand. 11 | 12 | 13 | Run `Plugin` > `Sketch Measure` > `Toolbar` or use `⌃` + `⇧` + `B`. 14 | 15 | ![Toolbar](http://utom.design/measure/docs/toolbar.png) 16 | 17 | ## Resolution Setup 18 | 19 | To set design resolution for each document. 20 | 21 | ![Setup UI](http://utom.design/measure/docs/setup.png) 22 | 23 | ##Mark Overlay 24 | 25 | Sometimes you may need to mark an overlay to highlight a layer, this can be done easily in Sketch Measure. 26 | 27 | 1. Select one or more any layers in Sketch; 28 | 2. Click the `overlay` button in the **Toolbar** or use `⌃` +` ⇧` + `1`; 29 | 30 | 31 | 32 | ##Mark Sizes 33 | 34 | Mark width and height label for some layers; 35 | 36 | 1. Select one or more any layers in sketch; 37 | 38 | 2. Click the `sizes` button in the **Toolbar** or use `⌃` + `⇧` + `2`; 39 | 40 | > If you want to mark width or height separately. 41 | > 42 | > Hold down the `⌥` key and click the `sizes` button. 43 | 44 | 45 | ![Mark sizes UI](http://utom.design/measure/docs/mark-sizes.png) 46 | 47 | 48 | ##Mark Spacings 49 | 50 | Spacing between any layer and the artboard. 51 | 52 | 1. Select one layer in the artboard or select two any layers; 53 | 54 | 2. Click the `spacings` button in the **Toolbar** or use `⌃` + `⇧` + `3`; 55 | 56 | > If you want to show margin top, right, bottom or left separately. 57 | > 58 | > Hold down the `⌥` key and click the `spacings` button. 59 | 60 | ![Mark spacings UI](http://utom.design/measure/docs/mark-spacings.png) 61 | 62 | 63 | 64 | ##Mark Properties 65 | 66 | Mark shape layer or text layer info, such as, fill color, border color and stroke, opacity, text font family, etc. 67 | 68 | 1. Select one or more any layers in sketch; 69 | 70 | 2. Click the `properties` button in the **Toolbar** or use `⌃` + `⇧` + `4`; 71 | 72 | > If you want to mark any properties separately. 73 | > 74 | > Hold down the `⌥` key and click the `properties` button. 75 | 76 | ![Mark properties UI](http://utom.design/measure/docs/mark-properties.png) 77 | 78 | 79 | 80 | ##Mark Note 81 | 82 | Mark some notes in artboard, and show in `Spec Export` viewer. 83 | 84 | ![Mark note](http://utom.design/measure/docs/mark-note.png) 85 | 86 | 1. Insert text layer, and type something; 87 | 2. Select the text layer; 88 | 3. Click the `note` button in the **Toolbar** or use `⌃` + `⇧` + `5`; 89 | 90 | 91 | 92 | 93 | ##Make Exportable 94 | Quickly set slice presets for the layer you'd like to export. also when you set your design resolution as `dp/sp` unit, can be exporting slices as Android assets by ` Spec Export`. 95 | 96 | ![Mark spacings UI](http://utom.design/measure/docs/android-assets.png) 97 | 98 | 1. Select one or more any layers in sketch; 99 | 100 | 2. Click the `knife` button in the **Toolbar** or use `⌃` + `⇧` + `s`; 101 | 102 | > If you want to create slice layer. 103 | > 104 | > Hold down the `⌥` key and click the `knife` button. 105 | 106 | 107 | ![Make-exportable layer](http://utom.design/measure/docs/make-exportable.gif?resize=w720,h405) 108 | 109 | ![Create slice layer](http://utom.design/measure/docs/create-slice-layer.gif?resize=w720,h405) 110 | 111 | ## Color Names 112 | 113 | Set color names and export `.xml` for developer. 114 | 115 | 1. Click the `drop` button in the **Toolbar** or use `⌃` + `⇧` +` c`; 116 | 117 | 2. Select one or more shape layers or text layers in sketch; 118 | 119 | 3. Click the `add` button in the `Manage colors` UI dialog; 120 | 121 | > If you want to edit color name. 122 | > 123 | > Double-click the color item of list in UI dialog; 124 | 125 | ![Color names UI](http://utom.design/measure/docs/color-names.png) 126 | 127 | 128 | 129 | ## Spec Export 130 | 131 | Automatically generating html page with one click, inspect all the design details including CSS Styles on it offline. 132 | 133 | 1. Select some artboards in sketch; 134 | 135 | 2. Click the `export` button in the **Toolbar** or use `⌃` + `⇧` + `e`; 136 | 137 | > if you want to create one artboard by one HTML file, please uncheck the "Advanced mode" option. 138 | 139 | ![Spec export UI](http://utom.design/measure/docs/spec-export.png) 140 | 141 | ## Spec Viewer 142 | 143 | You can use Safari 9+ and Google Chrome to view it, it's based on HTML 5, CSS 3 and Javascript. 144 | 145 | - Select a layer and hover other layer to measure and get margin; 146 | - Click color area in the Inspector to change color format; 147 | - Use `⌘` + `+` and `⌘` + ` -` to zoom the canvas; 148 | - Hold down `spacebar` on keyboard, and mouse drag canvas to scroll canvas; 149 | - Toggle note switch to show and hide the notes; 150 | 151 | [View the demo →](http://utom.design/news/) 152 | 153 | ![Spec viewer UI](http://utom.design/measure/docs/spec-viewer.png) 154 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2014 utom 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # A new feature for Sketch Measure: Export Layer's influence Rect to Spec. 2 | 3 | Layer's influence rect includes the area of shadows and outside borders, it's exactly the same size with the exported image. 4 | 5 |                                       Regular rect                                                         Influence rect 6 | ​ 7 | ![regular-rect](https://pic4.zhimg.com/v2-c1792b8300fca0cdc90b564a27b8da8b_b.png) 8 | ![influence-rect](https://pic3.zhimg.com/v2-a639e906f8fea576da8d9a8cc1cc752a_b.png) 9 | 10 | Sometime, shadows will not implement by engineers, it should be a part of image. Designer need to show the influence rect to engineers, not the regular rect. This is the feature using for. 11 | 12 | Just select the option in Export UI 13 | 14 | ![export-ui](https://i1.hoopchina.com.cn/blogfile/201702/20/BbsImg148759897429137_471x602big.png) 15 | 16 | # Sketch Measure 17 | 18 | Make it fun to create specs for developers and teammates. **Sketch 49.* support**. 19 | 20 | - [How to](http://utom.design/measure/how-to.html) 21 | - [中文说明](http://sketch.im/plugins/1) 22 | 23 | ![Logo](http://utom.design/logo@2x.png) 24 | 25 | ## Installing Plugins 26 | 27 | ### Install from download 28 | 1. [Download the ZIP file](https://github.com/utom/sketch-measure/archive/master.zip) and unzip 29 | 2. Open `Sketch Measure.sketchplugin` 30 | 31 | ### Install with Sketch Plugin Manager 32 | 1. With [Sketch Plugin Manager](https://mludowise.github.io/Sketch-Plugin-Manager/), just search `Sketch Measure` 33 | 2. Will see the `Sketch Measure` plugin listed at the top, Click the `Install` inside it 34 | #[!Install with Sketch Plugin Manager](https://github.com/mludowise/Sketch-Plugin-Manager/raw/master/img/catalog-view.png) 35 | 36 | ### Install with Sketchpacks 37 | 1. With [Sketchpacks](https://sketchpacks.com), search for `Sketch Measure` 38 | 2. Click `Install` 39 | 3. Get automatic updates for `Sketch Measure` 40 | 41 | **Already have Sketchpacks?** 42 | 43 | [![Install Sketch Measure with Sketchpacks](http://sketchpacks-com.s3.amazonaws.com/assets/badges/sketchpacks-badge-install.png "Install Sketch Measure with Sketchpacks")](https://sketchpacks.com/utom/sketch-measure/install) 44 | 45 | ### Install with Sketch Runner 46 | With Sketch Runner, just go to the `install` command and search for `Sketch Measure`. Runner allows you to manage plugins and do much more to speed up your workflow in Sketch. [Download Runner here](http://www.sketchrunner.com). 47 | ![Install with Sketch Runner](sketch-measure-runner.png) 48 | 49 | ## New UI 50 | Friendly user interface offers you a more intuitive way of making marks. 51 | 52 | ### How to 53 | * Hold down the `Option` key on keyboard and click icons on the toolbar to show panels. 54 | 55 | ![SPEC EXPORT](http://utom.design/ui.png) 56 | 57 | ## Spec Export 58 | Automatically generate a html page with one click, and inspect all the design details including CSS Styles on it offline. 59 | 60 | **If you want to create one artboard by one HTML file, please uncheck "Advanced mode".** 61 | 62 | Demo: http://utom.design/news/ 63 | 64 | ![SPEC EXPORT](http://utom.design/export@2x.png) 65 | 66 | ## Custom Shortcuts 67 | To create your own custom shortcuts, go to Keyboard in your System Preferences and click the Shortcuts tab. Select App Shortcuts and click ‘+’ to create a new shortcut. Choose Sketch from the Application list, then enter the exact name of the menu item you want to create the shortcut for. Finally choose your own shortcut combination and you’re all set. 68 | 69 | ![Settings](http://sketchshortcuts.com/images/mac@2x.png) 70 | 71 | ## Contributors 72 | * Author [@utom](http://utom.design) 73 | * [@cute](http://liguangming.com) ([SketchI18N](https://github.com/cute/SketchI18N)) 74 | * [@forestlin1212](https://github.com/forestlin1212) 75 | * [@ashung](https://github.com/Ashung) ([Automate-Sketch](https://github.com/Ashung/Automate-Sketch)) 76 | * [@mkl87](https://github.com/mkl87), [@Skykai521](https://github.com/Skykai521), [@whyfind](https://github.com/whyfind) and [@Nora](https://www.behance.net/liyinuo) 77 | * @Kai and [@Zih-Hong](http://zihhonglin.com) 78 | * And [Other](https://github.com/utom/sketch-measure/contributors) 79 | 80 | ## Contact 81 | 82 | * Follow [@utom](http://twitter.com/utom) on Twitter 83 | * Email 84 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/checkbox-checked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/checkbox-checked.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/checkbox-checked@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/checkbox-checked@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/checkbox-unchecked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/checkbox-unchecked.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/checkbox-unchecked@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/checkbox-unchecked@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/clear-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/clear-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/clear-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/clear-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/close-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/close-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/close-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/close-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/coordinate-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/coordinate-disabled.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/coordinate-disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/coordinate-disabled@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/coordinate-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/coordinate-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/coordinate-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/coordinate-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/create-slice-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/create-slice-disabled.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/create-slice-disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/create-slice-disabled@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/create-slice-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/create-slice-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/create-slice-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/create-slice-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/divider-h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/divider-h.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/divider-h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/divider-h@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/divider-v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/divider-v.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/divider-v@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/divider-v@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/done-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/done-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/done-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/done-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/height-center-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/height-center-disabled.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/height-center-disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/height-center-disabled@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/height-center-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/height-center-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/height-center-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/height-center-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/height-left-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/height-left-disabled.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/height-left-disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/height-left-disabled@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/height-left-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/height-left-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/height-left-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/height-left-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/height-right-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/height-right-disabled.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/height-right-disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/height-right-disabled@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/height-right-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/height-right-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/height-right-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/height-right-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/hidden-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/hidden-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/hidden-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/hidden-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/horizontal-distance-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/horizontal-distance-disabled.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/horizontal-distance-disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/horizontal-distance-disabled@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/horizontal-distance-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/horizontal-distance-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/horizontal-distance-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/horizontal-distance-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/locked-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/locked-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/locked-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/locked-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/overlay-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/overlay-disabled.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/overlay-disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/overlay-disabled@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/overlay-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/overlay-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/overlay-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/overlay-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/properties-bottom-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/properties-bottom-disabled.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/properties-bottom-disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/properties-bottom-disabled@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/properties-bottom-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/properties-bottom-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/properties-bottom-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/properties-bottom-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/properties-left-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/properties-left-disabled.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/properties-left-disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/properties-left-disabled@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/properties-left-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/properties-left-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/properties-left-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/properties-left-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/properties-right-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/properties-right-disabled.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/properties-right-disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/properties-right-disabled@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/properties-right-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/properties-right-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/properties-right-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/properties-right-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/properties-top-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/properties-top-disabled.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/properties-top-disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/properties-top-disabled@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/properties-top-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/properties-top-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/properties-top-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/properties-top-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/settings-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/settings-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/settings-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/settings-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-bottom-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-bottom-disabled.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-bottom-disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-bottom-disabled@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-bottom-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-bottom-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-bottom-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-bottom-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-left-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-left-disabled.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-left-disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-left-disabled@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-left-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-left-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-left-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-left-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-right-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-right-disabled.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-right-disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-right-disabled@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-right-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-right-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-right-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-right-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-top-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-top-disabled.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-top-disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-top-disabled@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-top-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-top-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-top-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/spacing-top-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/titlebar-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/titlebar-bg.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/titlebar-bg@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/titlebar-bg@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/vertical-distance-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/vertical-distance-disabled.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/vertical-distance-disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/vertical-distance-disabled@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/vertical-distance-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/vertical-distance-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/vertical-distance-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/vertical-distance-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/width-bottom-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/width-bottom-disabled.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/width-bottom-disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/width-bottom-disabled@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/width-bottom-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/width-bottom-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/width-bottom-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/width-bottom-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/width-middle-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/width-middle-disabled.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/width-middle-disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/width-middle-disabled@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/width-middle-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/width-middle-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/width-middle-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/width-middle-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/width-top-disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/width-top-disabled.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/width-top-disabled@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/width-top-disabled@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/width-top-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/width-top-normal.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/icons/width-top-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/icons/width-top-normal@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/panel/assets/css/normalize.css: -------------------------------------------------------------------------------- 1 | /*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */ 2 | 3 | /** 4 | * 1. Change the default font family in all browsers (opinionated). 5 | * 2. Prevent adjustments of font size after orientation changes in IE and iOS. 6 | */ 7 | 8 | html { 9 | font-family: sans-serif; /* 1 */ 10 | -ms-text-size-adjust: 100%; /* 2 */ 11 | -webkit-text-size-adjust: 100%; /* 2 */ 12 | } 13 | 14 | /** 15 | * Remove the margin in all browsers (opinionated). 16 | */ 17 | 18 | body { 19 | margin: 0; 20 | } 21 | 22 | /* HTML5 display definitions 23 | ========================================================================== */ 24 | 25 | /** 26 | * Add the correct display in IE 9-. 27 | * 1. Add the correct display in Edge, IE, and Firefox. 28 | * 2. Add the correct display in IE. 29 | */ 30 | 31 | article, 32 | aside, 33 | details, /* 1 */ 34 | figcaption, 35 | figure, 36 | footer, 37 | header, 38 | main, /* 2 */ 39 | menu, 40 | nav, 41 | section, 42 | summary { /* 1 */ 43 | display: block; 44 | } 45 | 46 | /** 47 | * Add the correct display in IE 9-. 48 | */ 49 | 50 | audio, 51 | canvas, 52 | progress, 53 | video { 54 | display: inline-block; 55 | } 56 | 57 | /** 58 | * Add the correct display in iOS 4-7. 59 | */ 60 | 61 | audio:not([controls]) { 62 | display: none; 63 | height: 0; 64 | } 65 | 66 | /** 67 | * Add the correct vertical alignment in Chrome, Firefox, and Opera. 68 | */ 69 | 70 | progress { 71 | vertical-align: baseline; 72 | } 73 | 74 | /** 75 | * Add the correct display in IE 10-. 76 | * 1. Add the correct display in IE. 77 | */ 78 | 79 | template, /* 1 */ 80 | [hidden] { 81 | display: none; 82 | } 83 | 84 | /* Links 85 | ========================================================================== */ 86 | 87 | /** 88 | * 1. Remove the gray background on active links in IE 10. 89 | * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. 90 | */ 91 | 92 | a { 93 | background-color: transparent; /* 1 */ 94 | -webkit-text-decoration-skip: objects; /* 2 */ 95 | } 96 | 97 | /** 98 | * Remove the outline on focused links when they are also active or hovered 99 | * in all browsers (opinionated). 100 | */ 101 | 102 | a:active, 103 | a:hover { 104 | outline-width: 0; 105 | } 106 | 107 | /* Text-level semantics 108 | ========================================================================== */ 109 | 110 | /** 111 | * 1. Remove the bottom border in Firefox 39-. 112 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. 113 | */ 114 | 115 | abbr[title] { 116 | border-bottom: none; /* 1 */ 117 | text-decoration: underline; /* 2 */ 118 | text-decoration: underline dotted; /* 2 */ 119 | } 120 | 121 | /** 122 | * Prevent the duplicate application of `bolder` by the next rule in Safari 6. 123 | */ 124 | 125 | b, 126 | strong { 127 | font-weight: inherit; 128 | } 129 | 130 | /** 131 | * Add the correct font weight in Chrome, Edge, and Safari. 132 | */ 133 | 134 | b, 135 | strong { 136 | font-weight: bolder; 137 | } 138 | 139 | /** 140 | * Add the correct font style in Android 4.3-. 141 | */ 142 | 143 | dfn { 144 | font-style: italic; 145 | } 146 | 147 | /** 148 | * Correct the font size and margin on `h1` elements within `section` and 149 | * `article` contexts in Chrome, Firefox, and Safari. 150 | */ 151 | 152 | h1 { 153 | font-size: 2em; 154 | margin: 0.67em 0; 155 | } 156 | 157 | /** 158 | * Add the correct background and color in IE 9-. 159 | */ 160 | 161 | mark { 162 | background-color: #ff0; 163 | color: #000; 164 | } 165 | 166 | /** 167 | * Add the correct font size in all browsers. 168 | */ 169 | 170 | small { 171 | font-size: 80%; 172 | } 173 | 174 | /** 175 | * Prevent `sub` and `sup` elements from affecting the line height in 176 | * all browsers. 177 | */ 178 | 179 | sub, 180 | sup { 181 | font-size: 75%; 182 | line-height: 0; 183 | position: relative; 184 | vertical-align: baseline; 185 | } 186 | 187 | sub { 188 | bottom: -0.25em; 189 | } 190 | 191 | sup { 192 | top: -0.5em; 193 | } 194 | 195 | /* Embedded content 196 | ========================================================================== */ 197 | 198 | /** 199 | * Remove the border on images inside links in IE 10-. 200 | */ 201 | 202 | img { 203 | border-style: none; 204 | } 205 | 206 | /** 207 | * Hide the overflow in IE. 208 | */ 209 | 210 | svg:not(:root) { 211 | overflow: hidden; 212 | } 213 | 214 | /* Grouping content 215 | ========================================================================== */ 216 | 217 | /** 218 | * 1. Correct the inheritance and scaling of font size in all browsers. 219 | * 2. Correct the odd `em` font sizing in all browsers. 220 | */ 221 | 222 | code, 223 | kbd, 224 | pre, 225 | samp { 226 | font-family: monospace, monospace; /* 1 */ 227 | font-size: 1em; /* 2 */ 228 | } 229 | 230 | /** 231 | * Add the correct margin in IE 8. 232 | */ 233 | 234 | figure { 235 | margin: 1em 40px; 236 | } 237 | 238 | /** 239 | * 1. Add the correct box sizing in Firefox. 240 | * 2. Show the overflow in Edge and IE. 241 | */ 242 | 243 | hr { 244 | box-sizing: content-box; /* 1 */ 245 | height: 0; /* 1 */ 246 | overflow: visible; /* 2 */ 247 | } 248 | 249 | /* Forms 250 | ========================================================================== */ 251 | 252 | /** 253 | * 1. Change font properties to `inherit` in all browsers (opinionated). 254 | * 2. Remove the margin in Firefox and Safari. 255 | */ 256 | 257 | button, 258 | input, 259 | select, 260 | textarea { 261 | font: inherit; /* 1 */ 262 | margin: 0; /* 2 */ 263 | } 264 | 265 | /** 266 | * Restore the font weight unset by the previous rule. 267 | */ 268 | 269 | optgroup { 270 | font-weight: bold; 271 | } 272 | 273 | /** 274 | * Show the overflow in IE. 275 | * 1. Show the overflow in Edge. 276 | */ 277 | 278 | button, 279 | input { /* 1 */ 280 | overflow: visible; 281 | } 282 | 283 | /** 284 | * Remove the inheritance of text transform in Edge, Firefox, and IE. 285 | * 1. Remove the inheritance of text transform in Firefox. 286 | */ 287 | 288 | button, 289 | select { /* 1 */ 290 | text-transform: none; 291 | } 292 | 293 | /** 294 | * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` 295 | * controls in Android 4. 296 | * 2. Correct the inability to style clickable types in iOS and Safari. 297 | */ 298 | 299 | button, 300 | html [type="button"], /* 1 */ 301 | [type="reset"], 302 | [type="submit"] { 303 | -webkit-appearance: button; /* 2 */ 304 | } 305 | 306 | /** 307 | * Remove the inner border and padding in Firefox. 308 | */ 309 | 310 | button::-moz-focus-inner, 311 | [type="button"]::-moz-focus-inner, 312 | [type="reset"]::-moz-focus-inner, 313 | [type="submit"]::-moz-focus-inner { 314 | border-style: none; 315 | padding: 0; 316 | } 317 | 318 | /** 319 | * Restore the focus styles unset by the previous rule. 320 | */ 321 | 322 | button:-moz-focusring, 323 | [type="button"]:-moz-focusring, 324 | [type="reset"]:-moz-focusring, 325 | [type="submit"]:-moz-focusring { 326 | outline: 1px dotted ButtonText; 327 | } 328 | 329 | /** 330 | * Change the border, margin, and padding in all browsers (opinionated). 331 | */ 332 | 333 | fieldset { 334 | border: 1px solid #c0c0c0; 335 | margin: 0 2px; 336 | padding: 0.35em 0.625em 0.75em; 337 | } 338 | 339 | /** 340 | * 1. Correct the text wrapping in Edge and IE. 341 | * 2. Correct the color inheritance from `fieldset` elements in IE. 342 | * 3. Remove the padding so developers are not caught out when they zero out 343 | * `fieldset` elements in all browsers. 344 | */ 345 | 346 | legend { 347 | box-sizing: border-box; /* 1 */ 348 | color: inherit; /* 2 */ 349 | display: table; /* 1 */ 350 | max-width: 100%; /* 1 */ 351 | padding: 0; /* 3 */ 352 | white-space: normal; /* 1 */ 353 | } 354 | 355 | /** 356 | * Remove the default vertical scrollbar in IE. 357 | */ 358 | 359 | textarea { 360 | overflow: auto; 361 | } 362 | 363 | /** 364 | * 1. Add the correct box sizing in IE 10-. 365 | * 2. Remove the padding in IE 10-. 366 | */ 367 | 368 | [type="checkbox"], 369 | [type="radio"] { 370 | box-sizing: border-box; /* 1 */ 371 | padding: 0; /* 2 */ 372 | } 373 | 374 | /** 375 | * Correct the cursor style of increment and decrement buttons in Chrome. 376 | */ 377 | 378 | [type="number"]::-webkit-inner-spin-button, 379 | [type="number"]::-webkit-outer-spin-button { 380 | height: auto; 381 | } 382 | 383 | /** 384 | * 1. Correct the odd appearance in Chrome and Safari. 385 | * 2. Correct the outline style in Safari. 386 | */ 387 | 388 | [type="search"] { 389 | -webkit-appearance: textfield; /* 1 */ 390 | outline-offset: -2px; /* 2 */ 391 | } 392 | 393 | /** 394 | * Remove the inner padding and cancel buttons in Chrome and Safari on OS X. 395 | */ 396 | 397 | [type="search"]::-webkit-search-cancel-button, 398 | [type="search"]::-webkit-search-decoration { 399 | -webkit-appearance: none; 400 | } 401 | 402 | /** 403 | * Correct the text style of placeholders in Chrome, Edge, and Safari. 404 | */ 405 | 406 | ::-webkit-input-placeholder { 407 | color: inherit; 408 | opacity: 0.54; 409 | } 410 | 411 | /** 412 | * 1. Correct the inability to style clickable types in iOS and Safari. 413 | * 2. Change font properties to `inherit` in Safari. 414 | */ 415 | 416 | ::-webkit-file-upload-button { 417 | -webkit-appearance: button; /* 1 */ 418 | font: inherit; /* 2 */ 419 | } -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/panel/assets/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Resources/panel/assets/img/logo.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/panel/assets/js/common.js: -------------------------------------------------------------------------------- 1 | var I18N = {}, 2 | lang = navigator.language.toLocaleLowerCase(), 3 | _ = function(str){ 4 | return (I18N[lang] && I18N[lang][str])? I18N[lang][str]: str; 5 | } 6 | 7 | $(function() { 8 | $(document) 9 | .on('contextmenu', function(event){ 10 | return false; 11 | }) 12 | .keypress(function(event){ 13 | var eventObj = event || e, 14 | keyCode = eventObj.keyCode || eventObj.which; 15 | 16 | if(keyCode == 13){ 17 | event.stopPropagation(); 18 | $('#submit:not(:disabled)').click(); 19 | return false; 20 | } 21 | }); 22 | }); 23 | 24 | function lookupItemInput(x, y){ 25 | var elem = document.elementFromPoint(x, y); 26 | $(elem).click(); 27 | } 28 | 29 | window.onfocus = function(){ 30 | SMAction('focus'); 31 | }; 32 | 33 | (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 34 | (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 35 | m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 36 | })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 37 | 38 | ga('create', 'UA-81011936-2'); 39 | ga('send', 'pageview'); 40 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Resources/panel/settings.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Settings 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 |
16 |
17 |
18 |

Design resolution

19 |

{{ checkedResolution() }}

20 |
    21 | 27 |
28 |
29 |
30 |
31 | 32 |
33 |
34 | 35 |
36 |

Color format

37 |
38 |
39 |

Color format

40 |

{{ checkedFormat() }}

41 |
    42 |
  • 43 |
44 |
45 |
46 |
47 | 50 |
51 | 52 | 464 | 465 | 466 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/SMFramework.framework/Headers/SMFramework.h: -------------------------------------------------------------------------------- 1 | // 2 | // SMFramework.h 3 | // SMFramework 4 | // 5 | // Created by utom on 11/05/2017. 6 | // Copyright © 2017 UTOMBOX. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for SMFramework. 12 | FOUNDATION_EXPORT double SMFrameworkVersionNumber; 13 | 14 | //! Project version string for SMFramework. 15 | FOUNDATION_EXPORT const unsigned char SMFrameworkVersionString[]; 16 | 17 | // In this header, you should import all the public headers of your framework using statements like #import 18 | 19 | 20 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/SMFramework.framework/Modules/module.modulemap: -------------------------------------------------------------------------------- 1 | framework module SMFramework { 2 | umbrella header "SMFramework.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/SMFramework.framework/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildMachineOSBuild 6 | 18F132 7 | CFBundleDevelopmentRegion 8 | en 9 | CFBundleExecutable 10 | SMFramework 11 | CFBundleIdentifier 12 | design.utom.SMFramework 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | SMFramework 17 | CFBundlePackageType 18 | FMWK 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSupportedPlatforms 22 | 23 | MacOSX 24 | 25 | CFBundleVersion 26 | 1 27 | DTCompiler 28 | com.apple.compilers.llvm.clang.1_0 29 | DTPlatformBuild 30 | 10E1001 31 | DTPlatformVersion 32 | GM 33 | DTSDKBuild 34 | 18E219 35 | DTSDKName 36 | macosx10.14 37 | DTXcode 38 | 1020 39 | DTXcodeBuild 40 | 10E1001 41 | NSHumanReadableCopyright 42 | Copyright © 2017 UTOMBOX. All rights reserved. 43 | 44 | 45 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/SMFramework.framework/Resources/SMFramework.js: -------------------------------------------------------------------------------- 1 | /* 2 | // To load this framework, replace the onRun method in your script.cocoscript 3 | 4 | @import 'SMFramework.framework/SMFramework.js' 5 | 6 | var onRun = function(context) { 7 | var obj = SMFramework.alloc().init() 8 | var uppercase = obj.uppercaseString("hello world") 9 | 10 | log(uppercase); 11 | context.document.showMessage(uppercase); 12 | } 13 | */ 14 | 15 | var SMFramework_FrameworkPath = SMFramework_FrameworkPath || COScript.currentCOScript().env().scriptURL.path().stringByDeletingLastPathComponent(); 16 | var SMFramework_Log = SMFramework_Log || log; 17 | (function() { 18 | var mocha = Mocha.sharedRuntime(); 19 | var frameworkName = "SMFramework"; 20 | var directory = SMFramework_FrameworkPath; 21 | if (mocha.valueForKey(frameworkName)) { 22 | SMFramework_Log("😎 loadFramework: `" + frameworkName + "` already loaded."); 23 | return true; 24 | } else if ([mocha loadFrameworkWithName:frameworkName inDirectory:directory]) { 25 | SMFramework_Log("✅ loadFramework: `" + frameworkName + "` success!"); 26 | mocha.setValue_forKey_(true, frameworkName); 27 | return true; 28 | } else { 29 | SMFramework_Log("❌ loadFramework: `" + frameworkName + "` failed!: " + directory + ". Please define SMFramework_FrameworkPath if you're trying to @import in a custom plugin"); 30 | return false; 31 | } 32 | })(); 33 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/SMFramework.framework/SMFramework: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/SMFramework.framework/SMFramework -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/SMFramework.framework/Versions/A/Headers/SMFramework.h: -------------------------------------------------------------------------------- 1 | // 2 | // SMFramework.h 3 | // SMFramework 4 | // 5 | // Created by utom on 11/05/2017. 6 | // Copyright © 2017 UTOMBOX. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | //! Project version number for SMFramework. 12 | FOUNDATION_EXPORT double SMFrameworkVersionNumber; 13 | 14 | //! Project version string for SMFramework. 15 | FOUNDATION_EXPORT const unsigned char SMFrameworkVersionString[]; 16 | 17 | // In this header, you should import all the public headers of your framework using statements like #import 18 | 19 | 20 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/SMFramework.framework/Versions/A/Modules/module.modulemap: -------------------------------------------------------------------------------- 1 | framework module SMFramework { 2 | umbrella header "SMFramework.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/SMFramework.framework/Versions/A/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildMachineOSBuild 6 | 18F132 7 | CFBundleDevelopmentRegion 8 | en 9 | CFBundleExecutable 10 | SMFramework 11 | CFBundleIdentifier 12 | design.utom.SMFramework 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | SMFramework 17 | CFBundlePackageType 18 | FMWK 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleSupportedPlatforms 22 | 23 | MacOSX 24 | 25 | CFBundleVersion 26 | 1 27 | DTCompiler 28 | com.apple.compilers.llvm.clang.1_0 29 | DTPlatformBuild 30 | 10E1001 31 | DTPlatformVersion 32 | GM 33 | DTSDKBuild 34 | 18E219 35 | DTSDKName 36 | macosx10.14 37 | DTXcode 38 | 1020 39 | DTXcodeBuild 40 | 10E1001 41 | NSHumanReadableCopyright 42 | Copyright © 2017 UTOMBOX. All rights reserved. 43 | 44 | 45 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/SMFramework.framework/Versions/A/Resources/SMFramework.js: -------------------------------------------------------------------------------- 1 | /* 2 | // To load this framework, replace the onRun method in your script.cocoscript 3 | 4 | @import 'SMFramework.framework/SMFramework.js' 5 | 6 | var onRun = function(context) { 7 | var obj = SMFramework.alloc().init() 8 | var uppercase = obj.uppercaseString("hello world") 9 | 10 | log(uppercase); 11 | context.document.showMessage(uppercase); 12 | } 13 | */ 14 | 15 | var SMFramework_FrameworkPath = SMFramework_FrameworkPath || COScript.currentCOScript().env().scriptURL.path().stringByDeletingLastPathComponent(); 16 | var SMFramework_Log = SMFramework_Log || log; 17 | (function() { 18 | var mocha = Mocha.sharedRuntime(); 19 | var frameworkName = "SMFramework"; 20 | var directory = SMFramework_FrameworkPath; 21 | if (mocha.valueForKey(frameworkName)) { 22 | SMFramework_Log("😎 loadFramework: `" + frameworkName + "` already loaded."); 23 | return true; 24 | } else if ([mocha loadFrameworkWithName:frameworkName inDirectory:directory]) { 25 | SMFramework_Log("✅ loadFramework: `" + frameworkName + "` success!"); 26 | mocha.setValue_forKey_(true, frameworkName); 27 | return true; 28 | } else { 29 | SMFramework_Log("❌ loadFramework: `" + frameworkName + "` failed!: " + directory + ". Please define SMFramework_FrameworkPath if you're trying to @import in a custom plugin"); 30 | return false; 31 | } 32 | })(); 33 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/SMFramework.framework/Versions/A/SMFramework: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/SMFramework.framework/Versions/A/SMFramework -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/MochaJSDelegate.js: -------------------------------------------------------------------------------- 1 | // 2 | // MochaJSDelegate.js 3 | // MochaJSDelegate 4 | // 5 | // Created by Matt Curtis 6 | // Copyright (c) 2015. All rights reserved. 7 | // 8 | 9 | var MochaJSDelegate = function(selectorHandlerDict){ 10 | var uniqueClassName = "MochaJSDelegate_DynamicClass_" + NSUUID.UUID().UUIDString(); 11 | 12 | var delegateClassDesc = MOClassDescription.allocateDescriptionForClassWithName_superclass_(uniqueClassName, NSObject); 13 | 14 | delegateClassDesc.registerClass(); 15 | 16 | // Handler storage 17 | 18 | var handlers = {}; 19 | 20 | // Define interface 21 | 22 | this.setHandlerForSelector = function(selectorString, func){ 23 | var handlerHasBeenSet = (selectorString in handlers); 24 | var selector = NSSelectorFromString(selectorString); 25 | 26 | handlers[selectorString] = func; 27 | 28 | if(!handlerHasBeenSet){ 29 | /* 30 | For some reason, Mocha acts weird about arguments: 31 | https://github.com/logancollins/Mocha/issues/28 32 | 33 | We have to basically create a dynamic handler with a likewise dynamic number of predefined arguments. 34 | */ 35 | 36 | var dynamicHandler = function(){ 37 | var functionToCall = handlers[selectorString]; 38 | 39 | if(!functionToCall) return; 40 | 41 | return functionToCall.apply(delegateClassDesc, arguments); 42 | }; 43 | 44 | var args = [], regex = /:/g; 45 | while(match = regex.exec(selectorString)) args.push("arg"+args.length); 46 | 47 | dynamicFunction = eval("(function("+args.join(",")+"){ return dynamicHandler.apply(this, arguments); })"); 48 | 49 | delegateClassDesc.addInstanceMethodWithSelector_function_(selector, dynamicFunction); 50 | } 51 | }; 52 | 53 | this.removeHandlerForSelector = function(selectorString){ 54 | delete handlers[selectorString]; 55 | }; 56 | 57 | this.getHandlerForSelector = function(selectorString){ 58 | return handlers[selectorString]; 59 | }; 60 | 61 | this.getAllHandlers = function(){ 62 | return handlers; 63 | }; 64 | 65 | this.getClass = function(){ 66 | return NSClassFromString(uniqueClassName); 67 | }; 68 | 69 | this.getClassInstance = function(){ 70 | return NSClassFromString(uniqueClassName).new(); 71 | }; 72 | 73 | // Conveience 74 | 75 | if(typeof selectorHandlerDict == "object"){ 76 | for(var selectorString in selectorHandlerDict){ 77 | this.setHandlerForSelector(selectorString, selectorHandlerDict[selectorString]); 78 | } 79 | } 80 | }; 81 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/i18n/manifest-en.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "utom", 3 | "commands" : [ 4 | { 5 | "name": "Toolbar", 6 | "identifier": "commandToolbar", 7 | "shortcut": "ctrl shift b", 8 | "handler" : "commandToolbar", 9 | "script": "mark.sketchscript" 10 | }, 11 | { 12 | "name": "Toolbar 2.0 (beta)", 13 | "identifier": "commandToolbar2", 14 | "shortcut": "ctrl shift x", 15 | "handler" : "commandToolbar2", 16 | "script": "mark.sketchscript" 17 | }, 18 | { 19 | "name": "Mark Overlay", 20 | "identifier": "commandOverlays", 21 | "shortcut": "ctrl shift 1", 22 | "handler" : "commandOverlays", 23 | "script": "mark.sketchscript" 24 | }, 25 | { 26 | "name": "Mark Sizes", 27 | "identifier": "commandSizes", 28 | "shortcut": "ctrl shift 2", 29 | "handler" : "commandSizes", 30 | "script": "mark.sketchscript" 31 | }, 32 | { 33 | "name": "Mark Spacings", 34 | "identifier": "commandSpacings", 35 | "shortcut": "ctrl shift 3", 36 | "handler" : "commandSpacings", 37 | "script": "mark.sketchscript" 38 | }, 39 | { 40 | "name": "Mark Properties", 41 | "identifier": "commandProperties", 42 | "shortcut": "ctrl shift 4", 43 | "handler" : "commandProperties", 44 | "script": "mark.sketchscript" 45 | }, 46 | { 47 | "name": "Mark Note", 48 | "identifier": "commandNote", 49 | "shortcut": "ctrl shift 5", 50 | "handler" : "commandNote", 51 | "script": "mark.sketchscript" 52 | }, 53 | { 54 | "name": "Spec Export", 55 | "identifier": "commandExport", 56 | "shortcut": "ctrl shift e", 57 | "handler" : "commandExport", 58 | "script": "mark.sketchscript" 59 | }, 60 | { 61 | "name": "Toggle Hidden", 62 | "identifier": "commandHidden", 63 | "shortcut": "ctrl shift h", 64 | "handler": "commandHidden", 65 | "script": "mark.sketchscript" 66 | }, 67 | { 68 | "name": "Toggle Locked", 69 | "identifier": "commandLocked", 70 | "shortcut": "ctrl shift l", 71 | "handler": "commandLocked", 72 | "script": "mark.sketchscript" 73 | }, 74 | { 75 | "name": "Clear Marks", 76 | "identifier": "commandClear", 77 | "shortcut": "", 78 | "handler": "commandClear", 79 | "script": "mark.sketchscript" 80 | }, 81 | { 82 | "name": "Settings", 83 | "identifier": "commandSettings", 84 | "shortcut": "", 85 | "handler": "commandSettings", 86 | "script": "mark.sketchscript" 87 | }, 88 | { 89 | "name": "Color Names", 90 | "identifier": "commandColor", 91 | "shortcut": "ctrl shift c", 92 | "handler": "commandColor", 93 | "script": "mark.sketchscript" 94 | }, 95 | { 96 | "name": "Make Exportable", 97 | "identifier": "commandExportable", 98 | "shortcut": "ctrl shift s", 99 | "handler": "commandExportable", 100 | "script": "mark.sketchscript" 101 | }, 102 | { 103 | "name": "Documention", 104 | "identifier": "linkHelp", 105 | "handler": "linkHelp", 106 | "script": "links.sketchscript" 107 | }, 108 | { 109 | "name": "Feedback", 110 | "identifier": "linkFeedback", 111 | "handler": "linkFeedback", 112 | "script": "links.sketchscript" 113 | }, 114 | { 115 | "name": "Donate", 116 | "identifier": "linkDonate", 117 | "handler": "linkDonate", 118 | "script": "links.sketchscript" 119 | }, 120 | { 121 | "name": "Design Sites", 122 | "identifier": "linkNiudana", 123 | "handler": "linkNiudana", 124 | "script": "links.sketchscript" 125 | }, 126 | { 127 | "name": "Sketch.im", 128 | "identifier": "linkSketchim", 129 | "handler": "linkSketchim", 130 | "script": "links.sketchscript" 131 | }, 132 | { 133 | "name": "Init", 134 | "identifier": "commandInit", 135 | "handlers": { 136 | "actions": { 137 | "OpenDocument": "commandInit" 138 | } 139 | }, 140 | "script": "mark.sketchscript" 141 | } 142 | ], 143 | "menu" : { 144 | "isRoot" : false, 145 | "shortcut" : "", 146 | "items" : [ 147 | "commandToolbar", 148 | "commandToolbar2", 149 | "-", 150 | "commandOverlays", 151 | "commandSizes", 152 | "commandSpacings", 153 | "commandProperties", 154 | "commandNote", 155 | "-", 156 | "commandExportable", 157 | "commandColor", 158 | "commandExport", 159 | "-", 160 | "commandHidden", 161 | "commandLocked", 162 | "commandClear", 163 | "-", 164 | "commandSettings", 165 | "linkDonate", 166 | { 167 | "title": "Help", 168 | "items": [ 169 | "linkHelp", 170 | "linkFeedback", 171 | "linkDonate" 172 | ] 173 | } 174 | ], 175 | "title" : "Sketch Measure" 176 | }, 177 | "identifier": "com.utom.measure", 178 | "appcast": "https://raw.githubusercontent.com/utom/sketch-measure/master/appcast.xml", 179 | "homepage": "http://utom.design/measure/", 180 | "version": "2.8.1", 181 | "description" : "Make it a fun to create spec for developers and teammates", 182 | "authorEmail" : "utombox@gmail.com", 183 | "name" : "Sketch Measure" 184 | } 185 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/i18n/manifest-zh-Hans.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "utom", 3 | "commands" : [ 4 | { 5 | "name": "工具栏", 6 | "identifier": "commandToolbar", 7 | "shortcut": "ctrl shift b", 8 | "handler" : "commandToolbar", 9 | "script": "mark.sketchscript" 10 | }, 11 | { 12 | "name": "工具栏 2.0(beta)", 13 | "identifier": "commandToolbar2", 14 | "shortcut": "ctrl shift x", 15 | "handler" : "commandToolbar2", 16 | "script": "mark.sketchscript" 17 | }, 18 | { 19 | "name": "标注区域", 20 | "identifier": "commandOverlays", 21 | "shortcut": "ctrl shift 1", 22 | "handler" : "commandOverlays", 23 | "script": "mark.sketchscript" 24 | }, 25 | { 26 | "name": "标注尺寸", 27 | "identifier": "commandSizes", 28 | "shortcut": "ctrl shift 2", 29 | "handler" : "commandSizes", 30 | "script": "mark.sketchscript" 31 | }, 32 | { 33 | "name": "标注间隔", 34 | "identifier": "commandSpacings", 35 | "shortcut": "ctrl shift 3", 36 | "handler" : "commandSpacings", 37 | "script": "mark.sketchscript" 38 | }, 39 | { 40 | "name": "标注属性", 41 | "identifier": "commandProperties", 42 | "shortcut": "ctrl shift 4", 43 | "handler" : "commandProperties", 44 | "script": "mark.sketchscript" 45 | }, 46 | { 47 | "name": "标注备注", 48 | "identifier": "commandNote", 49 | "shortcut": "ctrl shift 5", 50 | "handler" : "commandNote", 51 | "script": "mark.sketchscript" 52 | }, 53 | { 54 | "name": "导出规范", 55 | "identifier": "commandExport", 56 | "shortcut": "ctrl shift e", 57 | "handler" : "commandExport", 58 | "script": "mark.sketchscript" 59 | }, 60 | { 61 | "name": "切换隐藏", 62 | "identifier": "commandHidden", 63 | "shortcut": "ctrl shift h", 64 | "handler": "commandHidden", 65 | "script": "mark.sketchscript" 66 | }, 67 | { 68 | "name": "切换锁定", 69 | "identifier": "commandLocked", 70 | "shortcut": "ctrl shift l", 71 | "handler": "commandLocked", 72 | "script": "mark.sketchscript" 73 | }, 74 | { 75 | "name": "清除标注", 76 | "identifier": "commandClear", 77 | "shortcut": "", 78 | "handler": "commandClear", 79 | "script": "mark.sketchscript" 80 | }, 81 | { 82 | "name": "设置", 83 | "identifier": "commandSettings", 84 | "shortcut": "", 85 | "handler": "commandSettings", 86 | "script": "mark.sketchscript" 87 | }, 88 | { 89 | "name": "颜色命名", 90 | "identifier": "commandColor", 91 | "shortcut": "ctrl shift c", 92 | "handler": "commandColor", 93 | "script": "mark.sketchscript" 94 | }, 95 | { 96 | "name": "设置切图", 97 | "identifier": "commandExportable", 98 | "shortcut": "ctrl shift s", 99 | "handler": "commandExportable", 100 | "script": "mark.sketchscript" 101 | }, 102 | { 103 | "name": "使用文档", 104 | "identifier": "linkZhCNHelp", 105 | "handler": "linkZhCNHelp", 106 | "script": "links.sketchscript" 107 | }, 108 | { 109 | "name": "意见反馈", 110 | "identifier": "linkFeedback", 111 | "handler": "linkFeedback", 112 | "script": "links.sketchscript" 113 | }, 114 | { 115 | "name": "赞助作者", 116 | "identifier": "linkDonate", 117 | "handler": "linkDonate", 118 | "script": "links.sketchscript" 119 | }, 120 | { 121 | "name": "设计师导航", 122 | "identifier": "linkNiudana", 123 | "handler": "linkNiudana", 124 | "script": "links.sketchscript" 125 | }, 126 | { 127 | "name": "素材下载", 128 | "identifier": "linkSketchim", 129 | "handler": "linkSketchim", 130 | "script": "links.sketchscript" 131 | }, 132 | { 133 | "name": "Init", 134 | "identifier": "commandInit", 135 | "handlers": { 136 | "actions": { 137 | "OpenDocument": "commandInit" 138 | } 139 | }, 140 | "script": "mark.sketchscript" 141 | } 142 | ], 143 | "menu" : { 144 | "isRoot" : false, 145 | "shortcut" : "", 146 | "items" : [ 147 | "commandToolbar", 148 | "commandToolbar2", 149 | "-", 150 | "commandOverlays", 151 | "commandSizes", 152 | "commandSpacings", 153 | "commandProperties", 154 | "commandNote", 155 | "-", 156 | "commandExportable", 157 | "commandColor", 158 | "commandExport", 159 | "-", 160 | "commandHidden", 161 | "commandLocked", 162 | "commandClear", 163 | "-", 164 | "commandSettings", 165 | "linkDonate", 166 | { 167 | "title": "帮助", 168 | "items": [ 169 | "linkZhCNHelp", 170 | "linkFeedback", 171 | "linkDonate", 172 | "-", 173 | "linkNiudana", 174 | "linkSketchim" 175 | ] 176 | } 177 | ], 178 | "title" : "Sketch Measure" 179 | }, 180 | "identifier": "com.utom.measure", 181 | "appcast": "https://raw.githubusercontent.com/utom/sketch-measure/master/appcast.xml", 182 | "homepage": "http://utom.design/measure/", 183 | "version": "2.8.1", 184 | "description" : "Make it a fun to create spec for developers and teammates", 185 | "authorEmail" : "utombox@gmail.com", 186 | "name" : "Sketch Measure" 187 | } 188 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/i18n/manifest-zh-Hant.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "utom", 3 | "commands" : [ 4 | { 5 | "name": "工具欄", 6 | "identifier": "commandToolbar", 7 | "shortcut": "ctrl shift b", 8 | "handler" : "commandToolbar", 9 | "script": "mark.sketchscript" 10 | }, 11 | { 12 | "name": "工具欄 2.0 (beta)", 13 | "identifier": "commandToolbar2", 14 | "shortcut": "ctrl shift x", 15 | "handler" : "commandToolbar2", 16 | "script": "mark.sketchscript" 17 | }, 18 | { 19 | "name": "標記疊加層", 20 | "identifier": "commandOverlays", 21 | "shortcut": "ctrl shift 1", 22 | "handler" : "commandOverlays", 23 | "script": "mark.sketchscript" 24 | }, 25 | { 26 | "name": "標記尺寸", 27 | "identifier": "commandSizes", 28 | "shortcut": "ctrl shift 2", 29 | "handler" : "commandSizes", 30 | "script": "mark.sketchscript" 31 | }, 32 | { 33 | "name": "標記間隔", 34 | "identifier": "commandSpacings", 35 | "shortcut": "ctrl shift 3", 36 | "handler" : "commandSpacings", 37 | "script": "mark.sketchscript" 38 | }, 39 | { 40 | "name": "標記屬性", 41 | "identifier": "commandProperties", 42 | "shortcut": "ctrl shift 4", 43 | "handler" : "commandProperties", 44 | "script": "mark.sketchscript" 45 | }, 46 | { 47 | "name": "標記備註", 48 | "identifier": "commandNote", 49 | "shortcut": "ctrl shift 5", 50 | "handler" : "commandNote", 51 | "script": "mark.sketchscript" 52 | }, 53 | { 54 | "name": "匯出規範", 55 | "identifier": "commandExport", 56 | "shortcut": "ctrl shift e", 57 | "handler" : "commandExport", 58 | "script": "mark.sketchscript" 59 | }, 60 | { 61 | "name": "切換隱藏", 62 | "identifier": "commandHidden", 63 | "shortcut": "ctrl shift h", 64 | "handler": "commandHidden", 65 | "script": "mark.sketchscript" 66 | }, 67 | { 68 | "name": "切換鎖定", 69 | "identifier": "commandLocked", 70 | "shortcut": "ctrl shift l", 71 | "handler": "commandLocked", 72 | "script": "mark.sketchscript" 73 | }, 74 | { 75 | "name": "清除標記", 76 | "identifier": "commandClear", 77 | "shortcut": "", 78 | "handler": "commandClear", 79 | "script": "mark.sketchscript" 80 | }, 81 | { 82 | "name": "設定", 83 | "identifier": "commandSettings", 84 | "shortcut": "", 85 | "handler": "commandSettings", 86 | "script": "mark.sketchscript" 87 | }, 88 | { 89 | "name": "顏色名稱", 90 | "identifier": "commandColor", 91 | "shortcut": "ctrl shift c", 92 | "handler": "commandColor", 93 | "script": "mark.sketchscript" 94 | }, 95 | { 96 | "name": "設定切圖", 97 | "identifier": "commandExportable", 98 | "shortcut": "ctrl shift s", 99 | "handler": "commandExportable", 100 | "script": "mark.sketchscript" 101 | }, 102 | { 103 | "name": "使用說明", 104 | "identifier": "linkZhCNHelp", 105 | "handler": "linkZhCNHelp", 106 | "script": "links.sketchscript" 107 | }, 108 | { 109 | "name": "意見反饋", 110 | "identifier": "linkFeedback", 111 | "handler": "linkFeedback", 112 | "script": "links.sketchscript" 113 | }, 114 | { 115 | "name": "贊助作者", 116 | "identifier": "linkDonate", 117 | "handler": "linkDonate", 118 | "script": "links.sketchscript" 119 | }, 120 | { 121 | "name": "設計師導航", 122 | "identifier": "linkNiudana", 123 | "handler": "linkNiudana", 124 | "script": "links.sketchscript" 125 | }, 126 | { 127 | "name": "素材下載", 128 | "identifier": "linkSketchim", 129 | "handler": "linkSketchim", 130 | "script": "links.sketchscript" 131 | }, 132 | { 133 | "name": "Init", 134 | "identifier": "commandInit", 135 | "handlers": { 136 | "actions": { 137 | "OpenDocument": "commandInit" 138 | } 139 | }, 140 | "script": "mark.sketchscript" 141 | } 142 | ], 143 | "menu" : { 144 | "isRoot" : false, 145 | "shortcut" : "", 146 | "items" : [ 147 | "commandToolbar", 148 | "commandToolbar2", 149 | "-", 150 | "commandOverlays", 151 | "commandSizes", 152 | "commandSpacings", 153 | "commandProperties", 154 | "commandNote", 155 | "-", 156 | "commandExportable", 157 | "commandColor", 158 | "commandExport", 159 | "-", 160 | "commandHidden", 161 | "commandLocked", 162 | "commandClear", 163 | "-", 164 | "commandSettings", 165 | "linkDonate", 166 | { 167 | "title": "幫助", 168 | "items": [ 169 | "linkZhCNHelp", 170 | "linkFeedback", 171 | "linkDonate", 172 | "-", 173 | "linkNiudana", 174 | "linkSketchim" 175 | ] 176 | } 177 | ], 178 | "title" : "Sketch Measure" 179 | }, 180 | "identifier": "com.utom.measure", 181 | "appcast": "https://raw.githubusercontent.com/utom/sketch-measure/master/appcast.xml", 182 | "homepage": "http://utom.design/measure/", 183 | "version": "2.8.1", 184 | "description" : "Make it a fun to create spec for developers and teammates", 185 | "authorEmail" : "utombox@gmail.com", 186 | "name" : "Sketch Measure" 187 | } 188 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/i18n/zh-Hans.json: -------------------------------------------------------------------------------- 1 | { 2 | "Design resolution": "设计分辨率", 3 | "NOTES": "备注", 4 | "PROPERTIES": "属性", 5 | "FILLS": "填充", 6 | "TYPEFACE": "字体", 7 | "BORDERS": "边框", 8 | "SHADOWS": "阴影", 9 | "CSS STYLE": "CSS 样式", 10 | "CODE TEMPLATE": "代码模板", 11 | "EXPORTABLE": "导出", 12 | "Gradient": "渐变", 13 | "Color": "颜色", 14 | "Layer Name": "图层名称", 15 | "Weight": "粗细", 16 | "Style name": "样式名称", 17 | "Custom": "自定义", 18 | "Standard": "标准像素", 19 | "iOS Devices": "iOS 设备", 20 | "Points": "标准点", 21 | "Retina": "视网膜", 22 | "Retina HD": "高清视网膜", 23 | "Android Devices": "安卓设备", 24 | "Other Devices": "其他设备", 25 | "Ubuntu Grid": "Ubuntu 网格", 26 | "Web View": "网页", 27 | "Scale": "倍率", 28 | "Unit": "单位", 29 | "Color format": "颜色格式", 30 | "Color hex": "色值", 31 | "ARGB hex": "安卓色值", 32 | "Save": "保存", 33 | "Width": "宽度", 34 | "Height": "高度", 35 | "Top": "上面", 36 | "Right": "右侧", 37 | "Bottom": "下面", 38 | "Left": "左侧", 39 | "Fill / Color": "填充 / 颜色", 40 | "Border": "边框", 41 | "Opacity": "不透明度", 42 | "Radius": "圆角", 43 | "Shadow": "外(内)阴影", 44 | "Style": "样式名称", 45 | "Font size": "字号", 46 | "Line": "行高", 47 | "Typeface": "字体", 48 | "Character": "字间距", 49 | "Paragraph": "段落间距", 50 | "Percentage of artboard": "基于画板百分比单位", 51 | "Mark": "标注", 52 | "All": "全选", 53 | "None": "不全选", 54 | "Select filtered": "选中过滤的", 55 | "Selection of Sketch": "Sketch 选中的画板", 56 | "Current of Sketch": "Sketch 当前的画板", 57 | "Filter": " 过滤", 58 | "Export": "导出", 59 | "Position": "位置", 60 | "Size": "大小", 61 | "Family": "字体", 62 | "Spacing": "空间", 63 | "Content": "内容", 64 | "All artboards": "全部画板", 65 | "No slices added!": "未添加切图", 66 | "No color names added!": "未添加颜色名称", 67 | "Select 1 or 2 layers to make marks!": "请选中 1 至 2 个图层!", 68 | "Select a text layer to make marks!": "请选中 1 个文本图层!", 69 | "Select a layer to make marks!": "请选中 1 个图层!", 70 | "Export spec": "导出规范", 71 | "Export to:": "导出到:", 72 | "Export": "导出", 73 | "Exporting...": "导出中...", 74 | "Export complete!": "导出完成!", 75 | "The slice not in current artboard.": "切图不在当前画板", 76 | "Inside Border": "内边框", 77 | "Outside Border": "外边框", 78 | "Center Border": "中心边框", 79 | "Inner Shadow": "内阴影", 80 | "Outer Shadow": "外阴影", 81 | "No artboards!": "没有画板", 82 | "You need add some artboards.": "您需要添加一些画板", 83 | "No slices added!": "没有添加切图", 84 | "No colors added!": "没有添加颜色", 85 | "Import": "导入", 86 | "Choose a "colors.json"": "选择一个 "colors.json"", 87 | "Choose": "选择", 88 | "Select a layer to add exportable!": "请选中 1 个图层!", 89 | "Import complete!": "导入完成!", 90 | "Processing layer %@ of %@": "图层处理中... %@ \/ %@", 91 | "Advanced mode": "高级模式", 92 | "Export layer influence rect": "导出图层的影响尺寸", 93 | "Set Name...": "设置名称...", 94 | "Import Colors": "导入颜色", 95 | "Export Colors": "导出颜色", 96 | "You can select shape layer to add colors or import colors": "您可以选中矢量图层添加颜色或导入颜色", 97 | "New Version!": "新的版本!", 98 | "Just checked Sketch Measure has a new version (%@)": "刚刚检测到 Sketch Measure 有新版 (%@)", 99 | "Download": "下载", 100 | "Cancel": "取消", 101 | "Donate": "捐赠" 102 | }; 103 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/i18n/zh-Hant.json: -------------------------------------------------------------------------------- 1 | { 2 | "Design resolution": "設計解析度", 3 | "NOTES": "筆記", 4 | "PROPERTIES": "屬性", 5 | "FILLS": "填色", 6 | "TYPEFACE": "字體", 7 | "BORDERS": "邊框", 8 | "SHADOWS": "陰影", 9 | "CSS STYLE": "CSS 樣式", 10 | "CODE TEMPLATE": "代碼模板", 11 | "EXPORTABLE": "匯出", 12 | "Gradient": "漸層", 13 | "Color": "色彩", 14 | "Key-Name": "Key-Name", 15 | "Weight": "粗細", 16 | "Style name": "樣式名稱", 17 | "Custom": "自定", 18 | "Standard": "標準像素", 19 | "iOS Devices": "iOS 裝置", 20 | "Points": "Points", 21 | "Retina": "Retina", 22 | "Retina HD": "Retina HD", 23 | "Android Devices": "Android 裝置", 24 | "Other Devices": "其他裝置", 25 | "Ubuntu Grid": "Ubuntu 網格", 26 | "Web View": "網頁", 27 | "Scale": "縮放倍率", 28 | "Unit": "單位", 29 | "Color format": "色碼格式", 30 | "Color hex": "十六進位色碼", 31 | "ARGB hex": "ARGB 十六進位色碼", 32 | "Save": "儲存", 33 | "Width": "寬", 34 | "Height": "高", 35 | "Top": "上方", 36 | "Right": "右側", 37 | "Bottom": "下方", 38 | "Left": "左側", 39 | "Fill / Color": "填色 / 色彩", 40 | "Border": "邊框", 41 | "Opacity": "不透明度", 42 | "Radius": "圓角", 43 | "Shadow": "陰影", 44 | "Style": "樣式名稱", 45 | "Font size": "字型大小", 46 | "Line": "行高", 47 | "Typeface": "字體", 48 | "Character": "字距", 49 | "Paragraph": "段落間距", 50 | "Percentage of artboard": "轉換為畫布尺寸的百分比", 51 | "Mark": "標記", 52 | "All": "全選", 53 | "None": "全不選", 54 | "Select filtered": "選擇篩選結果", 55 | "Selection of Sketch": "Sketch 選取的畫布", 56 | "Current of Sketch": "Sketch 目前的畫布", 57 | "Filter": "篩選", 58 | "Export": "匯出", 59 | "Position": "位置", 60 | "Size": "尺寸", 61 | "Family": "字型", 62 | "Spacing": "空間", 63 | "Content": "內容", 64 | "All artboards": "所有畫布", 65 | "No slices added!": "尚無切圖", 66 | "No color names added!": "尚未添加色彩命名", 67 | "Select 1 or 2 layers to make marks!": "標記前,請先選擇 1 到 2 個圖層", 68 | "Select a text layer to make marks!": "標記前,請先選擇文字圖層", 69 | "Select a layer to make marks!": "標記前,請先選擇圖層", 70 | "Export spec": "匯出規範", 71 | "Export to:": "匯出到:", 72 | "Export": "匯出", 73 | "Exporting...": "正在匯出...", 74 | "Export complete!": "匯出完畢", 75 | "The slice not in current artboard.": "此切圖位於其他畫布裡", 76 | "Inside Border": "内邊框", 77 | "Outside Border": "外邊框", 78 | "Center Border": "中心邊框", 79 | "Inner Shadow": "內陰影", 80 | "Outer Shadow": "外陰影", 81 | "No artboards!": "沒有畫布", 82 | "You need add some artboards.": "您需要先新增畫布", 83 | "No slices added!": "尚無切圖", 84 | "No colors added!": "尚無色彩", 85 | "Import": "匯入", 86 | "Choose a "colors.json"": "請選擇 "colors.json" 檔案", 87 | "Choose": "選擇", 88 | "Select a layer to add exportable!": "匯出前請選擇圖層", 89 | "Import complete!": "匯入完畢", 90 | "Processing layer %@ of %@": "正在處理圖層... %@ \/ %@", 91 | "Advanced mode": "進階模式", 92 | "Export layer influence rect": "匯出圖層的影響尺寸", 93 | "Set Name...": "設定名稱...", 94 | "Import Colors": "匯入色彩", 95 | "Export Colors": "匯出色彩", 96 | "You can select shape layer to add colors or import colors": "您可以選擇圖層添加或匯入色彩" 97 | }; 98 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/panel/assets/css/normalize.css: -------------------------------------------------------------------------------- 1 | /*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */ 2 | 3 | /** 4 | * 1. Change the default font family in all browsers (opinionated). 5 | * 2. Prevent adjustments of font size after orientation changes in IE and iOS. 6 | */ 7 | 8 | html { 9 | font-family: sans-serif; /* 1 */ 10 | -ms-text-size-adjust: 100%; /* 2 */ 11 | -webkit-text-size-adjust: 100%; /* 2 */ 12 | } 13 | 14 | /** 15 | * Remove the margin in all browsers (opinionated). 16 | */ 17 | 18 | body { 19 | margin: 0; 20 | } 21 | 22 | /* HTML5 display definitions 23 | ========================================================================== */ 24 | 25 | /** 26 | * Add the correct display in IE 9-. 27 | * 1. Add the correct display in Edge, IE, and Firefox. 28 | * 2. Add the correct display in IE. 29 | */ 30 | 31 | article, 32 | aside, 33 | details, /* 1 */ 34 | figcaption, 35 | figure, 36 | footer, 37 | header, 38 | main, /* 2 */ 39 | menu, 40 | nav, 41 | section, 42 | summary { /* 1 */ 43 | display: block; 44 | } 45 | 46 | /** 47 | * Add the correct display in IE 9-. 48 | */ 49 | 50 | audio, 51 | canvas, 52 | progress, 53 | video { 54 | display: inline-block; 55 | } 56 | 57 | /** 58 | * Add the correct display in iOS 4-7. 59 | */ 60 | 61 | audio:not([controls]) { 62 | display: none; 63 | height: 0; 64 | } 65 | 66 | /** 67 | * Add the correct vertical alignment in Chrome, Firefox, and Opera. 68 | */ 69 | 70 | progress { 71 | vertical-align: baseline; 72 | } 73 | 74 | /** 75 | * Add the correct display in IE 10-. 76 | * 1. Add the correct display in IE. 77 | */ 78 | 79 | template, /* 1 */ 80 | [hidden] { 81 | display: none; 82 | } 83 | 84 | /* Links 85 | ========================================================================== */ 86 | 87 | /** 88 | * 1. Remove the gray background on active links in IE 10. 89 | * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. 90 | */ 91 | 92 | a { 93 | background-color: transparent; /* 1 */ 94 | -webkit-text-decoration-skip: objects; /* 2 */ 95 | } 96 | 97 | /** 98 | * Remove the outline on focused links when they are also active or hovered 99 | * in all browsers (opinionated). 100 | */ 101 | 102 | a:active, 103 | a:hover { 104 | outline-width: 0; 105 | } 106 | 107 | /* Text-level semantics 108 | ========================================================================== */ 109 | 110 | /** 111 | * 1. Remove the bottom border in Firefox 39-. 112 | * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. 113 | */ 114 | 115 | abbr[title] { 116 | border-bottom: none; /* 1 */ 117 | text-decoration: underline; /* 2 */ 118 | text-decoration: underline dotted; /* 2 */ 119 | } 120 | 121 | /** 122 | * Prevent the duplicate application of `bolder` by the next rule in Safari 6. 123 | */ 124 | 125 | b, 126 | strong { 127 | font-weight: inherit; 128 | } 129 | 130 | /** 131 | * Add the correct font weight in Chrome, Edge, and Safari. 132 | */ 133 | 134 | b, 135 | strong { 136 | font-weight: bolder; 137 | } 138 | 139 | /** 140 | * Add the correct font style in Android 4.3-. 141 | */ 142 | 143 | dfn { 144 | font-style: italic; 145 | } 146 | 147 | /** 148 | * Correct the font size and margin on `h1` elements within `section` and 149 | * `article` contexts in Chrome, Firefox, and Safari. 150 | */ 151 | 152 | h1 { 153 | font-size: 2em; 154 | margin: 0.67em 0; 155 | } 156 | 157 | /** 158 | * Add the correct background and color in IE 9-. 159 | */ 160 | 161 | mark { 162 | background-color: #ff0; 163 | color: #000; 164 | } 165 | 166 | /** 167 | * Add the correct font size in all browsers. 168 | */ 169 | 170 | small { 171 | font-size: 80%; 172 | } 173 | 174 | /** 175 | * Prevent `sub` and `sup` elements from affecting the line height in 176 | * all browsers. 177 | */ 178 | 179 | sub, 180 | sup { 181 | font-size: 75%; 182 | line-height: 0; 183 | position: relative; 184 | vertical-align: baseline; 185 | } 186 | 187 | sub { 188 | bottom: -0.25em; 189 | } 190 | 191 | sup { 192 | top: -0.5em; 193 | } 194 | 195 | /* Embedded content 196 | ========================================================================== */ 197 | 198 | /** 199 | * Remove the border on images inside links in IE 10-. 200 | */ 201 | 202 | img { 203 | border-style: none; 204 | } 205 | 206 | /** 207 | * Hide the overflow in IE. 208 | */ 209 | 210 | svg:not(:root) { 211 | overflow: hidden; 212 | } 213 | 214 | /* Grouping content 215 | ========================================================================== */ 216 | 217 | /** 218 | * 1. Correct the inheritance and scaling of font size in all browsers. 219 | * 2. Correct the odd `em` font sizing in all browsers. 220 | */ 221 | 222 | code, 223 | kbd, 224 | pre, 225 | samp { 226 | font-family: monospace, monospace; /* 1 */ 227 | font-size: 1em; /* 2 */ 228 | } 229 | 230 | /** 231 | * Add the correct margin in IE 8. 232 | */ 233 | 234 | figure { 235 | margin: 1em 40px; 236 | } 237 | 238 | /** 239 | * 1. Add the correct box sizing in Firefox. 240 | * 2. Show the overflow in Edge and IE. 241 | */ 242 | 243 | hr { 244 | box-sizing: content-box; /* 1 */ 245 | height: 0; /* 1 */ 246 | overflow: visible; /* 2 */ 247 | } 248 | 249 | /* Forms 250 | ========================================================================== */ 251 | 252 | /** 253 | * 1. Change font properties to `inherit` in all browsers (opinionated). 254 | * 2. Remove the margin in Firefox and Safari. 255 | */ 256 | 257 | button, 258 | input, 259 | select, 260 | textarea { 261 | font: inherit; /* 1 */ 262 | margin: 0; /* 2 */ 263 | } 264 | 265 | /** 266 | * Restore the font weight unset by the previous rule. 267 | */ 268 | 269 | optgroup { 270 | font-weight: bold; 271 | } 272 | 273 | /** 274 | * Show the overflow in IE. 275 | * 1. Show the overflow in Edge. 276 | */ 277 | 278 | button, 279 | input { /* 1 */ 280 | overflow: visible; 281 | } 282 | 283 | /** 284 | * Remove the inheritance of text transform in Edge, Firefox, and IE. 285 | * 1. Remove the inheritance of text transform in Firefox. 286 | */ 287 | 288 | button, 289 | select { /* 1 */ 290 | text-transform: none; 291 | } 292 | 293 | /** 294 | * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` 295 | * controls in Android 4. 296 | * 2. Correct the inability to style clickable types in iOS and Safari. 297 | */ 298 | 299 | button, 300 | html [type="button"], /* 1 */ 301 | [type="reset"], 302 | [type="submit"] { 303 | -webkit-appearance: button; /* 2 */ 304 | } 305 | 306 | /** 307 | * Remove the inner border and padding in Firefox. 308 | */ 309 | 310 | button::-moz-focus-inner, 311 | [type="button"]::-moz-focus-inner, 312 | [type="reset"]::-moz-focus-inner, 313 | [type="submit"]::-moz-focus-inner { 314 | border-style: none; 315 | padding: 0; 316 | } 317 | 318 | /** 319 | * Restore the focus styles unset by the previous rule. 320 | */ 321 | 322 | button:-moz-focusring, 323 | [type="button"]:-moz-focusring, 324 | [type="reset"]:-moz-focusring, 325 | [type="submit"]:-moz-focusring { 326 | outline: 1px dotted ButtonText; 327 | } 328 | 329 | /** 330 | * Change the border, margin, and padding in all browsers (opinionated). 331 | */ 332 | 333 | fieldset { 334 | border: 1px solid #c0c0c0; 335 | margin: 0 2px; 336 | padding: 0.35em 0.625em 0.75em; 337 | } 338 | 339 | /** 340 | * 1. Correct the text wrapping in Edge and IE. 341 | * 2. Correct the color inheritance from `fieldset` elements in IE. 342 | * 3. Remove the padding so developers are not caught out when they zero out 343 | * `fieldset` elements in all browsers. 344 | */ 345 | 346 | legend { 347 | box-sizing: border-box; /* 1 */ 348 | color: inherit; /* 2 */ 349 | display: table; /* 1 */ 350 | max-width: 100%; /* 1 */ 351 | padding: 0; /* 3 */ 352 | white-space: normal; /* 1 */ 353 | } 354 | 355 | /** 356 | * Remove the default vertical scrollbar in IE. 357 | */ 358 | 359 | textarea { 360 | overflow: auto; 361 | } 362 | 363 | /** 364 | * 1. Add the correct box sizing in IE 10-. 365 | * 2. Remove the padding in IE 10-. 366 | */ 367 | 368 | [type="checkbox"], 369 | [type="radio"] { 370 | box-sizing: border-box; /* 1 */ 371 | padding: 0; /* 2 */ 372 | } 373 | 374 | /** 375 | * Correct the cursor style of increment and decrement buttons in Chrome. 376 | */ 377 | 378 | [type="number"]::-webkit-inner-spin-button, 379 | [type="number"]::-webkit-outer-spin-button { 380 | height: auto; 381 | } 382 | 383 | /** 384 | * 1. Correct the odd appearance in Chrome and Safari. 385 | * 2. Correct the outline style in Safari. 386 | */ 387 | 388 | [type="search"] { 389 | -webkit-appearance: textfield; /* 1 */ 390 | outline-offset: -2px; /* 2 */ 391 | } 392 | 393 | /** 394 | * Remove the inner padding and cancel buttons in Chrome and Safari on OS X. 395 | */ 396 | 397 | [type="search"]::-webkit-search-cancel-button, 398 | [type="search"]::-webkit-search-decoration { 399 | -webkit-appearance: none; 400 | } 401 | 402 | /** 403 | * Correct the text style of placeholders in Chrome, Edge, and Safari. 404 | */ 405 | 406 | ::-webkit-input-placeholder { 407 | color: inherit; 408 | opacity: 0.54; 409 | } 410 | 411 | /** 412 | * 1. Correct the inability to style clickable types in iOS and Safari. 413 | * 2. Change font properties to `inherit` in Safari. 414 | */ 415 | 416 | ::-webkit-file-upload-button { 417 | -webkit-appearance: button; /* 1 */ 418 | font: inherit; /* 2 */ 419 | } -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/panel/assets/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/panel/assets/img/logo.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/panel/assets/js/common.js: -------------------------------------------------------------------------------- 1 | var I18N = {}, 2 | lang = navigator.language.toLocaleLowerCase(), 3 | _ = function(str){ 4 | return (I18N[lang] && I18N[lang][str])? I18N[lang][str]: str; 5 | } 6 | 7 | $(function() { 8 | $(document) 9 | .on('contextmenu', function(event){ 10 | return false; 11 | }) 12 | .keypress(function(event){ 13 | var eventObj = event || e, 14 | keyCode = eventObj.keyCode || eventObj.which; 15 | 16 | if(keyCode == 13){ 17 | event.stopPropagation(); 18 | $('#submit:not(:disabled)').click(); 19 | return false; 20 | } 21 | }); 22 | }); 23 | 24 | function lookupItemInput(x, y){ 25 | var elem = document.elementFromPoint(x, y); 26 | $(elem).click(); 27 | } 28 | 29 | window.onfocus = function(){ 30 | SMAction('focus'); 31 | }; 32 | 33 | (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 34 | (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 35 | m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 36 | })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); 37 | 38 | ga('create', 'UA-81011936-2'); 39 | ga('send', 'pageview'); 40 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/panel/colors.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Colors - Sketch Measure 2.0 8 | 9 | 10 | 11 | 12 | 13 | 198 | 199 | 200 | 201 | 202 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/panel/export.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Choose artboards - Sketch Measure 2.0 8 | 9 | 10 | 11 | 12 | 13 | 425 | 426 | 427 | 428 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/panel/processing.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Processing - Sketch Measure 2.0 8 | 9 | 10 | 11 | 12 | 13 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/panel/properties.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Mark properties - Sketch Measure 2.0 8 | 9 | 10 | 11 | 12 | 13 | 198 | 199 | 200 | 201 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/panel/settings.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Settings - Sketch Measure 2.0 8 | 9 | 10 | 11 | 12 | 13 | 211 | 212 | 213 | 214 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/panel/sizes.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Mark sizes - Sketch Measure 2.0 8 | 9 | 10 | 11 | 12 | 13 | 162 | 163 | 164 | 165 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/panel/spacings.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Mark spacings - Sketch Measure 2.0 8 | 9 | 10 | 11 | 12 | 13 | 101 | 102 | 103 | 104 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/panel/update.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | New version - Sketch Measure 2.0 8 | 9 | 10 | 11 | 12 | 13 | 33 | 34 | 35 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar.js: -------------------------------------------------------------------------------- 1 | class ToolBar { 2 | getImage(size, name) { 3 | var isRetinaDisplay = NSScreen.mainScreen().backingScaleFactor() > 1? true: false; 4 | var suffix = isRetinaDisplay? '@2x': ''; 5 | var imageURL = NSURL.fileURLWithPath(this.pluginSketch + "/toolbar/" + name + suffix + ".png"); 6 | var image = NSImage.alloc().initWithContentsOfURL(imageURL); 7 | return image; 8 | } 9 | 10 | addImage(rect, name){ 11 | var view = NSImageView.alloc().initWithFrame(rect) 12 | var image = this.getImage(rect.size, name) 13 | view.setImage(image); 14 | return view; 15 | } 16 | 17 | addButton(rect, name, callAction){ 18 | var button = NSButton.alloc().initWithFrame(rect) 19 | var image = this.getImage(rect.size, name) 20 | button.setImage(image); 21 | button.setBordered(false); 22 | button.sizeToFit(); 23 | button.setButtonType(NSMomentaryChangeButton) 24 | button.setCOSJSTargetFunction(callAction); 25 | button.setAction("callAction:"); 26 | return button; 27 | } 28 | 29 | render(){ 30 | var identifier = 'design.utom.SpecPicker'; 31 | var threadDictionary = NSThread.mainThread().threadDictionary(); 32 | 33 | if (threadDictionary[identifier]) { 34 | return; 35 | } 36 | 37 | var panel = NSPanel.alloc().init(); 38 | // panel.setStyleMask(NSTitledWindowMask + NSFullSizeContentViewWindowMask); 39 | panel.setBackgroundColor(NSColor.colorWithRed_green_blue_alpha(1, 1, 1, 1)); 40 | panel.setTitleVisibility(NSWindowTitleHidden); 41 | panel.setTitlebarAppearsTransparent(true); 42 | 43 | panel.setFrame_display(NSMakeRect(0, 0, 160, 582), false); 44 | panel.setMovableByWindowBackground(true); 45 | panel.becomeKeyWindow(); 46 | panel.setLevel(NSFloatingWindowLevel); 47 | 48 | threadDictionary[identifier] = panel; 49 | 50 | panel.center(); 51 | panel.makeKeyAndOrderFront(nil); 52 | } 53 | } 54 | 55 | toolbar = new ToolBar(); 56 | toolbar.render(); 57 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/divider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/divider.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/divider@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/divider@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-close.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-close@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-close@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-colors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-colors.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-colors@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-colors@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-export.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-export.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-export@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-export@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-hidden.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-hidden.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-hidden@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-hidden@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-locked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-locked.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-locked@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-locked@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-notes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-notes.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-notes@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-notes@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-overlay.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-overlay@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-overlay@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-properties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-properties.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-properties@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-properties@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-settings.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-settings@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-settings@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-sizes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-sizes.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-sizes@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-sizes@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-slice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-slice.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-slice@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-slice@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-spacings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-spacings.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-spacings@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/Sketch Measure.sketchplugin/Contents/Sketch/library/toolbar/icon-spacings@2x.png -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/links.sketchscript: -------------------------------------------------------------------------------- 1 | function openURL(url){ 2 | var nsurl = NSURL.URLWithString(url + '?ref=smp'); 3 | NSWorkspace.sharedWorkspace().openURL(nsurl) 4 | } 5 | 6 | function linkDonate(){ 7 | openURL('http://utom.design/measure/donate.html'); 8 | } 9 | 10 | function linkHelp(){ 11 | openURL('http://utom.design/measure/how-to.html'); 12 | } 13 | 14 | function linkZhCNHelp(){ 15 | openURL('http://sketch.cm/plugins/1'); 16 | } 17 | 18 | function linkFeedback(){ 19 | openURL('https://github.com/utom/sketch-measure/issues/new'); 20 | } 21 | 22 | function linkNiudana(){ 23 | openURL('http://www.niudana.com'); 24 | } 25 | 26 | function linkSketchim(){ 27 | openURL('http://sketch.im'); 28 | } 29 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "utom", 3 | "commands" : [ 4 | { 5 | "name": "Toolbar", 6 | "identifier": "commandToolbar", 7 | "shortcut": "ctrl shift b", 8 | "handler" : "commandToolbar", 9 | "script": "mark.sketchscript" 10 | }, 11 | { 12 | "name": "Toolbar 2.0 (beta)", 13 | "identifier": "commandToolbar2", 14 | "shortcut": "ctrl shift x", 15 | "handler" : "commandToolbar2", 16 | "script": "mark.sketchscript" 17 | }, 18 | { 19 | "name": "Mark Overlay", 20 | "identifier": "commandOverlays", 21 | "shortcut": "ctrl shift 1", 22 | "handler" : "commandOverlays", 23 | "script": "mark.sketchscript" 24 | }, 25 | { 26 | "name": "Mark Sizes", 27 | "identifier": "commandSizes", 28 | "shortcut": "ctrl shift 2", 29 | "handler" : "commandSizes", 30 | "script": "mark.sketchscript" 31 | }, 32 | { 33 | "name": "Mark Spacings", 34 | "identifier": "commandSpacings", 35 | "shortcut": "ctrl shift 3", 36 | "handler" : "commandSpacings", 37 | "script": "mark.sketchscript" 38 | }, 39 | { 40 | "name": "Mark Properties", 41 | "identifier": "commandProperties", 42 | "shortcut": "ctrl shift 4", 43 | "handler" : "commandProperties", 44 | "script": "mark.sketchscript" 45 | }, 46 | { 47 | "name": "Mark Note", 48 | "identifier": "commandNote", 49 | "shortcut": "ctrl shift 5", 50 | "handler" : "commandNote", 51 | "script": "mark.sketchscript" 52 | }, 53 | { 54 | "name": "Spec Export", 55 | "identifier": "commandExport", 56 | "shortcut": "ctrl shift e", 57 | "handler" : "commandExport", 58 | "script": "mark.sketchscript" 59 | }, 60 | { 61 | "name": "Toggle Hidden", 62 | "identifier": "commandHidden", 63 | "shortcut": "ctrl shift h", 64 | "handler": "commandHidden", 65 | "script": "mark.sketchscript" 66 | }, 67 | { 68 | "name": "Toggle Locked", 69 | "identifier": "commandLocked", 70 | "shortcut": "ctrl shift l", 71 | "handler": "commandLocked", 72 | "script": "mark.sketchscript" 73 | }, 74 | { 75 | "name": "Clear Marks", 76 | "identifier": "commandClear", 77 | "shortcut": "", 78 | "handler": "commandClear", 79 | "script": "mark.sketchscript" 80 | }, 81 | { 82 | "name": "Settings", 83 | "identifier": "commandSettings", 84 | "shortcut": "", 85 | "handler": "commandSettings", 86 | "script": "mark.sketchscript" 87 | }, 88 | { 89 | "name": "Color Names", 90 | "identifier": "commandColor", 91 | "shortcut": "ctrl shift c", 92 | "handler": "commandColor", 93 | "script": "mark.sketchscript" 94 | }, 95 | { 96 | "name": "Make Exportable", 97 | "identifier": "commandExportable", 98 | "shortcut": "ctrl shift s", 99 | "handler": "commandExportable", 100 | "script": "mark.sketchscript" 101 | }, 102 | { 103 | "name": "Documention", 104 | "identifier": "linkHelp", 105 | "handler": "linkHelp", 106 | "script": "links.sketchscript" 107 | }, 108 | { 109 | "name": "Feedback", 110 | "identifier": "linkFeedback", 111 | "handler": "linkFeedback", 112 | "script": "links.sketchscript" 113 | }, 114 | { 115 | "name": "Donate", 116 | "identifier": "linkDonate", 117 | "handler": "linkDonate", 118 | "script": "links.sketchscript" 119 | }, 120 | { 121 | "name": "Design Sites", 122 | "identifier": "linkNiudana", 123 | "handler": "linkNiudana", 124 | "script": "links.sketchscript" 125 | }, 126 | { 127 | "name": "Sketch.im", 128 | "identifier": "linkSketchim", 129 | "handler": "linkSketchim", 130 | "script": "links.sketchscript" 131 | }, 132 | { 133 | "name": "Init", 134 | "identifier": "commandInit", 135 | "handlers": { 136 | "actions": { 137 | "OpenDocument": "commandInit" 138 | } 139 | }, 140 | "script": "mark.sketchscript" 141 | } 142 | ], 143 | "menu" : { 144 | "isRoot" : false, 145 | "shortcut" : "", 146 | "items" : [ 147 | "commandToolbar", 148 | "commandToolbar2", 149 | "-", 150 | "commandOverlays", 151 | "commandSizes", 152 | "commandSpacings", 153 | "commandProperties", 154 | "commandNote", 155 | "-", 156 | "commandExportable", 157 | "commandColor", 158 | "commandExport", 159 | "-", 160 | "commandHidden", 161 | "commandLocked", 162 | "commandClear", 163 | "-", 164 | "commandSettings", 165 | "linkDonate", 166 | { 167 | "title": "Help", 168 | "items": [ 169 | "linkHelp", 170 | "linkFeedback", 171 | "linkDonate" 172 | ] 173 | } 174 | ], 175 | "title" : "Sketch Measure" 176 | }, 177 | "identifier": "com.utom.measure", 178 | "appcast": "https://raw.githubusercontent.com/utom/sketch-measure/master/appcast.xml", 179 | "homepage": "http://utom.design/measure/", 180 | "version": "2.8.1", 181 | "description" : "Make it a fun to create spec for developers and teammates", 182 | "authorEmail" : "utombox@gmail.com", 183 | "name" : "Sketch Measure" 184 | } 185 | -------------------------------------------------------------------------------- /Sketch Measure.sketchplugin/Contents/Sketch/mark.sketchscript: -------------------------------------------------------------------------------- 1 | @import "library/common.js" 2 | @import "library/MochaJSDelegate.js" 3 | @import 'SMFramework.framework/Versions/A/Resources/SMFramework.js' 4 | 5 | var threadDictionary = NSThread.mainThread().threadDictionary(); 6 | var Sketch, Configs, Settings, Toolbar, Mark, Properties, ga; 7 | var Core = SMFramework.core(); 8 | var emojiRegExp = new RegExp('(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff]|[\u0023-\u0039]\ufe0f?\u20e3|\u3299|\u3297|\u303d|\u3030|\u24c2|\ud83c[\udd70-\udd71]|\ud83c[\udd7e-\udd7f]|\ud83c\udd8e|\ud83c[\udd91-\udd9a]|\ud83c[\udde6-\uddff]|[\ud83c[\ude01-\ude02]|\ud83c\ude1a|\ud83c\ude2f|[\ud83c[\ude32-\ude3a]|[\ud83c[\ude50-\ude51]|\u203c|\u2049|[\u25aa-\u25ab]|\u25b6|\u25c0|[\u25fb-\u25fe]|\u00a9|\u00ae|\u2122|\u2139|\ud83c\udc04|[\u2600-\u26FF]|\u2b05|\u2b06|\u2b07|\u2b1b|\u2b1c|\u2b50|\u2b55|\u231a|\u231b|\u2328|\u23cf|[\u23e9-\u23f3]|[\u23f8-\u23fa]|\ud83c\udccf|\u2934|\u2935|[\u2190-\u21ff])', 'g'); 9 | Core.execute(); 10 | 11 | function commandOverlays(context) { 12 | SM.init(context, "mark-overlays"); 13 | } 14 | 15 | function commandSizes(context) { 16 | if(NSEvent.modifierFlags() == 917504){ 17 | SM.init(context, "mark-sizes"); 18 | } 19 | else{ 20 | SM.init(context, "lite-sizes"); 21 | } 22 | } 23 | 24 | function commandSpacings(context) { 25 | if(NSEvent.modifierFlags() == 917504){ 26 | SM.init(context, "mark-spacings"); 27 | } 28 | else{ 29 | SM.init(context, "lite-spacings"); 30 | } 31 | } 32 | 33 | function commandProperties(context) { 34 | if(NSEvent.modifierFlags() == 917504){ 35 | SM.init(context, "mark-properties"); 36 | } 37 | else{ 38 | SM.init(context, "lite-properties"); 39 | } 40 | } 41 | 42 | function commandNote(context) { 43 | SM.init(context, "mark-note"); 44 | } 45 | 46 | function commandHidden(context) { 47 | SM.init(context, "hidden"); 48 | } 49 | 50 | function commandLocked(context) { 51 | SM.init(context, "locked"); 52 | } 53 | 54 | function commandClear(context) { 55 | SM.init(context, "clear"); 56 | } 57 | 58 | function commandColor(context) { 59 | SM.init(context, "color"); 60 | } 61 | 62 | function commandExportable(context) { 63 | if(NSEvent.modifierFlags() == 917504){ 64 | SM.init(context, "slice"); 65 | } 66 | else{ 67 | SM.init(context, "exportable"); 68 | } 69 | } 70 | 71 | function commandSettings(context) { 72 | SM.init(context, "settings"); 73 | } 74 | 75 | function commandExport(context) { 76 | SM.init(context, "export"); 77 | } 78 | 79 | function commandToolbar(context) { 80 | SM.init(context, "toolbar"); 81 | } 82 | 83 | function commandToolbar2(context) { 84 | Sketch = new API(); 85 | ga = new Analytics(context); 86 | 87 | Configs = new ConfigsMaster(['scale', 'units', 'format', 'properties', 'byInfluence', 'byPercentage', 'isLocked', 'isHidden']); 88 | 89 | Settings = new Panel(context, { 90 | data (){ 91 | return Configs.sync(); 92 | }, 93 | handlers( data ){ 94 | Object.keys(data).map( function(prop){ 95 | Configs[prop] = data[prop]; 96 | }) 97 | Configs.save() 98 | 99 | return data; 100 | } 101 | }); 102 | 103 | Properties = new PropertiesPanel(context); 104 | 105 | Mark = new Marker(); 106 | 107 | Toolbar = new ToolbarMaster(context); 108 | Toolbar.open(); 109 | } 110 | 111 | function commandInit(context){ 112 | Sketch = new API(); 113 | ga = new Analytics(context); 114 | if(ga) ga.sendEvent('file', 'open sketch file'); 115 | var manifestCore = new manifestMaster(context); 116 | manifestCore.init() 117 | SM.init(context, "init"); 118 | } 119 | -------------------------------------------------------------------------------- /appcast.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Sketch Measure 5 | https://raw.githubusercontent.com/utom/sketch-measure/master/appcast.xml 6 | Make it a fun to create spec for developers and teammates 7 | en 8 | 9 | Version 2.8.1 10 | 11 | 13 |
  • Support Sketch v52
  • 14 | 15 | ]]> 16 |
    17 | 18 |
    19 |
    20 |
    21 | -------------------------------------------------------------------------------- /sketch-measure-runner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/utom/sketch-measure/6377f18d8b81377b8ffca1cc294ab1ad386e6f45/sketch-measure-runner.png --------------------------------------------------------------------------------