Go to file
2016-03-31 17:39:37 -05:00
css Update CSS 2016-03-31 17:20:33 -05:00
screenshots Add GitHub screenshots 2015-10-14 16:17:13 -05:00
sites github: Adjust .btn-primary appearance 2016-03-31 17:39:37 -05:00
styl {dark,light,github}.styl: Make file list prettier 2016-03-24 01:55:59 -05:00
Makefile Add generic.styl to COMMON_FILES 2015-10-14 16:09:45 -05:00
README.org Add other sheets to readme 2015-10-14 16:25:52 -05:00

Solarized…Everything?

This is a small (growing?) collection of user-stylesheets based upon the Solarized theme (repo). It uses Stylus to generate the CSS. The home of this stylesheet is at https://github.com/alphapapa/solarized-everything-css.

Wouldn't it be nice if (almost) every web site looked Solarized? I thought so. So here is a start. :)

Screenshots

GitHub

Dark

/Archives/solarized-everything-css/media/commit/2103cd047d32577940602af867820fa7bda0970c/screenshots/github-dark.png

Light

/Archives/solarized-everything-css/media/commit/2103cd047d32577940602af867820fa7bda0970c/screenshots/github-light.png

Wikipedia

Dark

/Archives/solarized-everything-css/media/commit/2103cd047d32577940602af867820fa7bda0970c/screenshots/wikipedia-dark.png

Light

/Archives/solarized-everything-css/media/commit/2103cd047d32577940602af867820fa7bda0970c/screenshots/wikipedia-light.png

Installation

Install the stylesheet of your choice according to your browser's method (e.g. using the Stylish extension in Firefox).

Files

  • solarized-all-sites-*.css These have all the sites' styles smushed into one big file. Might work pretty well for most sites. If the collection grows, it might begin to have conflictsbut it still might work pretty well. It might be a lot better than adding a separate stylesheet for every site you visit…
  • solarized-generic-*.css These are intended to be generic, suitable for many simple sites. They probably won't do much for fancy, popular sites with lots of custom CSS, but for simple, mostly unstyled sites, they might work okay.
  • solarized-mediawiki-*.css For MediaWiki sites, like Wikipedia
  • solarized-disqus-*.css For Disqus comments
  • solarized-github-*.css For GitHub
  • solarized-google-*.css For Google
  • solarized-hackernews-*.css For Hacker News
  • solarized-planet.emacsen.org-*.css For Planet Emacsen
  • solarized-stackexchange-*.css For StackExchange sites. Not all sites are covered, but some of the main ones are. Patches welcome.

Development

To make changes, just edit the .styl files and run make. (You need to have Stylus installed, of course.)

Basically, nearly the only things that should be in dark.styl or light.styl should be changes to the color- variables that adjust it for light or dark. Everything else should go in sites/*.styl. Colors are defined as color- variables, and mixins are used to insert common CSS properties (like color, background, etc) with !important. Most changes can be made without inserting CSS properties directly into the selectors.

I highly recommend using Emacs with stylus-mode and outline-minor-mode, but, of course, you can use whatever you like. :)

It's a good idea to avoid the use of * selectors wherever possible. They tend to have unanticipated side-effects which can take time to track down.

Require tree

Stylus can be very confusing when it comes to importing/requiring sheets into other sheets. Unfortunately, the order in which they are imported does matter, as each one seems to be parsed and executed in-order, rather than importing them all at once and then having a global namespace.

This is how the sheets require in this project:

  • Makefile

    • styl/{dark,light}.styl (in Makefile syntax: $$color.styl)

      • colors
      • Contents of {dark,light}.styl
    • styl (which loads styl/index.styl)

      • generic

        • mixins
    • sites/*.styl: The site-specific sheets, as well as generic.styl, which applies to all of them, and also builds as a separate sheet for non-specific sites. all-sites.styl puts all of the site-specific sheets into one big CSS file, which some people may prefer over setting up custom CSS for each site in their browser.

This way, the Solarized color values are loaded first, followed by the dark- or light-themed mappings of those color values to friendly names, after which those friendly names can be used in the sheets that actually style elements and pages.

License

Really? Come on, it's just some CSS. Just have fun and share!