Giter VIP home page Giter VIP logo

symbol-organizer's Introduction

Symbol Organizer

Organize your symbols page, and layer list, alphabetically and into groupings determined by your symbol names. Also provides the ability to choose the granularity of the groups, layout symbols horizontally or vertically, set a maximum of symbols per row/column, reverse the layer list sort direction, sequentially rename duplicate symbols, gather symbols from other pages, and remove unused symbols (symbols which are nested in other symbols, or used as overrides, will NOT be removed).

Symbol Organizer

runner-badge-blue

Usage

  • cmd option shift o - Configure and run Symbol Organizer
  • cmd option control o - Run Symbol Organizer using last settings

Installation

Automatic

Search for Symbol Organizer in Sketchrunner or Sketch Toolbox if you have one of those installed.

Once installed, Sketch will automatically notify you when an update is available (version 11.3 and later).

Manual

  1. Download and open symbol-organizer-master.zip
  2. Navigate to Symbol Organizer.sketchplugin and copy/move to your plugins directory

To find your plugins directory...

  1. In the Sketch menu, navigate to Plugins > Manage Plugins...
  2. Click the cog in the lower left of the plugins window, and click Reveal Plugins Folder

Changelog

  • 15.13 - Fix for Sketch 72.
  • 15.12 - Fix for sort failing in Sketch 65.
  • 15.11 - Fix for custom style names not being parsed properly using new setting retrieval method.
  • 15.10 - Improved handling of setting/retrieving page specific settings.
  • 15.9 - Fix for Sketch 53; title group now requires fixGeometryWithOptions instead of resizeToFitChildrenWithOption.
  • 15.8 - Remove unused symbols is now invoked from the menu, and zoom out after organizing is now an option.
  • 15.7 - Improved handling for dark mode.
  • 15.6 - Fix for displaying titles in versions prior to Sketch 52.
  • 15.5 - The default font color for group titles will now change to white if using dark theme.
  • 15.4 - Fixes for Sketch 52; shared style is now being properly applied to new titles.
  • 15.3 - Fixes for Sketch 52; MSSharedStyle.initWithName_firstInstance and MSSharedStyle.newInstance were both phased out.
  • 15.2 - Fix for some pre-existing group title text styles not returning a color value.
  • 15.1 - Fix for group title text style color modification being overwritten.
  • 15.0 - Added support for global settings, and setting group title style name.
  • 14.8 - Bug fix for titles not appearing when first run (due to style creation issue).
  • 14.7 - Added plugin icon to manifest for Sketch 50.
  • 14.6 - Another modification to account for impending changes to MSSharedObjectContainer in Sketch 50.
  • 14.5 - Some modifications to account for impending changes to MSSharedObjectContainer in Sketch 50.
  • 14.4 - Rolling back to previous code for Remove Unused Symbols, due to feedback that it's not working as desired.
  • 14.3 - Enhancement to Remove Unused Symbols, specifically to do a better job of detecting nested overrides for nested symbols.
  • 14.2 - Fix for Sketch 48 change of currentView to contentDrawView.
  • 14.1 - Update to adjust the view after Symbol Organizer has been run.
  • 14.0 - Added new Group Space feature and improved appearance of settings window. Improved sorting and grouping; group title case will now be ignored, and group titles which are numbers will now sort properly.
  • 13.1 - Display Group Titles will now prefer to use "SFProText-Bold" by default, and if the font doesn't exist, will fall back to "SFUIText-Bold", or "HelveticaNeue-Bold". Remove Unused Symbols will now only remove symbols on current page.
  • 13.0 - Remove Unused Symbols will now present checklist of removal candidates, requiring the user to review and confirm.
  • 12.8 - Another attempt to ensure all/only unused symbols are removed.
  • 12.7 - Fix for duplicate groups when alphabetical sorting and multiple depths confuses group definition.
  • 12.6 - Fix to only gather local symbols in Sketch 47.
  • 12.5 - Simplified code, and implemented enhancement to trim whitespace when generating groups (does not affect alphabetic sorting).
  • 12.4 - Fix for titles becoming misaligned when Layout Direction is set to vertical and Symbol Organizer is used in Run mode.
  • 12.3 - Added back symbol override protections, as it seems the isSafeToDelete function of MSSymbolMaster has a bug with nested nested symbols. Also fixed a feedback bug, for when Remove Unused Symbols would correctly leave no symbols remaining on the symbols page (would incorrectly state "There are no symbols to organize on this page").
  • 12.2 - Fixed (another) issue for when Symbol Organizer is being used on a brand new document, which has no stored settings of any kind (was referring to stored settings to migrate old Symbol Organizer settings to new plugin identifier).
  • 12.1 - Fixed issue for when Symbol Organizer is being used on a brand new document, which has no stored settings of any kind (was referring to stored settings to migrate old Symbol Organizer settings to new plugin identifier).
  • 12.0 - Improved the Remove Unused Symbols function, it should now be very accurate as it uses the native isSafeToDelete function of MSSymbolMaster. Improved the process for which symbols and the layer list are moved around, no longer removing and re-adding (to avoid another Sketch 45 fiasco) and instead simply moving. Merged the distinct files for Config and Run into a single file. Updated plugin identifier while also preserving user’s previous settings. Made many other housekeeping optimizations.
  • 11.5 - Updated default title font to SF UI Text, and will also now respect user modifications to Symbol Group Title style.
  • 11.4 - Sketch 45 fix for symbol group titles.
  • 11.3 - Added appcast plugin support for Sketch 45.
  • 11.2 - Fix for Sketch 45.
  • 11.1 - Fix for Sketch 45.
  • 11.0 - Added keyboard shortcut to quickly run Symbol Organizer using last settings.

Contact

Find me on Twitter @sonburn

Support

If you find this plugin helpful, or would like to support my plugins in general, buy me ☕️ via PayPal.

License

Copyright (c) 2021 Jason Burns (Sonburn). See LICENSE.md for further details.

symbol-organizer's People

Contributors

lmjabreu avatar sonburn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

symbol-organizer's Issues

Save Sort Preferences

Hi! Your plugin is amazing- thank you so much!
I use it on all my studio projects now & always have the same preferences for how I want my symbols to be organized. Would save a lot of time if the dialogue box was pre-filled to last use preferences, i.e vertical with X paddings, yes show group titles etc.
Thanks!

merge symbols (same-named) in symbol library

sometimes sketch creates duplicates of symbols in the library ... this usually happens when you copy-paste from different files. So my idea for your plugin is to somehow merge those duplicates in the library smartly so that in the library there would be NO same-named symbols ... or at least it would rename the “same-named” symbols and give them a number at the end of the name. thanks!

proposals would be:
A.
checkbox “clean symbol names” (description: same-named symbols will be renamed logically)

B.
checkbox “remove same-named-symbols” (identical and same-named symbols will be merged to one and also linked properly in the layout)

Symbols Disappear

I just updated to Sketch 45.1 and Craft 1.0.35. Is there a conflict with these updates maybe? When I run the Symbol Organizer my symbols disappear.

Symbols not on stage being removed

currently there is the issue that the plugin removes also symbols which ARE actually used. If I create several icons and create symbols of them #A #B #C. Then create a layout with symbols #A and #B included and create a symbol with nested symbols. Then I would use the sketch inspector and replace the icon #B with #C = The removing “unused” will now remove the #C but actually it is used atm. Please can you add some checking whether a symbol is used by nested-replaced-functionality of sketch? would be so great, thanks!

Sort only selected symbols

Amazing plugin, made it so much more enjoyable and easy to manage large numbers of symbols!!
Sometime it's would be really useful to choose only a subset of symbols to organize.
Would it be possible to ad a checkbox for only sorting selected symbols?

Remove unused symbols

Heads-up: Checking remove unused symbols in the dialogue causes the plugin to not work. Unchecking it, the plugin and its other functions appear to work.

Plugin removes all symbols

Since last major Sketch update (I believe it is 46) plugin does not work anymore. Once executed it removes all symbols.

Broken in Sketch 45

When using this in Sketch 45, all symbols are deleted from Sketch and breaks the document

2017-06-28 08_37_32

This wonderful organizer is not working in Sketch 45.2

When I run the plugin it just turns my symbols page white and nothing happens. I have confirmed the same problem with several other designers on my team.

Any word on a fix for this? I love the plugin and used it all the time.
Thank you.

Thank you

Apologies for opening a ticket here.

However, I Just wanted to say a BIG thank you for sharing this plugin. I can't tell you what a pleasure it was to re-organise my sketch symbols (mobile components) from a large project in a beautifully ordered manner.

So to state again - a BIG thank you from me (and I'm sure many others)
//Feel free to close or discard this ticket :)
Marcus

Problem with Sketch 45

After using the plugin, all artboards disappear... Can anyone else recreate?

Mac OS 10.12.5

Feature Request: Visually tag duplicate symbols

Many thanks for this plugin!

To aid with the symbol de-duping process, it would be helpful to visually tag duplicate symbols to see where they are being used across the document. I understand that one of the duplicates may actually be the preferred version, but it would be easy to manually move this visual tag from one symbol to the adjacent duplicate.

I'd also recommend changing the name of the duplicated symbol to something more unique so that you can filter them out in the lower left Sketch pane. Searching for 'Copy x' gives results of Sketch's 'Rename duplicated layers' preference. You can command-select items in the filtered list and quickly replace them with the preferred version.

I'm not a developer, but with a bunch of trial and error I got this to work in version 11.4 with Sketch Beta 46 (44420). Replacing line 180 in ~/Library/Application Support/com.bohemiancoding.sketch3/Plugins/Symbol Organizer.sketchplugin/Contents/Sketch/functions.js with the code below achieves both:


symbol.setName(thisSymbolName + " DUPLICATE " + duplicateSymbolCount);
var rectShape = MSRectangleShape.alloc().init();
rectShape.frame = MSRect.rectWithRect(NSMakeRect(0, 0, symbol.frame().width(), symbol.frame().height()));
rectLayer = [MSShapeGroup shapeWithPath: rectShape];
rectLayer.name  = '*** DUPLICATE SYMBOL ***';
rectLayer.style().addStylePartOfType(0);
rectLayer.style().fills().firstObject().color = MSColor.colorWithRed_green_blue_alpha(255/255,0/255,0/255,0.6);
symbol.addLayers([rectLayer]);

In the configuration pane, the preference could indicate that duplicates will be visually tagged, or a new preference could be added to separate the renaming from the visual tagging.

If a duplicate is found, the plugin could also test the dimensions of each and indicate a change in the symbol name — i.e. LayerName DUPLICATE 1 (check dimensions). Then the user is informed that they may need to go back and clean up their layout while they are replacing symbols.

I see that you've had some thoughts about this in issue #7, and maybe this could be the next step and elaborated on later.

Cheers.

Layout Toggle?

First off, thanks for creating this plugin! It's been a great help in making my symbols page more approachable and organized.

I have an idea if you are open to it? Provide a toggle that would allow you to switch between the current 'vertical' layout and create a new 'horizontal' layout. Horizontal layout would position the symbols from left to right first, then top to bottom.

Artboard Symbols Deleted When Removing Unused Symbols

When "Remove Unused Symbols" is checked and Symbol Organizer is run, it deletes artboards that have been converted into symbols on other pages. Not sure why this happens or how it handles symbol artboards, but would be great if this would not happen. Thanks!

Feature request: run Symbol Organizer automatically on specific events

Artboard manager has this feature where it just reorders the artboards when you drag and drop them.

It would be great if Symbol Organizer would do so we don't need to press the shortcut :).

The plugins' manifest has the following events registered, together with their handlers:

"handlers": {
        "actions": {
          "ArtboardChanged.finish": "ArtboardChanged",
          "LayersMoved.finish": "LayersMoved",
          "Duplicate.finish": "Duplicate",
          "HandlerLostFocus": "Resize",
          "ResizeArtboardToFit": "ResizeArtboardToFit",
          "InsertArtboard.finish": "InsertArtboard"
        }
      }

REQUEST - More control of rows/columns

It would be awesome if you could add the ability to limit how many rows/columns the organizer creates. Like, similar to how you're allowing a "max per row/column", maybe you could create a similar function to limit how many rows/columns the plugin creates before having to move down/right an create another row/column?

Be able to organize pages with both artboards and symbols

Thanks for a great plugin but currently i can't organize pages that contains both artboards and symbols. Symbol Organizer can only be used on pages with just symbols so this is really annoying because i always need to have a large artboard with all the symbols to export to zepplin so that developers have all the symbols in one place. There's something you can do about this? the older versions worked great.

Thanks again.

Artboard Symbols being removed

create an artboard and select it and create a “Artboard Symbol” ...
This creates the symbol but still keeps the artboard where it was but its name becomes purple so that it marks - it's a symbol kind of. Changes on this purple artboard will apply to the instances directly.

anyway, when I now select “remove unused” it will remove those artboards for some reason - that's not so cool because they are for sure “used” if they are lying on my stage.

please can you fix this?
many thanks

Sections

Thanks for the plugin, really helpful for creating a UI Kit.

Would it be possible to display Section Headers for the groups, or is that something that Sketch would need to implement?

Labels Overlapping Symbols After Latest Update

Symbol Organizer 12.2 with Sketch 46.2 overlaps the label onto the symbols after this latest update. I wondered if there were some code collision with other plugins, but I deactivated all my other plugins and it still occurs.

Here is my configuration:

Group Definition: 2nd
Display group titles: true
Layout Direction: Vertical
Horizontal Space: 50
Vertical Space: 50
Max Per Row/Column: 10
Reverse layer...: false
Sequentially...: false
Gather symbols...: false
Remove unused...: false

When I updated the configuration and hit OK, it acts like it's suppose to. When I 'Run Symbol Organizer', that's when the overlap happens. See the attached screenshot for more details.

Can anyone else confirm this is happening to them?

Screenshot

Feature Request: Specify max column height

In addition to Max Per Row/Column, I'd love the ability to specify the max height of a column. I have a few symbols that are rather large and would prefer if they don't stack so tall or at least don't stack more than a couple. While I'd like my smaller symbols to organize based on # per column.

Ability to organize other pages with symbols

I sometimes do split my symbols page in multiple "normal" pages based on groups. Currently, the plugin seems to organize only the "master" symbols page. Would be nice to organize other pages as well.

REQUEST - Gather Symbols on a Non Symbol Page

Any chance there is a way to gather all symbols and group them on a page besides the Symbols page? I'd love to apply the layout possibilities with this plugin to quickly create a stickersheet/component list.

Not working with Sketch 46

After updating to Sketch 46, this plugin just seems to remove all symbols from the page.
Was working fine with Sketch 45.

👌

Just install this just a few seconds ago ...

👌

Support Sketch 45 plugin update system

Hi there!

This is a quick note to remind you that Sketch 45 will include a plugin update system.

It would be awesome if you could add support to it (it's really easy!) before Sketch 45 comes out. Ideally, you should release an update for your plugin while we're still in Sketch 44, so your users will have a nice & easy experience when 45 is released.

For more details, please check http://sketchplugins.com/d/229-updating-plugins and http://developer.sketchapp.com/introduction/updating-plugins/

Thanks in advance!

Feature Request: Artboard Organizer

First: Thanks for making this addon, it makes my day so much better.

Would it be possible to create a sibling addon that organizes artboards on the current page in the same fashion Symbol Organizer does with Symbols?

Sketch 45 BUG: Group Titles are misaligned with Symbol Groups

Great plugin! One of the most used plugins that I use in Sketch.

I noticed this bug after downloading the plugin from github master (I downloaded it directly from github to fixed the aforementioned symbol disappearing bug reported for Sketch 45). The symbol group titles are not aligning correctly, see screenshot:

master

All symbols removed instead of orgnized in Sketch 45

Just upgraded to Sketch 45 and the plugin now removes all symbols and artboards instead of organizing them. The dialog appears fine when I run the plugin, but when I hit OK all symbols are removed from the Symbols page.

Symbol organizers not working

Hey,
just run into a weirdest bug. When i run a symbol organizer in my sketch 45.2 it deletes all the symbols in a document.
Am I the only one experiencing this?

Feature request: save settings

This is really useful 👍! Would be nice if it could save the settings. Then you can quickly reorganise symbols after adding or deleting some. I prefer A-Z, horizontal and different spacing.

SF UI Text is deprecated

Apple is now only distributing SF Pro (Text and Display). It's a name only change, but you can no longer download SF UI.

More than 4 levels?

Great plugin!

Is it correct, that it only supports folder levels up to 4 levels deep? If I manually add another "label/" in the granularity field, it seems to ignore it?

Lost all symbols

Is there any chance to retrieve all symbols?
With Sketch 45 and after running symbol-organizer 11.0.0 I lost all my symbols...

Add a special character to incrementation

Hi!

This is not really a problem but more like a supplication ;)

When I convert my UX to UI in a different file, it happens that I've got duplicate symbols.
I love your plugin, I use it a lot, combined with Rename Instances to find the duplicate symbols in all my artboards.

But in the layers name there's a lot of "1" or "2", so if you add special character to the sequence of duplicated symbols (for example "#") then it will be a lot easier to find the symbols using the search field in the layer panel.

Thanks

Not working for Sketch V.45

Many plugins have stopped working for this version and this is one of them :( are you going to update to match this version? Thanks.

Not working with the latest sketch release

When running the organiser on the latest sketch release, sketch loads continuously and isn't responding.

Are you aware of the issue? We've become really reliant on this great plugin as part of our design process, it would be a shame not to be able to use it.

Thanks,
– Joe

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.