1

So, users on SO said this is the right place to post this question. Let's hope it is.

Background

I want to transform my GitHub Windows Edition user style, which suddenly received a lot of attention, from one pure CSS file into a more modern project, but I'm new to frontend development, so I'm at a loss about choosing a build system. If it was something standard, I guess any set of tools would have worked, but user styles have very peculiar requirements, and mine especially so.

Question

I need a language which compiles to CSS, a general-purpose language and a build system (likely with plugins) which can perform the following:

  • Merge everything into one big CSS file while preserving header comments (.user.css header)
  • Transform image files into data URIs inside CSS variables
  • Include some files (or parts of files) inside specifically formatted .user.css comments which consist of instructions which can contain CSS parts inside JSON or something weirder
  • Transform RegEdit .reg file with binary data into several sets of CSS variables containing RGB data
  • Produce optimized image files for border-image properties from that RGB data and put them into Data URIs too
  • Having some way to deal with uploading to userstyles.org and updating its style settings would be nice.

And general requirements:

  • Cross-platform
  • Supported in modern IDEs
  • ...you get the idea

Why

As a C# developer, I can hack together a console app that performs all that stuff, but I suspect lots of frontend developers won't appreciate the choice, so it could be a barrier to open-source development. (C# is cross-platform, but it isn't the most commong thing on *nix.) Looks like almost all frontend relies on Node.js nowadays, so I guess I have to learn it, but there're so many build systems to choose from, that when multiplied by CSS-based languages, it would take me ages to choose the correct set.

Overall, if there's a short path, I'd like to know about it before starting to reinvent the wheel.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.