~corey.bryant/ubuntu/utopic/python-pyscss/mir

« back to all changes in this revision

Viewing changes to docs/back-matter.rst

  • Committer: Package Import Robot
  • Author(s): James Page
  • Date: 2014-09-24 21:54:24 UTC
  • mto: This revision was merged to the branch mainline in revision 7.
  • Revision ID: package-import@ubuntu.com-20140924215424-yqmn0dajgwcamfxw
Tags: upstream-1.2.1
Import upstream version 1.2.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Back matter
 
2
===========
 
3
 
 
4
Reporting bugs
 
5
--------------
 
6
 
 
7
If you have any suggestions, bug reports, or minor annoyances, please report
 
8
them to the issue tracker on GitHub: http://github.com/Kronuz/pyScss/issues
 
9
 
 
10
 
 
11
Contributing
 
12
------------
 
13
 
 
14
Please send us pull requests on GitHub!  https://github.com/Kronuz/pyScss
 
15
 
 
16
 
 
17
Running the test suite
 
18
----------------------
 
19
 
 
20
The test suite is built atop the excellent `py.test`_ library, and can be run with::
 
21
 
 
22
    py.test
 
23
 
 
24
from the root of a source checkout.
 
25
 
 
26
.. _py.test: http://pytest.org/latest/
 
27
 
 
28
Most of the tests are pairs of input/output files in ``scss/tests/files``; the
 
29
test suite scans for these, compiles all the ``.scss`` files, and compares the
 
30
output with the ``.css`` file of the same name.  You can limit which file tests
 
31
run::
 
32
 
 
33
    py.test --test-file-filter=REGEX,REGEX,REGEX...
 
34
 
 
35
There are also several tests borrowed from the Ruby and C implementations.
 
36
Many of these don't work (due to missing features, different error messages,
 
37
slightly different formatting, etc.), so to reduce the useless noise produced
 
38
by a test run, you must explicitly opt into them with ``--include-ruby``, even
 
39
when using a file filter.  These files are in the ``from-ruby/`` and
 
40
``from-sassc/`` subdirectories.
 
41
 
 
42
Additionally, test files in the ``xfail/`` subdirectory are assumed to fail.
 
43
Other than these cases, the directory names are arbitrary.
 
44
 
 
45
 
 
46
License and copyright
 
47
---------------------
 
48
 
 
49
Copyright © 2012 German M. Bravo (Kronuz), with additional heavy contributions
 
50
by Eevee (Alex Munroe).  Licensed under the `MIT license`_.
 
51
 
 
52
.. _MIT license: http://www.opensource.org/licenses/mit-license.php
 
53
 
 
54
pyScss is inspired by and partially derived from various projects:
 
55
 
 
56
* `Compass`_ © 2009 Christopher M. Eppstein
 
57
* `Sass`_ © 2006-2009 Hampton Catlin and Nathan Weizenbaum
 
58
* `xCSS`_ © 2010 Anton Pawlik
 
59
 
 
60
.. _Compass: http://compass-style.org/
 
61
.. _Sass: http://sass-lang.com/
 
62
.. _xCSS: http://xcss.antpaw.org/docs/
 
63
 
 
64
Special thanks to Yelp for allowing Eevee to contribute to pyScss during
 
65
working hours.  Yelp does not claim copyright.
 
66
 
 
67
 
 
68
Changelog
 
69
---------
 
70
 
 
71
1.2.1 (Sep 18, 2014)
 
72
^^^^^^^^^^^^^^^^^^^
 
73
 
 
74
Very minor bugfix release.
 
75
 
 
76
* ``apply_extends`` is now threadsafe.
 
77
* Default function arguments that are strings containing interpolations of earlier function arguments now work...  sort of.  This allows Bootstrap 3.2 to compile correctly.
 
78
 
 
79
1.2.0 (Oct 8, 2013)
 
80
^^^^^^^^^^^^^^^^^^^
 
81
 
 
82
This is a significant release that greatly increases compatibility with the
 
83
reference compiler; in particular, the Sass port of Bootstrap now compiles.
 
84
 
 
85
There are a lot of changes here, so please feel free to report any bugs you
 
86
see!  The goal is 100% compatibility with the Ruby project.
 
87
 
 
88
Missing Sass features
 
89
"""""""""""""""""""""
 
90
 
 
91
* Dashes and underscores are treated as interchangeable in variable, function, and mixin names.
 
92
* Rule blocks in the form ``background: red { ... }`` are now supported.
 
93
* Colors are output as their shortest representation, and never as ``hsl()``.  The separate compiler options for compressing colors have been removed.
 
94
* The color modification functions (``adjust-color``, etc.) now work reliably.
 
95
* ``transparent`` is recognized as a color.
 
96
* Unrecognized units are now supported and treated as opaque.
 
97
* Arbitrary combinations of units (e.g., ``px * px``) are supported for intermediate values.  Unit cancellation now works reliably.
 
98
* Comparison and addition are now more in line with the Ruby behavior.
 
99
* ``/`` is now left untouched when it appears between literals, as in ``font: 0 / 0``.
 
100
* ``null`` is supported.
 
101
* ``zip()`` is supported.
 
102
* ``grayscale()`` now knows it's also a CSS3 filter function, and won't be evaluated if its argument is a number.
 
103
* Slurpy arguments (``some-function($args...)``) are supported.
 
104
* ``@extend`` has been greatly improved: it eliminates common ancestors and works in many complex cases that used to produce strange results.
 
105
* Several Compass functions now adhere more closely to Compass's behavior.  ``linear-gradient()`` is less likely to wreck valid CSS3 syntax.
 
106
* Compass's ``e()``, ``pow()``, ``log()``, and ``sqrt()`` are now supported.
 
107
 
 
108
Bug fixes
 
109
"""""""""
 
110
 
 
111
* Interactive mode works.  Again.
 
112
* Color names in strings and selectors are no longer replaced with hex equivalents.
 
113
* Unrecognized ``@``-rule blocks such as ``@keyframes`` are left alone, rather than being treated like selectors.
 
114
* ``@media`` blocks aren't repeated for every rule inside.
 
115
* Pound-interpolation always drops quotes on strings.
 
116
* Single quoted strings no longer lose their quotes when rendered.
 
117
* ``+ foo { ... }`` is now recognized as a nested block, not an include.
 
118
* ``color-stop()`` and several proposed CSS4 functions no longer produce "unrecognized function" warnings.
 
119
* Several obscure bugs with variable scoping have been fixed, though a couple others remain.
 
120
* Several bugfixes to the C speedups module to bring it in line with the behavior of the pure-Python scanner.
 
121
 
 
122
New features
 
123
""""""""""""
 
124
 
 
125
* Python 3 support.  As a result, Python 2.5 no longer works; whether this is a bug or a feature is not yet clear.
 
126
* It's possible to write custom Sass functions in Python, though the API for this is not final.
 
127
* Experimental support for the map type and destructuring ``@each``, both unreleased additions to the Ruby project.
 
128
* Support for the new string and list functions in Sass 3.3.
 
129
* Added ``background-brushed``.
 
130
 
 
131
Backwards-incompatible changes
 
132
""""""""""""""""""""""""""""""
 
133
 
 
134
* Configuration via monkeypatching the ``scss`` module no longer works.  Monkeypatch ``scss.config`` instead.
 
135
* ``em`` and ``px`` are no longer compatible.
 
136
* Unrecognized variable names are now a fatal error.
 
137
 
 
138
Internals
 
139
"""""""""
 
140
 
 
141
* No longer a single 5000-line file!
 
142
* Vastly expanded test suite, including some experimental tests borrowed from the Ruby and C implementations.
 
143
* Parser now produces an AST rather than evaluating expressions during the parse, which allows for heavier caching and fixes some existing cache bugs.
 
144
* The type system has been virtually rewritten; types now act much less like Python types, and compilation uses Sass types throughout rather than mixing Python types with Sass types.
 
145
 
 
146
1.1.5 (Feb 15, 2013)
 
147
^^^^^^^^^^^^^^^^^^^^
 
148
 
 
149
* ``debug_info`` now properly produces rules that can be used by FireSass and Google Chrome SASS Source Maps.
 
150
* Improved memory usage for large sets of files to be used as sprites.
 
151
* Warns about IE 4095 maximum number of selectors.
 
152
* ``debug_info`` prints info as comments if specified as ``comments``.
 
153
* Better handling of undefined variables.
 
154
* Added CSS filter functions and ``skewX`` ``skewY``.
 
155
* Command line tool and entry point fixed.
 
156
* Fix cache buster URLs when paths already include queries or fragments.
 
157
* Hashable Values.
 
158
 
 
159
1.1.4 (Aug 8, 2012)
 
160
^^^^^^^^^^^^^^^^^^^
 
161
 
 
162
* Added ``--debug-info`` command line option (for *FireSass* output).
 
163
* Added compass helper function ``reject()``.
 
164
* Added ``undefined`` keyword for undefined variables.
 
165
 
 
166
1.1.3 (Jan 9, 2012)
 
167
^^^^^^^^^^^^^^^^^^^
 
168
 
 
169
* Support for the new Sass 3.2.0 features (``@content`` and placeholder selectors)
 
170
* Fixed bug with line numbers throwing an exception.
 
171
 
 
172
1.1.2 (Jan 3, 2012)
 
173
^^^^^^^^^^^^^^^^^^^
 
174
 
 
175
* Regression bug fixed from 1.1.1
 
176
 
 
177
1.1.1 (Jan 2, 2012)
 
178
^^^^^^^^^^^^^^^^^^^
 
179
 
 
180
* Added optional C speedup module for an amazing boost in scanning speed!
 
181
* Added ``headings``, ``stylesheet-url``, ``font-url``, ``font-files``, ``inline-font-files`` and ``sprite-names``.
 
182
 
 
183
1.1.0 (Dec 22, 2011)
 
184
^^^^^^^^^^^^^^^^^^^^
 
185
 
 
186
* Added ``min()`` and ``max()`` for lists.
 
187
* Removed exception raise.
 
188
 
 
189
1.0.9 (Dec 22, 2011)
 
190
^^^^^^^^^^^^^^^^^^^^
 
191
 
 
192
* Optimizations in the scanner.
 
193
* Added ``background-noise()`` for compass-recipes support.
 
194
* ``enumerate()`` and ``range()`` can go backwards. Ex.: ``range(3, 0)`` goes from 3 to 0.
 
195
* Added line numbers and files for errors.
 
196
* Added support for *Firebug* with *FireSass*.
 
197
* ``nth(n)`` is round (returns the ``nth mod len`` item of the list).
 
198
* ``--watch`` added to the command line.
 
199
* Several bugs fixed.
 
200
 
 
201
1.0.8 (May 13, 2011)
 
202
^^^^^^^^^^^^^^^^^^^^
 
203
 
 
204
* Changed source color (``$src-color``) default to black.
 
205
* Moved the module filename to ``__init__.py`` and module renamed back to scss.