diff --git a/README.md b/README.md
index 55324df..a569827 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@ CSS properties in specific order
## Installation
-This mixin will be installable with Chocolat's Extras Manager when the new version is released. Until then, do something like:
+This mixin is be installable with Chocolat using the `Actions > Instal Mixins...` menu. Alternatively, you can clone the source with something like:
mkdir -p ~/Library/Application\ Support/Chocolat/Mixins/
git clone https://github.com/drudge/csscomb.chocmixin.git ~/Library/Application\ Support/Chocolat/Mixins/csscomb.chocmixin
@@ -24,7 +24,7 @@ The following are the major contributors in no specific order:
(The MIT License)
-Copyright (c) 2012 Nicholas Penree <nick@penree.com>
+Copyright (c) 2013 Nicholas Penree <nick@penree.com>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
diff --git a/csscomb.php b/csscomb.php
deleted file mode 100644
index d0a7cbb..0000000
--- a/csscomb.php
+++ /dev/null
@@ -1,1581 +0,0 @@
-
- * @license MIT
- * @web http://csscomb.com/
- */
-
-error_reporting(E_ALL);
-
-class csscomb{
-
- var $sort_order = Array(),
- $code = Array(
- // оригинальный код, без изменений, то, что пришло на вход
- 'original' => null,
- // код, который может меняться в процессе выполнения алгоритма пересортировки
- 'edited' => null,
- // TODO: избавиться от resorted
- // конечный, пересортированный CSS-код
- 'resorted' => null,
- // если найдены expression, то эта переменная станет массивом, ячейки которого
- // будут содержать код каждого найденного expression
- 'expressions' => null,
- // если найдены data uri, то эта переменная станет массивом...
- 'datauri' => null,
- // если найдены интерполированные переменные, то эта переменная станет массивом
- 'interpolations' => null,
- // Игнорируем комментарии
- 'comments' => null,
- 'inlinecomments' => null,
- 'magicComments' => null,
- // если найдены CSS-хаки мешающие парсить, то эта переменная станет массивом...
- 'hacks' => null,
- // если найдены комментарии содержащие { или } мешающие парсить,
- // то эта переменная станет массивом.
- 'braces' => null,
- // если найдены entities мешающие парсить, то эта переменная станет массивом.
- 'entities' => null
- ),
-
- // В переменной $mode лежит режим работы с CSS-кодом. Возможны следующие значения:
- // css-file - только CSS-код
- // style-attribute - найден атрибут style="..."
- // properties - не найдено фигурных скобок, зато присутствуют точки с запятой и двоеточия.
- $mode = 'properties',
-
- $default_sort_order = '[
- "position",
- "top",
- "right",
- "bottom",
- "left",
- "z-index",
- "display",
- "visibility",
- "-webkit-flex-direction",
- "-moz-flex-direction",
- "-ms-flex-direction",
- "-o-flex-direction",
- "flex-direction",
- "-webkit-flex-order",
- "-moz-flex-order",
- "-ms-flex-order",
- "-o-flex-order",
- "flex-order",
- "-webkit-flex-pack",
- "-moz-flex-pack",
- "-ms-flex-pack",
- "-o-flex-pack",
- "flex-pack",
- "float",
- "clear",
- "-webkit-flex-align",
- "-moz-flex-align",
- "-ms-flex-align",
- "-o-flex-align",
- "flex-align",
- "overflow",
- "-ms-overflow-x",
- "-ms-overflow-y",
- "overflow-x",
- "overflow-y",
- "clip",
- "-webkit-box-sizing",
- "-moz-box-sizing",
- "box-sizing",
- "margin",
- "margin-top",
- "margin-right",
- "margin-bottom",
- "margin-left",
- "padding",
- "padding-top",
- "padding-right",
- "padding-bottom",
- "padding-left",
- "min-width",
- "min-height",
- "max-width",
- "max-height",
- "width",
- "height",
- "outline",
- "outline-width",
- "outline-style",
- "outline-color",
- "outline-offset",
- "border",
- "border-spacing",
- "border-collapse",
- "border-width",
- "border-style",
- "border-color",
- "border-top",
- "border-top-width",
- "border-top-style",
- "border-top-color",
- "border-right",
- "border-right-width",
- "border-right-style",
- "border-right-color",
- "border-bottom",
- "border-bottom-width",
- "border-bottom-style",
- "border-bottom-color",
- "border-left",
- "border-left-width",
- "border-left-style",
- "border-left-color",
- "-webkit-border-radius",
- "-moz-border-radius",
- "border-radius",
- "-webkit-border-top-left-radius",
- "-moz-border-radius-topleft",
- "border-top-left-radius",
- "-webkit-border-top-right-radius",
- "-moz-border-radius-topright",
- "border-top-right-radius",
- "-webkit-border-bottom-right-radius",
- "-moz-border-radius-bottomright",
- "border-bottom-right-radius",
- "-webkit-border-bottom-left-radius",
- "-moz-border-radius-bottomleft",
- "border-bottom-left-radius",
- "-webkit-border-image",
- "-moz-border-image",
- "-o-border-image",
- "border-image",
- "-webkit-border-image-source",
- "-moz-border-image-source",
- "-o-border-image-source",
- "border-image-source",
- "-webkit-border-image-slice",
- "-moz-border-image-slice",
- "-o-border-image-slice",
- "border-image-slice",
- "-webkit-border-image-width",
- "-moz-border-image-width",
- "-o-border-image-width",
- "border-image-width",
- "-webkit-border-image-outset",
- "-moz-border-image-outset",
- "-o-border-image-outset",
- "border-image-outset",
- "-webkit-border-image-repeat",
- "-moz-border-image-repeat",
- "-o-border-image-repeat",
- "border-image-repeat",
- "-webkit-border-top-image",
- "-moz-border-top-image",
- "-o-border-top-image",
- "border-top-image",
- "-webkit-border-right-image",
- "-moz-border-right-image",
- "-o-border-right-image",
- "border-right-image",
- "-webkit-border-bottom-image",
- "-moz-border-bottom-image",
- "-o-border-bottom-image",
- "border-bottom-image",
- "-webkit-border-left-image",
- "-moz-border-left-image",
- "-o-border-left-image",
- "border-left-image",
- "-webkit-border-corner-image",
- "-moz-border-corner-image",
- "-o-border-corner-image",
- "border-corner-image",
- "-webkit-border-top-left-image",
- "-moz-border-top-left-image",
- "-o-border-top-left-image",
- "border-top-left-image",
- "-webkit-border-top-right-image",
- "-moz-border-top-right-image",
- "-o-border-top-right-image",
- "border-top-right-image",
- "-webkit-border-bottom-right-image",
- "-moz-border-bottom-right-image",
- "-o-border-bottom-right-image",
- "border-bottom-right-image",
- "-webkit-border-bottom-left-image",
- "-moz-border-bottom-left-image",
- "-o-border-bottom-left-image",
- "border-bottom-left-image",
- "background",
- "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader",
- "background-color",
- "background-image",
- "background-attachment",
- "background-position",
- "-ms-background-position-x",
- "-ms-background-position-y",
- "background-position-x",
- "background-position-y",
- "-webkit-background-clip",
- "-moz-background-clip",
- "background-clip",
- "background-origin",
- "-webkit-background-size",
- "-moz-background-size",
- "-o-background-size",
- "background-size",
- "background-repeat",
- "box-decoration-break",
- "-webkit-box-shadow",
- "-moz-box-shadow",
- "box-shadow",
- "color",
- "table-layout",
- "caption-side",
- "empty-cells",
- "list-style",
- "list-style-position",
- "list-style-type",
- "list-style-image",
- "quotes",
- "content",
- "counter-increment",
- "counter-reset",
- "-ms-writing-mode",
- "vertical-align",
- "text-align",
- "-webkit-text-align-last",
- "-moz-text-align-last",
- "-ms-text-align-last",
- "text-align-last",
- "text-decoration",
- "text-emphasis",
- "text-emphasis-position",
- "text-emphasis-style",
- "text-emphasis-color",
- "text-indent",
- "-ms-text-justify",
- "text-justify",
- "text-outline",
- "text-transform",
- "text-wrap",
- "-ms-text-overflow",
- "text-overflow",
- "text-overflow-ellipsis",
- "text-overflow-mode",
- "text-shadow",
- "white-space",
- "word-spacing",
- "-ms-word-wrap",
- "word-wrap",
- "-ms-word-break",
- "word-break",
- "-moz-tab-size",
- "-o-tab-size",
- "tab-size",
- "-webkit-hyphens",
- "-moz-hyphens",
- "hyphens",
- "letter-spacing",
- "font",
- "font-weight",
- "font-style",
- "font-variant",
- "font-size-adjust",
- "font-stretch",
- "font-size",
- "font-family",
- "src",
- "line-height",
- "opacity",
- "-ms-filter:\'progid:DXImageTransform.Microsoft.Alpha",
- "filter:progid:DXImageTransform.Microsoft.Alpha(Opacity",
- "-ms-interpolation-mode",
- "-webkit-filter",
- "-ms-filter",
- "filter",
- "resize",
- "cursor",
- "nav-index",
- "nav-up",
- "nav-right",
- "nav-down",
- "nav-left",
- "-webkit-transition",
- "-moz-transition",
- "-ms-transition",
- "-o-transition",
- "transition",
- "-webkit-transition-delay",
- "-moz-transition-delay",
- "-ms-transition-delay",
- "-o-transition-delay",
- "transition-delay",
- "-webkit-transition-timing-function",
- "-moz-transition-timing-function",
- "-ms-transition-timing-function",
- "-o-transition-timing-function",
- "transition-timing-function",
- "-webkit-transition-duration",
- "-moz-transition-duration",
- "-ms-transition-duration",
- "-o-transition-duration",
- "transition-duration",
- "-webkit-transition-property",
- "-moz-transition-property",
- "-ms-transition-property",
- "-o-transition-property",
- "transition-property",
- "-webkit-transform",
- "-moz-transform",
- "-ms-transform",
- "-o-transform",
- "transform",
- "-webkit-transform-origin",
- "-moz-transform-origin",
- "-ms-transform-origin",
- "-o-transform-origin",
- "transform-origin",
- "-webkit-animation",
- "-moz-animation",
- "-ms-animation",
- "-o-animation",
- "animation",
- "-webkit-animation-name",
- "-moz-animation-name",
- "-ms-animation-name",
- "-o-animation-name",
- "animation-name",
- "-webkit-animation-duration",
- "-moz-animation-duration",
- "-ms-animation-duration",
- "-o-animation-duration",
- "animation-duration",
- "-webkit-animation-play-state",
- "-moz-animation-play-state",
- "-ms-animation-play-state",
- "-o-animation-play-state",
- "animation-play-state",
- "-webkit-animation-timing-function",
- "-moz-animation-timing-function",
- "-ms-animation-timing-function",
- "-o-animation-timing-function",
- "animation-timing-function",
- "-webkit-animation-delay",
- "-moz-animation-delay",
- "-ms-animation-delay",
- "-o-animation-delay",
- "animation-delay",
- "-webkit-animation-iteration-count",
- "-moz-animation-iteration-count",
- "-ms-animation-iteration-count",
- "-o-animation-iteration-count",
- "animation-iteration-count",
- "-webkit-animation-direction",
- "-moz-animation-direction",
- "-ms-animation-direction",
- "-o-animation-direction",
- "animation-direction",
- "pointer-events",
- "unicode-bidi",
- "direction",
- "-webkit-columns",
- "-moz-columns",
- "columns",
- "-webkit-column-span",
- "-moz-column-span",
- "column-span",
- "-webkit-column-width",
- "-moz-column-width",
- "column-width",
- "-webkit-column-count",
- "-moz-column-count",
- "column-count",
- "-webkit-column-fill",
- "-moz-column-fill",
- "column-fill",
- "-webkit-column-gap",
- "-moz-column-gap",
- "column-gap",
- "-webkit-column-rule",
- "-moz-column-rule",
- "column-rule",
- "-webkit-column-rule-width",
- "-moz-column-rule-width",
- "column-rule-width",
- "-webkit-column-rule-style",
- "-moz-column-rule-style",
- "column-rule-style",
- "-webkit-column-rule-color",
- "-moz-column-rule-color",
- "column-rule-color",
- "break-before",
- "break-inside",
- "break-after",
- "page-break-before",
- "page-break-inside",
- "page-break-after",
- "orphans",
- "widows",
- "-ms-zoom",
- "zoom",
- "max-zoom",
- "min-zoom",
- "user-zoom",
- "orientation"
- ]',
-
- $yandex_sort_order = '[
- [
- "position",
- "z-index",
- "top",
- "right",
- "bottom",
- "left"
- ],
- [
- "display",
- "visibility",
- "float",
- "clear",
- "overflow",
- "overflow-x",
- "overflow-y",
- "-ms-overflow-x",
- "-ms-overflow-y",
- "clip",
- "zoom",
- "flex-direction",
- "flex-order",
- "flex-pack",
- "flex-align"
- ],
- [
- "-webkit-box-sizing",
- "-moz-box-sizing",
- "box-sizing",
- "width",
- "min-width",
- "max-width",
- "height",
- "min-height",
- "max-height",
- "margin",
- "margin-top",
- "margin-right",
- "margin-bottom",
- "margin-left",
- "padding",
- "padding-top",
- "padding-right",
- "padding-bottom",
- "padding-left"
- ],
- [
- "table-layout",
- "empty-cells",
- "caption-side",
- "border-spacing",
- "border-collapse",
- "list-style",
- "list-style-position",
- "list-style-type",
- "list-style-image"
- ],
- [
- "content",
- "quotes",
- "counter-reset",
- "counter-increment",
- "resize",
- "cursor",
- "nav-index",
- "nav-up",
- "nav-right",
- "nav-down",
- "nav-left",
- "-webkit-transition",
- "-moz-transition",
- "-ms-transition",
- "-o-transition",
- "transition",
- "-webkit-transition-delay",
- "-moz-transition-delay",
- "-ms-transition-delay",
- "-o-transition-delay",
- "transition-delay",
- "-webkit-transition-timing-function",
- "-moz-transition-timing-function",
- "-ms-transition-timing-function",
- "-o-transition-timing-function",
- "transition-timing-function",
- "-webkit-transition-duration",
- "-moz-transition-duration",
- "-ms-transition-duration",
- "-o-transition-duration",
- "transition-duration",
- "-webkit-transition-property",
- "-moz-transition-property",
- "-ms-transition-property",
- "-o-transition-property",
- "transition-property",
- "-webkit-transform",
- "-moz-transform",
- "-ms-transform",
- "-o-transform",
- "transform",
- "-webkit-transform-origin",
- "-moz-transform-origin",
- "-ms-transform-origin",
- "-o-transform-origin",
- "transform-origin",
- "-webkit-animation",
- "-moz-animation",
- "-ms-animation",
- "-o-animation",
- "animation",
- "-webkit-animation-name",
- "-moz-animation-name",
- "-ms-animation-name",
- "-o-animation-name",
- "animation-name",
- "-webkit-animation-duration",
- "-moz-animation-duration",
- "-ms-animation-duration",
- "-o-animation-duration",
- "animation-duration",
- "-webkit-animation-play-state",
- "-moz-animation-play-state",
- "-ms-animation-play-state",
- "-o-animation-play-state",
- "animation-play-state",
- "-webkit-animation-timing-function",
- "-moz-animation-timing-function",
- "-ms-animation-timing-function",
- "-o-animation-timing-function",
- "animation-timing-function",
- "-webkit-animation-delay",
- "-moz-animation-delay",
- "-ms-animation-delay",
- "-o-animation-delay",
- "animation-delay",
- "-webkit-animation-iteration-count",
- "-moz-animation-iteration-count",
- "-ms-animation-iteration-count",
- "-o-animation-iteration-count",
- "animation-iteration-count",
- "-webkit-animation-iteration-count",
- "-moz-animation-iteration-count",
- "-ms-animation-iteration-count",
- "-o-animation-iteration-count",
- "animation-iteration-count",
- "-webkit-animation-direction",
- "-moz-animation-direction",
- "-ms-animation-direction",
- "-o-animation-direction",
- "animation-direction",
- "text-align",
- "-webkit-text-align-last",
- "-moz-text-align-last",
- "-ms-text-align-last",
- "text-align-last",
- "vertical-align",
- "white-space",
- "text-decoration",
- "text-emphasis",
- "text-emphasis-color",
- "text-emphasis-style",
- "text-emphasis-position",
- "text-indent",
- "-ms-text-justify",
- "text-justify",
- "text-transform",
- "letter-spacing",
- "word-spacing",
- "-ms-writing-mode",
- "text-outline",
- "text-transform",
- "text-wrap",
- "text-overflow",
- "-ms-text-overflow",
- "text-overflow-ellipsis",
- "text-overflow-mode",
- "-ms-word-wrap",
- "word-wrap",
- "word-break",
- "-ms-word-break",
- "-moz-tab-size",
- "-o-tab-size",
- "tab-size",
- "-webkit-hyphens",
- "-moz-hyphens",
- "hyphens",
- "pointer-events"
- ],
- [
- "opacity",
- "filter:progid:DXImageTransform.Microsoft.Alpha(Opacity",
- "-ms-filter:\'progid:DXImageTransform.Microsoft.Alpha",
- "-ms-interpolation-mode",
- "color",
- "border",
- "border-collapse",
- "border-width",
- "border-style",
- "border-color",
- "border-top",
- "border-top-width",
- "border-top-style",
- "border-top-color",
- "border-right",
- "border-right-width",
- "border-right-style",
- "border-right-color",
- "border-bottom",
- "border-bottom-width",
- "border-bottom-style",
- "border-bottom-color",
- "border-left",
- "border-left-width",
- "border-left-style",
- "border-left-color",
- "-webkit-border-radius",
- "-moz-border-radius",
- "border-radius",
- "-webkit-border-top-left-radius",
- "-moz-border-radius-topleft",
- "border-top-left-radius",
- "-webkit-border-top-right-radius",
- "-moz-border-radius-topright",
- "border-top-right-radius",
- "-webkit-border-bottom-right-radius",
- "-moz-border-radius-bottomright",
- "border-bottom-right-radius",
- "-webkit-border-bottom-left-radius",
- "-moz-border-radius-bottomleft",
- "border-bottom-left-radius",
- "-webkit-border-image",
- "-moz-border-image",
- "-o-border-image",
- "border-image",
- "-webkit-border-image-source",
- "-moz-border-image-source",
- "-o-border-image-source",
- "border-image-source",
- "-webkit-border-image-slice",
- "-moz-border-image-slice",
- "-o-border-image-slice",
- "border-image-slice",
- "-webkit-border-image-width",
- "-moz-border-image-width",
- "-o-border-image-width",
- "border-image-width",
- "-webkit-border-image-outset",
- "-moz-border-image-outset",
- "-o-border-image-outset",
- "border-image-outset",
- "-webkit-border-image-repeat",
- "-moz-border-image-repeat",
- "-o-border-image-repeat",
- "border-image-repeat",
- "outline",
- "outline-width",
- "outline-style",
- "outline-color",
- "outline-offset",
- "background",
- "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader",
- "background-color",
- "background-image",
- "background-repeat",
- "background-attachment",
- "background-position",
- "background-position-x",
- "-ms-background-position-x",
- "background-position-y",
- "-ms-background-position-y",
- "-webkit-background-clip",
- "-moz-background-clip",
- "background-clip",
- "background-origin",
- "-webkit-background-size",
- "-moz-background-size",
- "-o-background-size",
- "background-size",
- "box-decoration-break",
- "-webkit-box-shadow",
- "-moz-box-shadow",
- "box-shadow",
- "-webkit-box-shadow",
- "-moz-box-shadow",
- "box-shadow",
- "-webkit-box-shadow",
- "-moz-box-shadow",
- "box-shadow",
- "-webkit-box-shadow",
- "-moz-box-shadow",
- "box-shadow",
- "filter:progid:DXImageTransform.Microsoft.gradient",
- "-ms-filter:\'progid:DXImageTransform.Microsoft.gradient",
- "text-shadow"
- ],
- [
- "font",
- "font-family",
- "font-size",
- "font-weight",
- "font-style",
- "font-variant",
- "font-size-adjust",
- "font-stretch",
- "font-effect",
- "font-emphasize",
- "font-emphasize-position",
- "font-emphasize-style",
- "font-smooth",
- "line-height"
- ]
- ]';
-
- /**
- * @param string css
- * @param boolean debug, OPTIONAL
- * @param json custom_sort_order JSON expected, OPTIONAL
- * @return string|false
- *
- * @TODO: https://github.com/miripiruni/CSScomb/issues/21
- *
- * Example:
- *
- *
- * require_once 'PATH_TO_CSScomb/csscomb.php';
- *
- * $c = new csscomb();
- * $result_code = $c->csscomb(
- * 'div {margin-top:0; color: red; display: inline;}',
- * false,
- * $MY_JSON_SORT_ORDER
- * );
- *
- *
- */
- function csscomb($css = '', $debug = false, $custom_sort_order = null) {
- $this->output = $debug ? true : false;
-
- if ($css && is_string($css)) {
- $this->code['original'] = $this->code['edited'] = $css;
- $this->set_mode();
- $this->set_sort_order($custom_sort_order);
- $this->preprocess();
- $this->parse_rules();
- $this->postprocess();
- return $this->end_of_process();
- } else {
- return false;
- }
- }
-
-
- /**
- * Функция устанавливает $this->sort_order
- *
- * @param json_array {string/JSON}
- *
- */
- function set_sort_order($json_array = null) {
- $this->sort_order = json_decode($this->default_sort_order);
-
- if ($json_array !== null) {
- $custom_sort_order = json_decode($json_array);
- if (is_array($custom_sort_order) AND count($custom_sort_order) > 0) {
- $this->sort_order = $custom_sort_order;
- }
- }
-
- if ($json_array === 'yandex') {
- $this->sort_order = json_decode($this->yandex_sort_order);
- //switch(json_last_error()) {
- //case JSON_ERROR_DEPTH:
- //echo 'JSON parse error: Достигнута максимальная глубина стека';
- //break;
- //case JSON_ERROR_STATE_MISMATCH:
- //echo 'JSON parse error: Некорректные разряды или не совпадение режимов';
- //break;
- //case JSON_ERROR_CTRL_CHAR:
- //echo 'JSON parse error: Некорректный управляющий символ';
- //break;
- //case JSON_ERROR_SYNTAX:
- //echo 'JSON parse error: Синтаксическая ошибка, не корректный JSON';
- //break;
- //}
- }
- }
-
-
- /**
- * Функция устанавливает $this->mode
- *
- * @TODO: а если и тег
-
'.$before.'';
- echo '
';
- echo '
';
- echo ''.var_dump($after).'