alphapapa / solarized-everything-css

A collection of Solarized user-stylesheets for...everything?
GNU General Public License v3.0
279 stars 43 forks source link
css duckduckgo github reddit solarized solarized-theme user-styles

This is a small (growing?) collection of user-stylesheets based upon the [[http://ethanschoonover.com/solarized][Solarized]] theme ([[https://github.com/altercation/solarized][repo]]). It uses [[http://learnboost.github.com/stylus/][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. :)

** Contents :TOC:

** Screenshots

*** GitHub

**** Dark [[https://raw.githubusercontent.com/alphapapa/solarized-everything-css/screenshots/solarized-dark/github.png]]

**** Light [[https://raw.githubusercontent.com/alphapapa/solarized-everything-css/screenshots/solarized-light/github.png]]

*** Wikipedia

**** Dark [[https://raw.githubusercontent.com/alphapapa/solarized-everything-css/screenshots/solarized-dark/mediawiki.org.png]]

**** Light [[https://raw.githubusercontent.com/alphapapa/solarized-everything-css/screenshots/solarized-light/mediawiki.org.png]]

** Installation :noexport_1:

*** From userstyles.org

You may install some of the stylesheets directly in your browser from [[http://userstyles.org][userstyles.org]]:

*** Manual

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

CSS files for each theme are in the =css= directory.

**** Files

** Development :noexport_1:

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 =themes//.styl= should be theme specific colors. 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:

This way, the color value-name mappings are loaded first, after which those friendly names can be used in the files that actually style elements and pages.

*** New Themes

It's easy to add your own themes:

  1. Copy an existing theme directory in the =themes/= directory, giving it a new name.
  2. Modify it as required.
  3. Run =make= in the project root directory to build the CSS files.

** Credits

** License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/gpl-3.0.txt.