Shared lexicon schemas for long-form publishing on AT Protocol. Uses typescript to json via prototypey.

site.standard.palette.basic (not theme) #2

Open mrpowershell.com
Open opened by mrpowershell.com

I believe that site.standard.palette.basic would be the ideal nomenclature, not site.standard.theme.basic.

Here is why I believe palette is the correct name:

  1. As presently written, this encapsulates a palette, not a complete theme.
  2. Using the term "palette" keeps the term "theme" open for more complex scenarios.
  3. palette provides a clear delineation of purpose between itself and theme. One deals with colors specifically, the other encapsulates UI customizations (for example, if we imagine a holiday theme, it might include a palette but also contain specific shapes/assets to display, different fonts to use, etc)
  4. To me, palette implies potential customization, where as theme implies a fixed set of selections.

These are just my rationale for the name change. I have a few projects where I had been using either theme or colorScheme and have since standardized on the lexically correct term, which is palette.

My apologies for such a pedantic issue. Please consider changing this before too many people take a dependency on standard.site.

i see the logic here. the current implementation is just colors, so “palette” is seemingly more intuitive.

we went with “theme” because we wanted to leave room for the lexicon to grow. if the community wants to add typography, spacing or other visual properties later, “theme” still fits. “palette” would become a misnomer.

there is also a practical concern. the atprotocol lexicon style guide notes that “given the distributed storage model of atproto, developers do not have a reliable mechanism to update all data records in the network.” renaming a lexicon is effectively a breaking change. favoring names that can grow with the schema would be my preference.

that said, i do not feel strongly about this. if the consensus is that “palette” is clearer, i am open to it. though we do have people implementing this lexicon already, which would require them to update their implementations.

I'm glad the logic is clear. And I understand it would technically be a breaking change due to the design of lexicons.

I suggest making the breaking change early, while there are few people to break (and you're still in semver <1 )

I still think the "theme" should be a thing, just a slightly different thing. I am still thinking thru how to formalize the set of wants for this scenario. Open to suggestions / I might make a new issue.

Sign up or Sign in to add to the discussion.