{"id":17404,"date":"2017-03-13T14:41:14","date_gmt":"2017-03-13T18:41:14","guid":{"rendered":"http:\/\/mjtsai.com\/blog\/?p=17404"},"modified":"2017-03-13T14:41:14","modified_gmt":"2017-03-13T18:41:14","slug":"sketchs-open-file-format","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2017\/03\/13\/sketchs-open-file-format\/","title":{"rendered":"Sketch&rsquo;s Open File Format"},"content":{"rendered":"<p><a href=\"https:\/\/medium.com\/sketch-app-sources\/sketch-43-is-coming-to-town-with-a-new-game-an-open-file-format-ae62e7e7c223\">Jasim A Basheer<\/a> (via <a href=\"https:\/\/twitter.com\/andy_matuschak\/status\/841308962725195776\">Andy Matuschak<\/a>):<\/p>\n<blockquote cite=\"https:\/\/medium.com\/sketch-app-sources\/sketch-43-is-coming-to-town-with-a-new-game-an-open-file-format-ae62e7e7c223\"><p>&ldquo;enables more powerful integrations for third-party developers&rdquo; is stating it lightly. This is what the fine folks at Bohemian Coding has done&#x200A;&mdash;&#x200A;they opened up Sketch&rsquo;s file format into a neat JSON making it possible for anyone to create and modify Sketch compatible files.<\/p><p>[&#8230;]<\/p><p>Can you imagine what kind of new things will now be possible? One word: <em>design automation <\/em>(okay, two words!).<em><\/em>You want Artboards that showcase a font and its variations, like a Google Fonts page? There&rsquo;s probably going to be a script to generate that file. There will be websites from which you can download freshly brewed Sketch files based on what you ask&#x200A;&mdash;&#x200A;say an image gallery, or a landing page, or a signup form. You&rsquo;ll be able to pick your brand colors, choose a theme, randomize it, and voila! you have a Sketch design to start playing with. Someone could even build a Sketch equivalent that runs on the browser. The possibilities are many!<\/p>\n<p>[&#8230;]<\/p>\n<p>And Sketch itself comes with an in-built REPL where anyone can whip up a plugin in no time, and just hit Save to package it into a distributable plugin. There is nothing extra to do&#x200A;&mdash;&#x200A;it is all in the app. This makes it very easy for users of Sketch to get started with plugin development, and they happily take the bait!<\/p>\n<p>[&#8230;]<\/p>\n<p>But I wanted to make a point with all this: even though plugin development is undocumented and painful, developers still build crazy useful things on top of it.<\/p><\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Jasim A Basheer (via Andy Matuschak): &ldquo;enables more powerful integrations for third-party developers&rdquo; is stating it lightly. This is what the fine folks at Bohemian Coding has done&#x200A;&mdash;&#x200A;they opened up Sketch&rsquo;s file format into a neat JSON making it possible for anyone to create and modify Sketch compatible files.[&#8230;]Can you imagine what kind of new [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"","apple_news_api_id":"","apple_news_api_modified_at":"","apple_news_api_revision":"","apple_news_api_share_url":"","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[101,619,346,507,30,32,1381,1318],"class_list":["post-17404","post","type-post","status-publish","format-standard","hentry","category-technology","tag-business","tag-graphics","tag-javascript","tag-json","tag-mac","tag-macapp","tag-macos-10-12","tag-sketch"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/17404","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=17404"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/17404\/revisions"}],"predecessor-version":[{"id":17405,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/17404\/revisions\/17405"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=17404"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=17404"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=17404"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}