sass / perl-libsass

Perl bindings for libsass (CSS::Sass)
MIT License
29 stars 15 forks source link

Prepare for next major libsass release #5

Closed mgreter closed 10 years ago

mgreter commented 10 years ago

This issue is used to track the progress toward a libsass 3.0 release.

Currently maps and lists do not directly map to their possible perl representation (ARRAY/HASH). Therefore I will re-work the internal representations to have maps being represented by actual hashes and lists by actual arrays. To do this, I will need to change all other data types to a reference. Strings will be scalar references, while all other types will still point to an array structure, since we need to save additional information (like the unit for numbers). Implement stringify for these data types to get the actual representation (maybe do this by invoking libsass to get the same representation). We also will make sure that we pass the same structure around for real perl and for the xs implementation.

Will adjust the version of CSS::Sass to libsass (updating it to 3.0)

mgreter commented 10 years ago

Libsass 3.0 has been released and I have an implementation for sass_value data types, backed by 269 unit tests. I'm not 100% happy with the end result, as I created more complex internal data structures than I first wanted to have. Although it seems to work well, it feels a bit over engineered, but it could IMO be changed at some later point without much pain. This pretty much reworks all of the internal sass_value handling. It should now be much more intuitive to work with values from/to libsass within custom functions.

Updated a lot of documentation which could need some peer review :)

//CC @caldwell

mgreter commented 10 years ago

Since I got no feedback I'll relase this version "as is" to cpan!!!