Skip to content

Frontify/sketch

Repository files navigation

Frontify for Sketch

A Sketch plugin that provides integration with Frontify. Get it @ Frontify Sketch Plugin

This README.md is primarily for developers. The latest plugin version, documentation etc. are hosted at [https://frontify.com/integrations/sketch/].

Contributions are welcome!

Development

This plugin was created using skpm. For a detailed explanation on how things work, checkout the skpm Readme.

Usage

Install the dependencies

npm install

Once the installation is done, you can run some commands inside the project folder:

npm run build

To watch for changes:

npm run watch

Additionally, if you wish to run the plugin every time it is built:

npm run start

This defaults prevents you from to many Sketch restarts

defaults write com.bohemiancoding.sketch3 AlwaysReloadScript -bool YES

Custom Configuration

Babel

To customize Babel, you have two options:

  • You may create a .babelrc file in your project's root directory. Any settings you define here will overwrite matching config-keys within skpm preset. For example, if you pass a "presets" object, it will replace & reset all Babel presets that skpm defaults to.

  • If you'd like to modify or add to the existing Babel config, you must use a webpack.config.js file. Visit the Webpack section for more info.

Webpack

To customize webpack create webpack.config.js file which exports function that will change webpack's config.

/**
 * Function that mutates original webpack config.
 * Supports asynchronous changes when promise is returned.
 *
 * @param {object} config - original webpack config.
 * @param {boolean} isPluginCommand - wether the config is for a plugin command or a resource
 **/
module.exports = function (config, isPluginCommand) {
  /** you can change config here **/
}

Debugging

To view the output of your console.log, you have a few different options:

  • Use the sketch-dev-tools
  • Open Console.app and look for the sketch logs
  • Look at the ~/Library/Logs/com.bohemiancoding.sketch3/Plugin Output.log file

Skpm provides a convenient way to do the latter:

skpm log

The -f option causes skpm log to not stop when the end of logs is reached, but rather to wait for additional data to be appended to the input

Frontend

To make working on the Frontend independent from Sketch make the sketch folder the document root of your webserver.

The views are accessible by using: local-sketch.frontify.com/src/assets/views/…