diff --git a/README.markdown b/README.markdown index 0480836..062156d 100644 --- a/README.markdown +++ b/README.markdown @@ -10,6 +10,10 @@ This project includes reasonably similar implementations of some of the Ruby fun To make those functions available to your compass mixins, you'll want to either `@import "compass";` or `@import "compass/functions"'` before the specific compass scss files you import. +## Contributors +Guillaume Balaine Igosuki@github +Michael Heillein nichaek@github + ## License Copyright (c) 2008-2009 Christopher M. Eppstein
All Rights Reserved.
diff --git a/lib/compass/_functions.scss b/lib/compass/_functions.scss index 6441dab..c29112e 100644 --- a/lib/compass/_functions.scss +++ b/lib/compass/_functions.scss @@ -1,3 +1,5 @@ @import "functions/lists"; @import "functions/cross_browser_support"; @import "functions/gradient_support"; +@import "functions/constants"; +@import "functions/display"; diff --git a/lib/compass/functions/_constants.scss b/lib/compass/functions/_constants.scss new file mode 100644 index 0000000..322f79c --- /dev/null +++ b/lib/compass/functions/_constants.scss @@ -0,0 +1,18 @@ +/* + * A partial implementation of the Ruby constants functions from Compass: + * https://github.com/Compass/compass/blob/stable/lib/compass/sass_extensions/functions/constants.rb + */ + +@function opposite-position($from) { + @if ($from == top) { + @return bottom; + } @else if ($from == bottom) { + @return top; + } @else if ($from == left) { + @return right; + } @else if ($from == right) { + @return left; + } @else if ($from == center) { + @return center; + } +} diff --git a/lib/compass/functions/_display.scss b/lib/compass/functions/_display.scss new file mode 100755 index 0000000..0d6a7cb --- /dev/null +++ b/lib/compass/functions/_display.scss @@ -0,0 +1,36 @@ +/* + * A partial implementation of the Ruby display functions from Compass: + * https://github.com/Compass/compass/blob/stable/core/lib/compass/core/sass_extensions/functions/display.rb + */ + +@function elements-of-type($type){ + @if ($type == block){ + @return address, article, aside, blockquote, center, dir, div, dd, details, dl, dt, fieldset, figcaption, figure, form, footer, frameset, h1, h2, h3, h4, h5, h6, hr, header, hgroup, isindex, main, menu, nav, noframes, noscript, ol, p, pre, section, summary, ul; + } @else if ($type == inline){ + @return a, abbr, acronym, audio, b, basefont, bdo, big, br, canvas, cite, code, command, datalist, dfn, em, embed, font, i, img, input, keygen, kbd, label, mark, meter, output, progress, q, rp, rt, ruby, s, samp, select, small, span, strike, strong, sub, sup, textarea, time, tt, u, var, video, wbr; + } @else if ($type == inline-block){ + @return img; + } @else if ($type == table){ + @return table; + } @else if ($type == list-item){ + @return li; + } @else if ($type == table-row-group){ + @return tbody; + } @else if ($type == table-header-group){ + @return thead; + } @else if ($type == table-footer-group){ + @return tfoot; + } @else if ($type == table-row){ + @return tr; + } @else if ($type == table-cell){ + @return th, td; + } @else if ($type == html5-block){ + @return article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary; + } @else if ($type == html5-inline){ + @return audio, canvas, command, datalist, embed, keygen, mark, meter, output, progress, rp, rt, ruby, time, video, wbr; + } @else if ($type == html5){ + @return article, aside, audio, canvas, command, datalist, details, embed, figcaption, figure, footer, header, hgroup, keygen, main, mark, menu, meter, nav, output, progress, rp, rt, ruby, section, summary, time, video, wbr; + } @else if ($type == text-input){ + @return input, textarea; + } +}