Almond.CSS
A few years back, I published a library of CSS styles. The goal was to build something simple and small that didn't interfere with the developer's styles but converted a plain HTML page/site into something lovely.
That's how Almond.CSS was born. A CSS library with some ideals (or restrictions):
Use only tags: no classes or IDs.
Cross-browser compatibility: look as similar as possible in all browsers.
Easily themable: using CSS variables and HSL colors.
Responsive, accessible, and usable.
Lightweight: limit the size to 3KB (gzipped).
Nice-looking: Keep it simple but elegant (reminder, I'm not a designer).
More than a library, Almond.CSS is an opinionated CSS normalizer (some people may call it a resetter): it makes the styles look the same in all browsers by setting common values to the properties that browsers display differently. Then, on top of that, it adds its touch.
Years went by, COVID happened, life happened, and I barely updated the project. Surprisingly, it grew on GitHub: people forked the project, added comments and requests, and even made pull requests themselves! So the project continued, and just recently, it hit 1,000 stars! It's the first project I built that reaches that milestone, which may seem petty compared to the famous libraries out there, but it's big for me.
It also makes me think. Maybe people don't want humungous design systems and bulky/complex component libraries to include in their projects. Perhaps they want one line of code that will bring CSS and make their sites look nice, leaving them with the custom details.
But that's a different story. An example of a website using the library is our very own comiCSS. It imports the minified version (5KB gzipped) and then personalizes the site with a small CSS file.
Soon, I'll work on Almond.CSS to make it better. When I coded the library initially there were not as many options: properties that are useful and common now were not available then, plus I had to include support for Internet Explorer. The library needs makeup, and there's a lot of work to do:
Add :where() to decrease specificity
Add new components (switch, different progress bars)
Remove outdated code targeted at IE.
Fix bugs (yes, there are)
Today, I upgraded the doc site to look a bit better. Then I'll release a whole new version of the library. Soon. :)
