/sketch-table-generator-plugin

Sketch plugin that adds a Microsoft Word like table generator to rapidly create a table

Primary LanguageTypeScript

✨ Sketch Table Generator

image

Installation

  • Download the latest release of the plugin
  • Un-zip
  • Double-click on table-generator.sketchplugin

Development Guide

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

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.skpm.config.js file. Visit the Webpack section for more info.

Webpack

To customize webpack create webpack.skpm.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 {object} entry - entry property from webpack config
 * @param {boolean} entry.isPluginCommand - whether the config is for a plugin command or a resource
 **/
module.exports = function(config, entry) {
  /** you can change config here **/
};

To use the polyfills or the mocks for certain Node.js globals and modules use the node property.

Visit the official documention for available options.

if(entry.isPluginCommand ){
  config.node = {
    setImmediate: false
  }
} else {
  config.node = false;
}

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 with the following search filter : processus:sketch catégorie:<Description manquante> chemin d’accès au processus:/Applications/Sketch.app/Contents/MacOS/Sketch message:bugsnag message:task message:connection message:System Trust Evaluation yielded status
  • 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

Publishing your plugin

skpm publish <bump>

(where bump can be patch, minor or major)

skpm publish will create a new release on your GitHub repository and create an appcast file in order for Sketch users to be notified of the update.

You will need to specify a repository in the package.json:

...
+ "repository" : {
+   "type": "git",
+   "url": "git+https://github.com/ORG/NAME.git"
+  }
...

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE.txt for more information.

Contact

Clément MOINE - @clementmoine_ - clement.moine86@gmail.com

Project Link: https://github.com/clementmoine/invision-invite