Giter VIP home page Giter VIP logo

themer's Introduction

Themer

Themer is a plugin that enables you to create themes from sets of styles in Figma.

themer's People

Contributors

thomas-lowry 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

themer's Issues

Asset swapping

Hi,
We are using this plugin to swap between different brands. One feature we would be interested to use is to change assets/iconography. Is that something that sounds feasible to develop? I'm happy to contribute but haven't done any figma plugin dev before, would you have tips on where to start/look at?

Best

Text don't change

Hi,

I'm trying to change font from brand A to brand B but text doesn't change.

Is it a bug?

Regards

Sourcing styles from page or selection replaces themes

Issue and steps I've found stated below:

Step 1. If I start with no themes created, add a theme from styles on the page or in a selection, then it creates a theme.
Step 2. If I repeat this to create a second theme the first theme is replaced.

Looking at the json that gets created, the name values for the styles created from local get created using a . as a separator whereas the other 2 options use /. Not sure if this is related?

But it is quite a frustrating issue. If it's somehow just me doing something wrong then maybe can I have some help working out why?

Thanks and keep up the great work!

Unable to use the word "Light" as color context

Hello!

Right now in the project that I'm working on we have 3 modes: Light, Dark and High Contrast and inside those we have colors that include the name Light as its context (e.g. Foreground Light, Background Light).

But we realized that themer's new version does not allow these colors to be converted, maybe because of the use of Light as both mode and context. Themer's previous version used to allow them to be converted, so we were wondering if there is a way to make that possible again.

Can Themer swap fills of different styles?

I have a set of themes. All but one of them have a particular style that is a solid color fill. The odd style uses a bitmap fill instead for that style. The plugin performs as expected between the solid colors, but seems to ignore the image fill.

Expected:

  • When I switch themes to the version with an image fill, the image fill replaces the solid color fill. (And vice versa.)

Actual:

  • When I switch themes to the version with an image fill, nothing happens. When I switch to other solid-fill themes, it works as expected.

Thanks! This looks like a very cool plugin and is helping us put together some interesting variations in our design system. :)

Problem with JSONbin updates

Hi! My team has been using Themer for about a year and a half and recently noticed that updates are no longer automatically pushed to JSONbin when we publish our Figma files. We've been working around this by deleting and re-adding themes to Themer every time we make a change to our Figma color styles, but it would be great if JSONbin would automatically update again. Let me know if I can provide any specific files/logs for you when you get a change to look into this issue.

Problem connecting JSON bin

I'm also reporting the same issue that a few others have mentioned over the last week- when I try to add to themer I get the message "There was a problem connecting".

  1. I am able to successfully open the Themer plugin, the alert says "Connecting to JSON Bin" and "Connection successful"
  2. I see the Themer plugin window load correctly
  3. I click the "+" to add to theme
  4. When I click "submit" I get the alert "There was a problem connecting"
  5. The Themer plugin window then shows the loading state infinitely

Can you please suggest what steps I should take to fix? Thank you!

Theme not saving to JSONbin

When creating a theme. The plugin says it is connecting successfully, and I am receiving a message that says, theme saved successfully. After creating a theme(s) I can see my list of themes, theme1, theme2 on the subsequent screen. But no data is being saved to JSONbin ( https://api.jsonbin.io/b/5ea9c1624c87c3359a63de45) , and once I close the plugin all of the theme information is lost.

Feature request - Update theme

Rather than just adding a new theme and deleting the old one, overwriting/updating one if you enter a name that already exists (so it retains its position in the list)

Figma variables support is expected?

Thanks for this plugin, really useful!

I would like to know if they intend to evolve Themer to support the new functionality of Figma variables.

Thanks!!

Add "Reset Themer" button

I think I configured Themer wrong in the Desktop (mac) Figma App.

When I open themer, it has the blue arrow loading icon and just hangs -- forever, though I do get a "Connected" alert. The Themer UI screen never goes to admin or theme-list.

Uninstalling/reinstalling the plugin doesn't work to clear the configuration it seems.

How can I clear the configuration so that I can retry the connection info?

Right now to use the plugin I have to use the Browser/Website Figma where the plugin seems to be working correctly.

Creating themes create TWO themes named the same thing

I am creating theme based on the THEMENAME/Style name convention.

When I am generating, I am getting two themes with the same name generated, that seem to have have of the styles in each. I looked through the style names for an obvious difference like a space or something but couldn't find anything.

Why might this be happening?

Not applying themes

I'm having trouble getting Themer to apply any styles. I create two themes using a prefix and they are successfully saved to jsonbin, however when applying them to a selection or a page the theme is not applied.

Please let me know what information would be useful to you, to diagnose this issue.

[Feature request] Share themer config to third parties

Nowaday I'm sharing my API KEY and BIN URL to third party teams to allow to work with our multibrand design system.

This is "dangerous" because everyone can add new brands or delete any brand.

Could be nice some method to share API KEY or BIN URL just as "viewer", allowing to use Themer but not to edit the configuration

Thanks for this plugin 🤟
Regards!

Feature request - Drag to re-order themes in the list

We have 7 themes at the moment, and due to lack of "Update theme" function, when we delete/re-add a theme, it goes to the bottom of the list and the only way to get it back to where it should be is to delete and re-add all 7 themes in order. A drag handle would be nice :)

License?

Hello, there!

As I came across your plugin, it felt like a really good starting point for a project I'm currently working on in my company. That would require me to clone & modify your plugin's code for internal usage.

I couldn't find a license, so I was wondering if there are any restrictions to perform the actions mentioned above?

Thanks!

Problem with Prefixed Themes

My colors are named like this:

image

When I generate the themes, I see this:

image

and in the JSON, the second / is transformed to a dot (.)

{
      "name": " Grey . 100",
      "key": "ef04b092ef60623b94aaa6bdd52d1ce00f12395d",
      "theme": "Dark ",
      "type": "PAINT"
    },

now when I try to apply a theme I get:

image

I don't understand because ef04b092ef60623b94aaa6bdd52d1ce00f12395d is there in the json

Any ideas on why this happens? I am looking into the src code right now

Bug: Style Name is changed

I figured, when using a prefix to determine the theme name, that everything after the first slash is changed if it contains a slash. Relevant code:

themer/code.ts

Line 451 in dba7de5

let styleName = name.split('/').slice(1).join('.');

Apparently: The first slash is to distinguish in the themes to determine the name, everything after to match with the styles used where the theme is applied to. If they use a slash in their variable names, that does not work at all.

Correct would be:

let styleName = name.split('/').slice(1).join('/'); 

Themer for Component Libraries

First, thank you so much for Themer. It's a really promising tool.
Is it planned to have Themer also working for component libraries? Having 2 different libariers that use the same namings in their component?

Add option to use an arbitrary JSON URL

Themer has proven to be super useful, thanks for building it!

As we scale up our design system however, we're starting to feel some growing pains with how Themer sources JSON:

  • JSONBin requires an account with another service like Github or Twitter—this puts a lot of pressure on whoever's account we're tying to for maintenance (or if they land their dream job and leave our team!)
  • JSONBin, or any UI-based service (like Gists proposed in #26), introduces a manual maintenance step that has potential to be quite brittle…we're really counting on the maintainer's copy/paste abilities 😅

Proposed solution

I'd love the ability to set an arbitrary URL, in this case pointing to a JSON file hosted on our CDN. We build and deploy our design tokens via our CI pipeline, so if we could point to an asset on our CDN, we wouldn't need to update the theme after each release

Tokens with and/or without spaces

Hi all,

We are having a few issues syncing themes and I am spotted in the json file that some tokens are saved with spaces (eg Theme / Text / Text 100) and others are saved without (eg. Theme/Text/Text 100)

Could this be causing us issues? It's impossible to see inside Figma and fixing in the JSON file doesn't seem to make much different (still not working)

For context the initial setup was done by a contract designer last year and now we are making some changes to some themes but its not working. I noticed we have also gone through V1 and are now on V2 of Themer... I wonder if thats making some issues for us too!

Cheers, Rob

Text layers with multiple styles don't swap correctly

Text layers that have multiple color styles set on a single text layer don't swap themes properly.

Examples below. Left hand text has multiple styles (unexpected behavior), right hand text has the same styles, but split into two text layers (expected behavior). Shown in light and dark themes.

Screenshot 2020-07-01 at 09 24 50

Screenshot 2020-07-01 at 09 24 59

Edit the theme at jsonbin.io

I want to edit the theme in jsonbin.io
But I don't know how to generate the "key" value
Or
Can the theme content be edited in the plugin?

Suggestions to improve apply theme

Hello 👋

Happily using your plugin and have some suggestions to improve it regarding the apply theme functionality. That mostly happened because I run the plugin, applied a theme and nothing happened.

  • Apply to document (not only the current page, which is what I'd need)
  • Remember the choice where the theme change should happen (I for my given use case wouldn't use selection at all - though it is always the default)
  • Only make the selection choosable if there IS a selection

I wouldn't mind sending a PR for that. Looking at the repo it looked more like the dist code rather than the dev code. Happy to hear how I can help out.

Sorting Themes by Name

When you have large number of themes, it will be great if we can sort themes by name.

There was an problem connecting!

I get an error message 'There was an problem connecting' when I try to create a theme. Themer connects to my JSONbin without error, but I cannot create a theme.

Connection icon keeps on spinning!

Hi there,
I'm in some trouble because my themer plugin keeps loading!

Screenshot 2020-06-05 at 17 57 53

The action I took prior to the problem was that I configured another to another jsonbin source without first resetting and now it keeps on spinnen and I can't use the plugin anymore.

Here in attach you'll find the log from the console as this can maybe help solve it or is there a way I can hard reset the plugin and start from scratch?
www.figma.com-1591372438621.log

Thanks in advance!

Themer lost connection and return a error on console

I have some problems with Themer connection. The "sync" get loading forever - when I open the console to debug, the message below was there:

Uncaught TypeError: jsonBinData.map is not a function at populateThemes (<anonymous>:236:40) at XMLHttpRequest.xhr.onload (<anonymous>:177:5)

Things that I already done:

  1. Uninstall themer, close Figma and install again
  2. Remove keys from Jsonbin

The error still there and I cant use Themer anymore on this account.

I tryed in another user (personal) and works fine. There is something about the connection lost.

image

Somebody can help me?

Thanks a lot.

[ISSUE ?] Not applying themes

Hi @thomas-lowry

I've recently downloaded your plugin, but unfortunately I can't get it to work.

I've 2 styles in a document: theme1/bg and theme2/bg
The plugin correctly creates the theme for them but when I'm going to apply the theme to a layer it does not apply anything. Nothing happens.

In the console I can see that the array of styles gets correctly fetched from jsonbin, but for some reason it's not applying any style and not throwing any error.

Would you be able to help with this?

Feature request - Auto updating

A toggle in Themer that remembers which frame/context a theme has been applied to, and continuously reapplies that theme if a change is detected within that context (while Themer is open). Similar to the auto-update toggle in the Arrow Auto plugin.

Doesn't work when styles are within folders

I've tried this with colours only:

When a colour style is in a folder, e.g. Text/Primary, the plugin doesn't seem to work.
If I create a style that's not inside a folder, e.g. Text Primary, the plugin works as expected.

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.