Предлагаю всем поучаствовать в развитии.
Я использую ограниченное подмножество Sass:
- для атрибутов используется только такой синтаксис :attrname .
- инструкция @import сейчас игнорируется
- не реализован вычислитель выражений типа "800px - 200px". производится простая замена переменных
- для mixins пока не работает подстановка параметров.
Даже в таком состоянии он может быть полезен. Пример преобразования:
// Constant Definitions
!sidebar_width = 200px
!page_width = 800px
!primary_color = #eeeeee
// Reusable Mixin
=big
:font-size 2em
:font-family arial
// Global Attributes
body
:font
:family fantasy
:size 30em
:weight bold
// Scoped Styles
#contents
:width = !page_width
#sidebar
:float right
:width = !sidebar_width
#main
:width = !page_width - !sidebar_width
:background = !primary_color
h2
+big
:color blue
#footer
:height 200px
произведет такой CSS:
body {
font-family: fantasy;
font-size: 30em;
font-weight: bold;}
#contents {
width: 800px;}
#contents #sidebar {
float: right;
width: 200px;}
#contents #main {
width: 800px - 200px;
background: #eeeeee;}
#contents #main h2 {
font-size: 2em;
font-family: arial;
color: blue;}
#footer {
height: 200px;}
Как видите не хватает вычисления выражений :) Кто бы взялся за такой "калькулятор"?
—————
Ссылки по теме:
Sass на пiхе: http://pyha.ru/forum/topic/3449.msg70872#msg70872
оффсайт: http://sass-lang.com/
тестируем on-line: http://lab.hamptoncatlin.com/play/with/sass
compass framework: http://compass-style.org/
хабр о sass: http://habrahabr.ru/blogs/css/59418/
брошенный проект phphaml (Haml & Sass) http://phphaml.sourceforge.net/ - надо качать из SVN, а не архив