Skip Navigation

[help] I have been steadily getting requests to turn my old.reddit.compact userscript into a Lemmy theme - but I don't know how to do it

github.com GitHub - soundjester/lemmy_monkey: *monkey scripts for Lemmy

*monkey scripts for Lemmy. Contribute to soundjester/lemmy_monkey development by creating an account on GitHub.

GitHub - soundjester/lemmy_monkey: *monkey scripts for Lemmy

Up for discussion:

The userscript I (and others) have written seems to be fairly popular among people who have found it. I've had several requests to turn it into a Lemmy theme, but I have been hesitant to do so. Partly because I lack the skill to do it, and partly because it isn’t really a “theme” as such. It doesn’t change the colors or do some of the things a theme typically does. In truth, the script is actually (essentially) theme agnostic - I use it with darkly, but it works with all of the other Lemmy themes without issue (hopefully).

I have no qualms with someone helping turn the CSS stuff into a Lemmy theme (or just taking the bull by the horns and doing it) , but with the changes coming in v.0.18 it may be better to wait.

Anyone have any thoughts? Is this script even appropriate for a Lemmy theme?

27

You're viewing a single thread.

27 comments
  • Do you have a link to what a Lemmy theme is? Idk if there's docs or anything. If we can find them I can help you do it.

    • https://join-lemmy.org/docs/administration/theming.html

      it's a little cryptic. It talks about bootstrap (ok, fine) and then links to a bootstrap builder (there is where I get lost). As I have mentioned in the past, CSS isn't really my bag (baby). I just poke around until I like how it looks...

      • I think this is the guide for installing themes for lemmy instance admins. Not for the theme makers. We have to see how to test a theme without having control of the deployment.

      • Naaahhhh what a mess. That's why I don't use bootstrap in my projects. All that building and shit is annoying. Not sure if this is the case but first thing I imagine is having to install your own lemmy instance, turning on Lemmy UI, testing your script, dropping it into the folder and reloading to see if it worked? That's probably not how it's done cuz if it is then it's mental to expect anyone to do it. I'll do some research and ask around.

        • that was the impression I got. I attempted to start with theming and noped out.

          I'd copy darkly.css if I could, but a) it isn't a simple theme, and b) I can only seem to locate the minimized version. That would also lock people into a dark theme, which seems silly and a little presumptuous.

      • k so i researched, there's nothing new about this bootstrap stuff, what's new is they're adding classes to make it easier to theme https://github.com/LemmyNet/lemmy-ui/pull/1361

        and that they're discussing theming

        next step is then to check if, having your theme converted to pure CSS or SCSS, when put into the themes folder of a deployment, does it look the same as the userscript, or does it substitute the previous theme and therefore deletes existing colors and shit, or is it simlpy incompatible because it assumes it's a bootstrap theme and then does it destroy the whole ui due to the lack of bootstrappy defaults?

        ez way to check: convince an instance holder (example, the dude) to run a dummy lemmy-ui with a dummy theme that was tedted on stylus for example and see how it behaves when placed into the themes folder.

        • yeah, i was aware of the theming and UI discussion. I've actually started a new userscript based on the beta test instance here: https://enterprise.lemmy.ml/

          The CSS will indeed look the same from a layout perspective, but it doesn't change any colors - and you can't select two themes at the same time (currently). It doesn't destroy any bootstrappy defaults, but it would default back to the standard bootstrap color theme. This is why I lean towards this not being appropriate for a "native" Lemmy theme.

          Converting the script to stylus is rather trivial - especially now that the comment collapse button and mobile styling is being modified with pure CSS. There are no other functions to convert.

          • The CSS will indeed look the same from a layout perspective, but it doesn’t change any colors - and you can’t select two themes at the same time (currently). It doesn’t destroy any bootstrappy defaults, but it would default back to the standard bootstrap color theme

            Are you implying that you have the ability to upload a .css directly to the UI somehow? or how are you testing its effect on colors and boostraps default classes & color themes? are you talking about stylus with this or something else? cuz i went into enterprise.lemmy.ml and the theme selector seems to have the same themes as this one, maybe i'm missing something.

            • no, I have no ability to upload .css to UI. But that's where folks want it - selectable along with darkly, litely, etc.

              • exactly

                what i worry is that if it's selectable with those, then the default colors of darkly, litely, etc., and their default sizes for buttons, sizes for comments, all the orders and reorders and spacings of things will crumble down, because, well, our CSS would not be placed on top of another CSS, but in substitution of it. I'm not sure if this is true, but I think it has a high likelihood of being true.

                and i also worry that it is not possible to test these low-level themes without first removing the defaults, and i believe that this can only be done on your own lemmy-ui deployment, although i am not very sure about this yet.

                • for your second point: yes, proper testing would require a theme separate from the defaults.

                  for your first point - that's where the work is: replacing only the things that are modified by the script to use the script values in addition to any color theming. It is a big job... One that may not be doable at this time.

27 comments