Вопросы по MinifyX. Minifix modx


Snippet / MinifyX / Components / docs.modx.pro

Automate comprassion and chaching of scrips and styles on the site.

Parameters

Name Description
&cacheFolder folder to keep ready files.
&cssFilename basic name of ready CSS file.
&cssPlaceholder name of CSS placeholder. It is used if &registerCss=`placeholder`
&cssSources list of CSS files for handling. «*.css», «*.less» и «*.scss» can be indicated.
&forceUpdate disable the check of file updating and every time generate new scripts and styles.
&jsFilename basic name for ready JS file.
&jsPlaceholder name of placeholder javascript. It is used if &registerJs=`placeholder`
&jsSources list of JS files for handling. «*.js» и «*.coffee» can be indicated.
&minifyCss initiate CSS modification?
&minifyJs initiate JS modification?
&registerCss connection of css: can be saved in placeholder «placeholder» or activated in tag <head> - «default».
&registerJs connection of javascript: can be saved in placeholder «placeholder», activated in tag <head> - «startup» or place before closing <body> - «default».

Samples

Output of snippet with auto style registration before </head> and scripts before </body>:

[[MinifyX? &minifyCss=`1` &minifyJs=`1` &registerCss=`default` &registerJs=`default` &cssSources=` assets/templates/himyf/css/normalize.css, assets/templates/himyf/css/foundation.css, assets/templates/himyf/css/font-awesome.css, assets/templates/himyf/css/app.css ` &jsSources=` assets/templates/himyf/js/foundation.js ` ]]

Output of snippet work to placeholders &cssPlaceholder on default [[+MinifyX.css]] and &jsPlaceholder on default [[+MinifyX.javascript]]:

[[MinifyX? &minifyCss=`1` &minifyJs=`1` &cssSources=` assets/templates/himyf/css/normalize.css, assets/templates/himyf/css/foundation.css, assets/templates/himyf/css/font-awesome.css, assets/templates/himyf/css/app.css ` &jsSources=` assets/templates/himyf/js/foundation.js ` ]] [[+MinifyX.css]] [[+MinifyX.javascript]]

docs.modx.pro

Вопросы по MinifyX / modx.pro

Каждый раз прежде, когда пытался использовать это дополнение, натыкался на нерешимые преграды и отказывался, так и не исследовав всё до конца. Но в текущий проект большой и требует серьёзной оптимизации — вот и пытаюсь последние 2 дня разобраться что откуда растёт. Итак, у меня следующие вопросы по использованию MinifiX:
  1. Можно ли настроить уровень сжатия css? Хотелось бы получить минифицированный в 1 строку файл, а то получается файл из тысяч строк кода… А минифицировать в одну строчку рабочий файл стилей и подключать его минифицированным как-то неправильно — ведь потом с ним ещё работать...
  2. Обрабатывает уже сжатые файлы. Почему-то некоторые минифицированные мною файлы в одну строку с префиксом .min он всё равно разделяет на строки добавляя в общий файл стилей.
  3. минифицированные файлы некоторые обрабатывает. Закономерность такого поведения ещё не нашел.
  4. Иконки fontawesome из уикита при подключении через MinifyX иногда непонятно почему превращаются в иероглифы:
  5. Что делать с необработанными файлами? Хотя системная настройка minifyx_process_registered включена, у меня всё равно не обрабатываются и подключаются в конец head и body следующие файлы:<link rel="stylesheet" type="text/css" href="/assets/components/tickets/js/web/lib/prettify/prettify.css"> <script src="/assets/components/office/js/main/lib/jquery.form.min.js"></script> <script src="/assets/components/office/js/main/lib/jquery.jgrowl.min.js"></script> <script src="/assets/components/tickets/js/web/lib/jquery.form.min.js"></script> <script src="/assets/components/tickets/js/web/lib/jquery.jgrowl.min.js"></script> <script src="/assets/components/tickets/js/web/lib/jquery.sisyphus.min.js"></script> <script src="/assets/components/ajaxform/js/lib/jquery.form.min.js"></script> <script src="/assets/components/ajaxform/js/lib/jquery.jgrowl.min.js"></script> <script src="/assets/components/ajaxform/js/lib/jquery.form.min.js"></script> <script src="/assets/components/ajaxform/js/lib/jquery.jgrowl.min.js"></script>
  6. Повторяющиеся файлы. И кстати, зачем одни и те же скрипты подключаются каждым компонентом отдельно? В примере из прошлого пункта видно что скрипты jquery.form.min.js и jquery.jgrowl.min.js подключаются 4 раза на одной странице 3-мя разными компонентами!
  7. РЕШЕНО. Не подхватывает сырой код между тегами style и scripts. Все мозги себе сломал, пока не понял, что обрабатывается только тот код в этих тегах, который регистрируется через методы modX::regClientScript, modX::regClientCSS и т.п. Как-то неявно это было описано, а скорее всего это я не совсем понимал и зациклился на описании системных параметров minifyx_processRawJs и minifyx_processRawCss, где не упоминается что код должен быть зарегистрирован этими методами. У меня на сайте очень много js-кода разнесено по чанкам, т.к. там подставляются различные переменные системой. В итоге решил эту проблему на феноме путём добавления такой строки для каждого чанка:{$_modx->regClientHTMLBlock($_modx->getChunk('scripts.ajax'))} {$_modx->regClientHTMLBlock($_modx->getChunk('scripts.modal'))}
P.S. Понятное дело что все системные параметры минификса включены, кроме обработки изображений (они мне не нужны).

modx.pro

MinifyX MODX Revolution. Уменьшение нагрузки на сервер MODX

MinifyX - это сниппет, позволяющий комбинировать JS и CSS файлы для уменьшения нагрузки на сервер и оптимизации скорости загрузки.

MinifyX создан и поддерживается SCHERP Ontwikkeling

Системные требования

Для работы MinifyX требуется MODX® Revolution 2.2.0 или более новой версии.

История создания

Версия

Дата опубликования

Автор

Изменения

1.0.0-PL1

26 марта 2012

Patrick Nijkamp (SCHERP Ontwikkeling)

Первый выпуск

1.1.0-PL

09 сентября 2012

Vasiliy Naumkin

Уменьшен размер и переработан код.

Загрузка и установка

Установка производится с помощью MODX® package manager.

MinifyX объединяет файлы в один кэш-файл и загружает их из него. Если объединяете CSS файлы, то нужно использовать абсолютные пути при использовании изображений или других URL-зависимых вызовов, то же самое касается javascript. Некоторые фреймворки используют бутлоадеры (подобно EXT), которые должны быть в соответствующей директории до начала работы. Убедитесь в отсутствии этой ловушки, это сэкономит много времени .

Размещение сниппета.

Разместите основной вызов сниппета [[MinifyX]] на странице. Размещенный сниппет позволяет ассоциировать странице нижеприведенные плейсхолдеры:

Версия

Дата опубликования

Автор

Изменения

1.0.0-PL1

26 марта 2012

Patrick Nijkamp (SCHERP Ontwikkeling)

Первый выпуск

1.1.0-PL

09 сентября 2012

Vasiliy Naumkin

Уменьшен размер и переработан код.

Конфигурирование параметров

Настройка MinifyX может быть произведена с помощью следующих параметров:

Параметр

Описание

Значение

Значение по умолчанию

Необходимость

jsSources

Список (разделитель - запятая) URL к JS файлам из базы сайта.

Строковое значение, разделенное запятой

(пусто)

нет

cssSources

Список (разделитель - запятая) URL к CSS файлам из базы сайта.

Строковое значение, разделенное запятой

(пусто)

нет

minifyCss

Нужно ли уменьшать размер CSS или нет

0 = нет, 1 = да

0

нет

minifyJs

Нужно ли уменьшать размер JS или нет (разрешено только для блока комментариев, экспериментальная опция!)

0 = нет, 1 = да

0

нет

cacheFolder

Основной URL с сайта к папке для кэша файлов.

Строковое

assets/components/minifyx/cache/

нет

jsFilename

Имя базы расположения js файла, без расширения

Строковое

scripts

cssFilename

Имя базы расположения css файла, без расширения

Строковое

styles

Примеры

Ниже вы найдете описание основного вызова сниппета и расположения плейсхолдеров. Каждый параметр опционален, необязателен, мы просто использовали некоторые возможности для настройки.

<html> <head> [[MinifyX? &jsSources=` /assets/myframework.js, /assets/lightbox.js, /assets/script.js` &cssSources=` /assets/style1.css, /assets/style2.css` ]] [[+MinifyX.javascript]] [[+MinifyX.css]] </head> <body></body> </html>

www.modx.cc


Prostoy-Site | Все права защищены © 2018 | Карта сайта