Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F2751791
lessc
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
lessc
View Options
#!/usr/bin/env php
<?php
require_once
__DIR__
.
'/../lib/Less/Autoloader.php'
;
Less_Autoloader
::
register
();
// Create our environment
$env
=
array
(
'compress'
=>
false
,
'relativeUrls'
=>
false
);
$silent
=
false
;
$watch
=
false
;
$rootpath
=
''
;
// Check for arguments
array_shift
(
$argv
);
if
(!
count
(
$argv
))
{
$argv
[]
=
'-h'
;
}
// parse arguments
foreach
(
$argv
as
$key
=>
$arg
)
{
if
(
preg_match
(
'/^--?([a-z][0-9a-z-]*)(?:=([^
\s
]+))?$/i'
,
$arg
,
$matches
))
{
$option
=
$matches
[
1
];
$value
=
isset
(
$matches
[
2
])
?
$matches
[
2
]
:
false
;
unset
(
$argv
[
$key
]);
switch
(
$option
)
{
case
'h'
:
case
'help'
:
echo
<<<EOD
Usage: lessc [options] sources [destination]
-h, --help Print help (this message) and exit.
-s, --silent Suppress output of error messages.
-v, --version Print version number and exit.
-x, --compress Compress output by removing some whitespaces.
--include-path=PATHS Set include paths. Separated by `:'. Use `;' on Windows.
--strict-imports Force evaluation of imports.
-m=, --math=
always Less will eagerly perform math operations always.
parens-division Math performed except for division (/) operator
parens | strict Math only performed inside parentheses');
-su=on|off Allow mixed units, e.g. 1px+1em or 1px*1px which have units
--strict-units=on|off that cannot be represented.
-ru, --relative-urls re-write relative urls to the base less file.
-rp, --rootpath=URL Set rootpath for url rewriting in relative imports and urls.
Works with or without the relative-urls option.
-w, --watch Watch input files for changes.
-------------------------- Deprecated ----------------
-sm=on|off Legacy parens-only math. Use --math instead.
--strict-math=on|off
EOD;
exit
;
case
's'
:
case
'silent'
:
$silent
=
true
;
break
;
case
'w'
:
case
'watch'
:
$watch
=
true
;
break
;
case
'v'
:
case
'version'
:
echo
"lessc "
.
Less_Version
::
version
.
" (less.php)
\n\n
"
;
exit
;
case
'rp'
:
case
'rootpath'
:
$rootpath
=
$value
;
break
;
//parser options
case
'compress'
:
$env
[
'compress'
]
=
true
;
break
;
case
'ru'
:
case
'relative-urls'
:
$env
[
'relativeUrls'
]
=
true
;
break
;
case
'su'
:
case
'strict-units'
:
$env
[
'strictUnits'
]
=
(
$value
===
'on'
);
break
;
case
'sm'
:
case
'strict-math'
:
fwrite
(
STDERR
,
"lessc: The --strict-math option has been deprecated. Use --math=parens
\n
"
);
$env
[
'strictMath'
]
=
(
$value
===
"on"
);
break
;
case
'm'
:
case
'math'
:
$env
[
'math'
]
=
$value
;
break
;
case
'x'
:
case
'include-path'
:
$env
[
'import_dirs'
]
=
preg_split
(
'#;|
\:
#'
,
$value
);
break
;
}
}
}
if
(
count
(
$argv
)
>
1
)
{
$output
=
array_pop
(
$argv
);
$inputs
=
$argv
;
}
else
{
$inputs
=
$argv
;
$output
=
false
;
}
if
(!
count
(
$inputs
))
{
echo
(
"lessc: no input files
\n
"
);
exit
;
}
if
(
$watch
)
{
if
(!
$output
)
{
echo
(
"lessc: you must specify the output file if --watch is given
\n
"
);
exit
;
}
$lastAction
=
0
;
echo
(
"lessc: watching input files
\n
"
);
while
(
1
)
{
clearstatcache
();
$updated
=
false
;
foreach
(
$inputs
as
$input
)
{
if
(
$input
==
'-'
)
{
if
(
count
(
$inputs
)
==
1
)
{
echo
(
"lessc: during watching files is not possible to watch stdin
\n
"
);
exit
;
}
else
{
continue
;
}
}
if
(
filemtime
(
$input
)
>
$lastAction
)
{
$updated
=
true
;
break
;
}
}
if
(
$updated
)
{
$lastAction
=
time
();
$parser
=
new
Less_Parser
(
$env
);
foreach
(
$inputs
as
$input
)
{
try
{
$parser
->
parseFile
(
$input
,
$rootpath
);
}
catch
(
Exception
$e
)
{
echo
(
"lessc: "
.
$e
->
getMessage
()
.
"
\n
"
);
continue
;
// Invalid processing
}
}
file_put_contents
(
$output
,
$parser
->
getCss
());
echo
(
"lessc: output file recompiled
\n
"
);
}
sleep
(
1
);
}
}
else
{
$parser
=
new
Less_Parser
(
$env
);
foreach
(
$inputs
as
$input
)
{
if
(
$input
==
'-'
)
{
$content
=
file_get_contents
(
'php://stdin'
);
$parser
->
parse
(
$content
);
}
else
{
try
{
$parser
->
parseFile
(
$input
);
}
catch
(
Exception
$e
)
{
if
(!
$silent
)
{
echo
(
"lessc: "
.
((
string
)
$e
)
.
"
\n
"
);
}
}
}
}
if
(
$output
)
{
file_put_contents
(
$output
,
$parser
->
getCss
());
}
else
{
echo
$parser
->
getCss
();
}
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Jul 3, 19:09 (1 d, 16 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
0c/5d/acb70f2d52b553e926690368d238
Default Alt Text
lessc (4 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment