pausansol / camilo Goto Github PK
View Code? Open in Web Editor NEWSketch plugin specially crafted to work in Design systems with multiple themes
License: MIT License
Sketch plugin specially crafted to work in Design systems with multiple themes
License: MIT License
Hey @Pausansol - THANK YOu for making this awesome plugin for Sketch. We are moving our design system to Figma and I was wondering if you had any plans to also have Camilo for Figma?
I've written a few plugins for Sketch (auto-generating color palettes / text styles from JSON-based design tokens), and was considering having a go at it myself in Figma... but wanted to check in case u were already looking at it.
Otherwise I'd be happy to share the outcome if it works, or collab.
Cheers!
Lucas
Would be nice if the theme selector view could have a star marking for the theme i mostly use...
today i have to scroll to the bottom to select the theme, every time.
Hi there,
I believe I found a bug switching between brand libraries and the master library, when one of the symbols in the document contains a nested symbol with a shared style.
EDIT: To clarify, the issue only occurs when the "brand" libraries contain a symbol of the same name that also contains a nested symbol, with an applied style.
Here is the scenario:
I have a "master" library with a set of shared color styles, and 2 symbols. Symbol A is a circle, and Symbol B is a square with Symbol A nested inside of it. Both symbols, A & B are attached to shared styles, Primary and Accent, respectively.
I have 2 "brand" libraries set up that contain alternate shared styles, and both Symbol A and Symbol B. In each brand library Symbol B has a different layer mask on it to change it's shape.
All shared style and art board names in each library are identical.
The bug comes in on brand switch. When swapping from master > brand1 and then from brand1 > brand2, everything works correctly. However, when I swap back from brand1 > master or brand2 > master, colors in the nested symbol hold over from whichever brand library I was on previously.
However, after I notice that the nested color did not swap, if I sync master > master, then all colors are corrected.
My understanding is that the correct behavior should be all color overrides are swapped, regardless if they are top level or nested symbols.
For further clarification, I have attached my example libraries as described : testLibraries.zip
Thanks for checking this out!
Hey there,
When switching to another library, the plugin correctly switches out the local (or library) text styles for the target library text style, but it "resets" any overrides that may have been applied. For design files that have the occasional one-off override, like centered text for example, they'll be reset resulting in manually having to reapply them.
I think preserving these overrides when switching would be desirable behavior, especially if the overrides were intentional.
Thanks
Whenever we replace a symbol library, it replaced a set of layers from the selected library styles. But it forgets to preserve its opacity, and hence everything becomes filled as 100%. The problem is some of its nested elements having the same colors get merged. The example below has two layers, both of them are having the same color styles but the difference in opacity. So after applying camilo, the icon gets merged with its outer circle due to same color. If we can retain the color opacity it could solve the problem.
Do some documentation regarding using Camilo and how to create a Design System supporting multiple themes
When swapping libraries with an artboard selected, it doesn't swap the artboard background color even if it's also a variable.
As a user, I'd like to be able to search through my libraries when using the Camilo plugin. In addition to alphabetically ordering the library list, the search functionality would allow me to quickly find the library I want to use in the document. Especially when managing 20+ libraries that all need to be active, this is an important feature.
It would be nice to add unit tests to ensure quality for Camilo logic
Camilo plugin stopped working after updating Sketch to version 91. Plugin runs, but when trying to swap libraries, it does nothing.
With the workflow I've put together, I want to have my theme variations use a symbol instance of a component from the master library within that themes library file. This would make it easier to edit and see changes quickly. At the moment however, if I use that symbol in my theme library file and I try to change the theme of that library to its own file, nothing happens.
As a work around I have to open a new file, add the symbols, run Camilo to switch to the (dark) theme and then open the (dark) theme library to copy and paste it in.
Is this a bug? I checked the console log and nothing relevant comes up. Perhaps there's some error as it's trying to switch to using the local file.
When a user has a large "master" library with an equally massive "UI Kit" with a lot of overrides, Camilo can take up to 20 seconds to swap between brand libraries.
Is there any chance that you'd consider adding some visual feedback that Camilo is working?
Thanks!
integrate repo with circleci
Hi!
Would be nice to have the possibility to decide between apply the magic in the document or just in selected artboards or symbols. With this feature I can have different artboards with differents themes.
Thanks!
This is an awesome plugin - great work!
I have found one issue however....
My project organization is as follows :
Brand Libraries -> Component Library -> Master
To switch brands I go to my components library and run the plugin. All the symbols and type styles in my components switch fine except one artboard which gets entirely deleted...
The item is an illustration for which I have a different version in each brand. It sits on it's own artboard in components. When I switch brands the artboard just goes :(
This only happens when I select the 'Apply to Document' radio in the plugin. If I select the illustration and 'Apply to Selection' in swaps fine.
Be great to hear if you have any thoughts on this!
Hi!
It's would be nice the possibility to connect text & layer styles from other libraries in symbols override.
By the moment, when I try to update the name of a style, (Ex: Style_1 to Style_2) the plugin can't identify the change and my workflow breaks.
Anyway, great job!!
Thanks!!
WIth the latest Sketch update the library items seem to be missing their images
Hi there,
Thank you for the release of "Apply to Selection" in 1.4.
In my first test I believe to have discovered a bug when swapping art boards with multiple instances of the same master symbol, where each symbol instance has a unique name. Only the symbol with the same name as the master symbol is getting replaced.
Steps to reproduce:
EDIT: to clarify, this only happens when there are physical symbols to swap between "master" and "brand" libraries.
Hopefully this is not by design, as this would create an additional step for designers to rename all of their symbol instances to the same master name.
Thank you again for this release!
Sketch 69 introduced color variables. This is a great way to have themes in separate libraries.
However, when using Camilo, it doesn't replace the color variables.
Following error shows up in Sketch Dev Tools
MOJavaScriptException: TypeError: null is not an object (evaluating 'library.sketchObject.document().documentData') main-view.js:42:62 forEach [native code] main-view.js:39:20 script.js:16:30 __skpm_run script.js:1368:19 __skpm_run [native code]
having an issue with Camilo - running it to swap colours and typography either on "this document" or "selection" deletes a lot of necessary symbols whereby I would have to go in manually to replace the colours/text styles. I have tried reuploading Camilo and reverting to an older version but still having these issues.
If someone could help resolve this issue that would be fantastic - I love camilo and the ease of use and it's disappointing for it to corrupt my symbols/document
The theming switch works like a charm. Thanks a lot for sharing this plugin.
I'm experimenting a bug re library linking.
Example of my set up:
When I switch from Core to Product theme, visually it works well.
The issue I have is for the styles (colours, fonts) which are the same across both libraries they don't update when switching the theme. Even if I switch back to 'Core theme', Sketch keeps linking to 'Product theme' in all layers with the same property.
Thanks
I've noticed that Camilo has stopped working for me as of this AM. Always running on the latest version, it just stopped working. No error messages or anything...
It was fine on Friday, and no updates were applied. Any idea?
Camilo seems the plugin that we are waiting for but I've tried it with Sketch 52.6 and it doesn't work..., even the example file. Any upgrade?
Hi,
When I swap a selected component with an other file it's work like a charm but when I choose "Apply to document" Sketch no longer responding and I have to force quit Sketch.
(I also tried with only Camilo activated)
Sketch : 72.4
Camilo: 2.1.0
MacOS : Catalina 10.15.7
When used this plugin Apple Silicon - M1, it crashes the Sketch application.
Is there any work around or stable solution for this plug-in?
I have the exact same names (in both libraries) for all the symbols and styles. The symbols and nested symbols swap out perfectly however the layer styles and text styles remain unchanged. They still reference their current library.
Sketch 53
Would love a broader window so my library names are not truncated.
(Or help me where to change it in the script.js :D
Seems that symbols are changing fine between files, but styles are not.
Sketch Version 58 (84663)
macOS Mohave version 10.14.6
Hello,
I am testing the new version of Camilo with the color variables, it works really well with the colors and borders for shapes but I have an issue with text styles:
On my final document, I have my text style and the color variable:
When I change library, it doesn't keep the color variable on the text style:
I think that it may be a sketch limitation because a base color is always attached to a text style (I think that it doesn't make sense since there is color variables now). I don't know if you can override this behaviour in a plugin and I don't know if this behaviour would be a benefit to everyone, open to debate ;)
And also thanks a lot for that wonderful plugin ! It help us a lot in the past years for our multi-branded apps ;)
Hello, Thank you very much for your job, it's amazing.
I work on sketch 52.4 and text and layer style doesn't change, only symbols.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.