All Projects → KevinGutowski → Bettertypepanel

KevinGutowski / Bettertypepanel

A sketch plugin to help manage common OpenType properties

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Bettertypepanel

Sketch Copy Paste Shadows
Copy & paste only shadow styles from layers without others styles getting in the way.
Stars: ✭ 38 (-52.5%)
Mutual labels:  sketch-plugin, sketch
Symbol Instance Sheet
Generate a sheet of symbol instances from your current document or a library.
Stars: ✭ 72 (-10%)
Mutual labels:  sketch-plugin, sketch
Date Time Sketchplugin
Sketch data plugin generating random dates and times
Stars: ✭ 45 (-43.75%)
Mutual labels:  sketch-plugin, sketch
Sketch Text Style Master
Sketch plugin providing utilities for working with shared text styles
Stars: ✭ 32 (-60%)
Mutual labels:  sketch-plugin, sketch
6spiral Sketch Plugin
Sketch plugin to draw Spiral and Helix shapes.
Stars: ✭ 72 (-10%)
Mutual labels:  sketch-plugin, sketch
Sketch Resize Commands
A Sketch plugin that lets you resize and reposition objects by using simple arithmetic commands, like `b+20,lr+20`. Multiple objects are supported.
Stars: ✭ 32 (-60%)
Mutual labels:  sketch-plugin, sketch
Prism
Creates a beautiful artboard color palette with all your 'Document Colors' and their respective color label in a variety of formats.
Stars: ✭ 1,027 (+1183.75%)
Mutual labels:  sketch-plugin, sketch
Automate Sketch
Make your workflow more efficient.
Stars: ✭ 856 (+970%)
Mutual labels:  sketch-plugin, sketch
Sketch Name Organizer
🖌 Rename and sort artboards based on their x and y position; Rename layers based on their Style and Symbol.
Stars: ✭ 50 (-37.5%)
Mutual labels:  sketch-plugin, sketch
Sketch Textbox Fit Content
Set the height of a selected text layer or all text layers in a selected group to it's content's height.
Stars: ✭ 49 (-38.75%)
Mutual labels:  sketch-plugin, sketch
Import Colors Sketch
Import colors from macOS CLR, Photoshop ACO/ACT, Illustrator ASE, GIMP GPL, Sketch, Text file to Sketch color variables.
Stars: ✭ 32 (-60%)
Mutual labels:  sketch-plugin, sketch
Sketch Better Android Export
Stars: ✭ 61 (-23.75%)
Mutual labels:  sketch-plugin, sketch
Sketch Icons
🚀 Generate a dynamic icon library
Stars: ✭ 878 (+997.5%)
Mutual labels:  sketch-plugin, sketch
Quickcolor
Quickly apply fills from the global or document color palettes to selected elements - 🎨
Stars: ✭ 59 (-26.25%)
Mutual labels:  sketch-plugin, sketch
Rename Layers
Rename multiple layers at once in Sketch. Not maintained, try RenameIt (https://github.com/rodi01/RenameIt) or other plugins
Stars: ✭ 10 (-87.5%)
Mutual labels:  sketch-plugin, sketch
Persiansupplier
Sketch Plugin for supplying dynamic persian data.
Stars: ✭ 46 (-42.5%)
Mutual labels:  sketch-plugin, sketch
Sprite
Sketch 3 Plugin that makes SpriteSheets for game developers to export or use
Stars: ✭ 23 (-71.25%)
Mutual labels:  sketch-plugin, sketch
Sketch Toggle Constrain Proportions
Toggle the constrain proportions setting with your own configurable keyboard shortcut.
Stars: ✭ 9 (-88.75%)
Mutual labels:  sketch-plugin, sketch
Anto
🔵 Sketch Tools for AFX Designers
Stars: ✭ 48 (-40%)
Mutual labels:  sketch-plugin, sketch
Truncat
A Sketch plugin to truncate text.
Stars: ✭ 52 (-35%)
Mutual labels:  sketch-plugin, sketch
BetterTypeTool - A Sketchplugin to make it easy to apply common OpenType Features

Showing How the plugin works

Supported OpenType Features

  • Number Position
    • Default Position
    • Superscript
    • Subscript
    • Ordinals
    • Scientific Notation
  • Number Spacing
    • Proportional
    • Monospaced/Tabular
  • Number Case
    • Lining Figures
    • Old-style Figures
  • Small Caps
    • Lower Case
    • Upper Case

Inital Release Features

  • [X] When setting up the UI, set the state of the buttons properly the first time (i.e. check if there is a text object selected or not and then set the state rather than setting the default state of the UI then running updateUI())
  • [X] Dark mode support
  • [X] Properly style small caps buttons
  • [X] Basic Support for applying properties to multiple selected Text Layers
  • [X] Better communicate when fonts have unspported properties
  • [X] Basic substring support

Later Goals

  • [ ] Support Fractional Forms
  • [ ] Better Support Multiple layer selection
    • [ ] Resolve applying small caps to layers with different fonts
  • [ ] Respect Pixelfitting settings
  • [ ] More OpenType Features! (Ligatures, Stylistic Sets, etc)
  • [ ] Text Style support (I hope Sketch will consider tweaking things on their end rather me hacking it together)
  • [X] Better substring support
  • [ ] Keyboard shortcuts!

Building The Plugin

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

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

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 {boolean} isPluginCommand - whether 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

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"
+  }
...
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].