In the next release, you will be able to customize the colors in your timelines.

I will add more elements and a way to export/share them with others.


@fedilab This is the best feature. I love the apps that let me customize the colors!

@fedilab can that be made compatible with pleroma themes?

@succfemboi IMO it should be possible. I just need to check what the api offers.

@fedilab I don't think there is a proper api for it, but @hj might know better
@succfemboi @fedilab there's no real API per se, just file format. Here's an example theme file attached.

Themes list bare minimum colors needed to make a theme, with all other missing colors derived but overridable. The absolute bare minimum (in v2) is bg, fg, text, link, also cRed, cBlue, cOrange, cGreen are optional.

There are several versions of theme format, all of them are JSON:
v2: current format, for colors you should look into "colors" property of theme object. there are also radii which is used to define roundness of elements/avatars
v1s: older format but similar to v2, has some names changed (v2 tried to clear up confusion), v2 text = v1s fg, v2 fg = v1s btn.
v3: future, will be backward compatible, there at least plans to make "accent" color which essentially will replace "link" for most part, so that you can change links colors without changing other link-colored elements
v1: this one is completely different and instead of an object uses an array. Colors are defined in following order:

0: not a color, just a readable theme name
1: bg
2: fg
3: text
4: link
--- following colors are technically optional
5: cRed
6: cGreen
7: cBlue
8: cOrange

v1 is how themes were defined on instance in /static/styles.json (technically part of PleromaFE), there are still some around
v1s is how said themes were stored in localstorage and how they were exported into file when clicking "export theme". For files there's filed _pleroma_theme_version, if it's not present - assume it's v1s if it's an object.

Instance provides the aforementioned /static/styles.json ( ) which is an object with keys being machine-friendly name of theme and value being either theme itself (v1 only right now, don't remember if v2 is supported) or a string pointing to theme file, this is used to provide some built-in theme presets to the user. Each instance also has configuration at /api/statusnet/config.json (also has a fallback for relevant data at /static/config.json ) in which pleroma-fe uses property at site.pleromafe.theme which is the machine-friendly name of the theme to be used by default when user hasn't selected any theme yet.

hope that made any sense.

there's also a site someone made to host some user-created themes

So the return of '90s custom colour schemes! Excellent!

Inscrivez-vous pour prendre part à la conversation

Le réseau social de l'avenir : Pas d'annonces, pas de surveillance institutionnelle, conception éthique et décentralisation ! Possédez vos données avec Mastodon !