sketchwind-exporter
v1.0.0
Published
Sketchwind Exporter generates Tailwind configuration files directly from your Sketchwind template
Downloads
4
Readme
Sketchwind-exporter
Sketchwind Exporter is a Sketch plugin for exporting configuration files to the Tailwind CSS framework. This plugin is tightly related to the Sketchwind design system, a Sketch template based on Tailwind philosophy.
Installation
- Download Sketchwind exporter .zip
- Un-zip it
- Double-click on sketchwind-exporter.sketchplugin The plugin is now installed.
Install Sketchwind template
- Download Sketchwind .zip
- Install Inter fonts family (go to
assets/fonts
) - Open the
Sketchwind Design system.sketch
file
How to use Sketchwind exporter
- In your Sketchwind template, do all adaptations you need in your design
- In your Sketch menu, go to
Sketchwind/export Tailwind config
- A text file is generated. You can share this file with your frontender
- Copy-paste the data directly in a
tailwind.config.js
file Done. Most of the design assets are defined in Tailwind now.
Development Guide
If you want to contribute developping this plugin, here are some tips to install the project.
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 - 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"
+ }
...