-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Let users customize themes with URL-encoded styles #82
Comments
A few folks have suggested high customizability is something they'd want, which is making me kind of rethink what showmy.chat should be. I'd initially envisioned showmy.chat as a plug-and-play solution with themes that look nice and work well enough out of the box — sacrificing flexibility for simplicity. To that end, customizations have largely touched on functionality over appearance. However! I don't think that original visions need to be kept pristine and intact, particularly if I thought people needed/wanted one thing, when what they really need/want is another. Here are some thoughts that I've got, in no particular order. These aren't meant to discourage doing this, particularly if there's serious interest in having this as an option!
|
This is awesome Trost! I do a lot of open source and it's rare that people come to the table with high quality mock-ups like this, so kudos to you. My own 2 cents is I think this is still in line with the original vision as I've seen it play out since showmy.chat started because the ability to create your own theme has always been there, but it has been more challenging to create for anyone without fluency in CSS. This can be seen as a tool to help expand the palette of potential plug and play themes. I agree though that it will require a lot of forward thinking to make sure you don't end up trying to rebuild Figma. At some point the intricacy of creating a design tool within your own site becomes more trouble than it's worth. But at this point there's far more control we can give through a low code tool, which is how I see this adding a lot of value today. |
tagging in #78
Those ORs aren't mutually exclusive, you'd only do one, but maybe they're all supported in this hypothetical. |
It would be great if you could customize themes with data stored as URL parameters. Similar to how Cloudinary/Imgix do their image transforms with an image API, themes could have a Theme API where everything gets added to the URL.
Customized URLs might look something like this:
https://showmy.chat/c/TrostCodes?theme=frontend-horse&text-color=03ae92&bg-color=03ae92&mod-bg-color=03fa20&font-size=16&font-family=Roboto
These could be defined per-theme with a JSON object, providing labels, types (color, text, select, integer), etc.
Then in an interface, you'd be able to customize the different properties. Here's a quick mockup of how I see this potentially looking:
If you paste an old URL in, the values would load and you'd be able to easily customize once again.
We'd need to decide if some themes just have small customization options, or arent' customizable at all. Or if there are standard values across all themes, like
font-family
ortext-color
. I worry that would limit the potential creativity of future themes, so letting each theme create its own properties feels like the most flexible way, if not a tad chaotic.This would also address #2
Caveat
This idea assumes demand for people to deeply customize their themes.
It might be better for the time being to focus on building out more theme styles that people like, rather than putting the onus on users to create a style they like through this method.
@BenDMyers did mention that you could get around this URL encoding bit by adding custom styles in OBS which is a great workaround.
The text was updated successfully, but these errors were encountered: