public
Description: An updated version Armin Ronacher's CleverCSS 0.1 that includes several bug fixes.
Homepage: http://sandbox.pocoo.org/clevercss/
Clone URL: git://github.com/dziegler/clevercss.git
name age message
file BUGFIXES Tue Sep 01 06:44:49 -0700 2009 None check in Engine.evaluate() [dziegler]
file README Mon Apr 20 07:14:19 -0700 2009 add README [dziegler]
file clevercss.py Tue Sep 01 06:44:49 -0700 2009 None check in Engine.evaluate() [dziegler]
file setup.py Tue Sep 01 06:44:49 -0700 2009 None check in Engine.evaluate() [dziegler]
directory tests/ Tue Sep 01 06:44:49 -0700 2009 None check in Engine.evaluate() [dziegler]
README
=========
CleverCSS
=========

CleverCSS is a small markup language for CSS inspired by Python that can be used
to build a style sheet in a clean and structured way.  In many ways it's cleaner
and more powerful than CSS2 is.

The most obvious difference to CSS is the syntax: it is indentation based and
not flat.  While this is obviously against the Python Zen, it's nonetheless a
good idea for structural styles.


Nutshell
========

To get an idea of how CleverCSS works you can see a small example below.  Note
the indentation based syntax and how you can nest rules::

    ul#comments, ol#comments:
      margin: 0
      padding: 0

      li:
        padding: 0.4em
        margin: 0.8em 0 0.8em

        h3:
          font-size: 1.2em
        p:
          padding: 0.3em
        p.meta:
          text-align: right
          color: #ddd

Of course you can do the very same in CSS, but because of its flat nature the
code would look more verbose.  The following piece of code is the CleverCSS
output of the above file::

    ul#comments,
    ol#comments {
      margin: 0;
      padding: 0;
    }

    ul#comments li,
    ol#comments li {
      padding: 0.4em;
      margin: 0.8em 0 0.8em;
    }

    ul#comments li h3,
    ol#comments li h3 {
      font-size: 1.2em;
    }

    ul#comments li p,
    ol#comments li p {
      padding: 0.3em;
    }

    ul#comments li p.meta,
    ol#comments li p.meta {
      text-align: right;
      color: #dddddd;
    }

But that's only a small example of what you can do with CleverCSS.  Have a look
at the following documentation of CleverCSS for more details.