Metadata-Version: 2.1
|
|
Name: lesscpy
|
|
Version: 0.14.0
|
|
Summary: Python LESS compiler
|
|
Home-page: https://github.com/lesscpy/lesscpy
|
|
Author: Jóhann T Maríusson
|
|
Author-email: jtm@robot.is
|
|
License: MIT
|
|
Platform: UNKNOWN
|
|
Classifier: Development Status :: 5 - Production/Stable
|
|
Classifier: Environment :: Console
|
|
Classifier: Intended Audience :: End Users/Desktop
|
|
Classifier: Intended Audience :: Developers
|
|
Classifier: Intended Audience :: System Administrators
|
|
Classifier: License :: OSI Approved :: MIT License
|
|
Classifier: Operating System :: OS Independent
|
|
Classifier: Programming Language :: Python
|
|
Classifier: Programming Language :: Python :: 2
|
|
Classifier: Programming Language :: Python :: 2.7
|
|
Classifier: Programming Language :: Python :: 3
|
|
Classifier: Programming Language :: Python :: 3.4
|
|
Classifier: Programming Language :: Python :: 3.5
|
|
Classifier: Programming Language :: Python :: 3.6
|
|
Classifier: Programming Language :: Python :: 3.7
|
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
Classifier: Topic :: Software Development :: Code Generators
|
|
Classifier: Topic :: Software Development :: Pre-processors
|
|
Requires-Dist: ply
|
|
Requires-Dist: six
|
|
|
|
LESSCPY
|
|
=======
|
|
|
|
.. image:: https://travis-ci.org/lesscpy/lesscpy.png?branch=master
|
|
:target: https://travis-ci.org/lesscpy/lesscpy
|
|
|
|
.. image:: https://coveralls.io/repos/lesscpy/lesscpy/badge.png
|
|
:target: https://coveralls.io/r/lesscpy/lesscpy
|
|
|
|
.. image:: https://img.shields.io/pypi/dm/lesscpy.svg
|
|
:target: https://pypi.python.org/pypi/lesscpy
|
|
|
|
.. image:: https://img.shields.io/pypi/v/lesscpy.svg
|
|
:target: https://pypi.python.org/pypi/lesscpy
|
|
|
|
.. image:: https://img.shields.io/pypi/wheel/lesscpy.svg
|
|
:target: https://pypi.python.org/pypi/lesscpy
|
|
:alt: Wheel Status
|
|
|
|
.. image:: https://img.shields.io/pypi/l/lesscpy.svg
|
|
:target: https://pypi.python.org/pypi/lesscpy
|
|
:alt: License
|
|
|
|
Python LESS Compiler.
|
|
|
|
A compiler written in Python for the LESS language. For those of us not willing
|
|
or able to have node.js installed in our environment. Not all features of LESS
|
|
are supported (yet). Some features wil probably never be supported (JavaScript
|
|
evaluation). This program uses PLY (Python Lex-Yacc) to tokenize / parse the
|
|
input and is considerably slower than the NodeJS compiler. The plan is to
|
|
utilize this to build in proper syntax checking and perhaps YUI compressing.
|
|
|
|
This is an early version, so you are likely to find bugs.
|
|
|
|
For more information on LESS:
|
|
http://lesscss.org/ or https://github.com/cloudhead/less.js
|
|
|
|
Development files:
|
|
https://github.com/lesscpy/lesscpy
|
|
|
|
|
|
Supported features
|
|
------------------
|
|
|
|
- Variables
|
|
- String interpolation
|
|
- Mixins (nested, calls, closures, recursive)
|
|
- Guard expressions
|
|
- Parametered mixins (class / id)
|
|
- @arguments
|
|
- Nesting
|
|
- Escapes ~/e()
|
|
- Expressions
|
|
- Keyframe blocks
|
|
- Color functions (lighten, darken, saturate, desaturate, spin, hue, mix,
|
|
saturation, lightness)
|
|
- Other functions (round, increment, decrement, format '%(', ...)
|
|
|
|
|
|
Differences from less.js
|
|
------------------------
|
|
|
|
- All colors are auto-formatted to #nnnnnn. eg, #f7e923
|
|
- Does not preserve CSS comments
|
|
|
|
|
|
Not supported
|
|
-------------
|
|
|
|
- JavaScript evaluation
|
|
|
|
|
|
Requirements
|
|
------------
|
|
|
|
- Python 2.7, 3.4, 3.5, 3.6 or 3.7
|
|
- ply (Python Lex-Yacc) (check requirements.txt)
|
|
- six
|
|
|
|
Installation
|
|
------------
|
|
|
|
To install lesscpy from the `Python Package Index`_, simply:
|
|
|
|
.. code-block:: bash
|
|
|
|
$ pip install lesscpy
|
|
|
|
To do a local system-wide install:
|
|
|
|
.. code-block:: bash
|
|
|
|
python setup.py install
|
|
|
|
Or simply place the package into your Python path. Or rather use packages
|
|
provided by your distribution (openSUSE has them at least).
|
|
|
|
|
|
Compiler script Usage
|
|
---------------------
|
|
|
|
.. code-block:: text
|
|
|
|
usage: lesscpy [-h] [-v] [-I INCLUDE] [-V] [-C] [-x] [-X] [-t] [-s SPACES]
|
|
[-o OUT] [-r] [-f] [-m] [-D] [-g] [-S] [-L] [-N]
|
|
target [output]
|
|
|
|
LessCss Compiler
|
|
|
|
positional arguments:
|
|
target less file or directory
|
|
output output file path
|
|
|
|
optional arguments:
|
|
-h, --help show this help message and exit
|
|
-v, --version show program's version number and exit
|
|
-I INCLUDE, --include INCLUDE
|
|
Included less-files (comma separated)
|
|
-V, --verbose Verbose mode
|
|
-C, --dont_create_dirs
|
|
Creates directories when outputing files (lessc non-
|
|
compatible)
|
|
|
|
Formatting options:
|
|
-x, --minify Minify output
|
|
-X, --xminify Minify output, no end of block newlines
|
|
-t, --tabs Use tabs
|
|
-s SPACES, --spaces SPACES
|
|
Number of startline spaces (default 2)
|
|
|
|
Directory options:
|
|
Compiles all *.less files in directory that have a newer timestamp than
|
|
it's css file.
|
|
|
|
-o OUT, --out OUT Output directory
|
|
-r, --recurse Recursive into subdirectorys
|
|
-f, --force Force recompile on all files
|
|
-m, --min-ending Add '.min' into output filename. eg, name.min.css
|
|
-D, --dry-run Dry run, do not write files
|
|
|
|
Debugging:
|
|
-g, --debug Debugging information
|
|
-S, --scopemap Scopemap
|
|
-L, --lex-only Run lexer on target
|
|
-N, --no-css No css output
|
|
|
|
<< jtm@robot.is @_o >>
|
|
|
|
Python usage
|
|
------------
|
|
|
|
If you want to use the compiler from within Python, you can do it like this:
|
|
|
|
.. code-block:: python
|
|
|
|
import lesscpy
|
|
from six import StringIO
|
|
|
|
print(lesscpy.compile(StringIO(u"a { border-width: 2px * 3; }"), minify=True))
|
|
|
|
The output will be:
|
|
|
|
.. code-block:: text
|
|
|
|
a{border-width:6px;}
|
|
|
|
License
|
|
-------
|
|
|
|
See the LICENSE file
|
|
|
|
|
|
.. _`Python Package Index`: https://pypi.python.org/pypi/lesscpy
|
|
|
|
|