Приветствую.
На любом современном сайте подгружается множество скриптов. Применительно к инстанту — почти каждый компонент, модуль или плагин добавляет свой скрипт, без которого его работа невозможна. Количество подключаемых файлов может достигать несколько десятков (я у себя насчитал 25 файлов — js и css)...
Есть такая замечательная библиотека, как google minify. Она умеет объединять, уменьшать и кэшировать js и css файлы. Соответствующий плагин уже есть для Wordpress (называется WP-Minify).
Согласно тестам над WordPress использование библиотеки позволяет сократить количество HTTP-запросов и уменьшить объем CSS и JavaScript-файлов до 70%.
Кому интересно почитать про библиотеку, кидаю ссылки
1. http://code.google.com/p/minify/ отсюда можно скачать последнюю версию
2. htmlbook.ru
2. положить папку min/ в корень сайта (библиотека minify)
3. включить плагин в админке
4. по умолчанию он будет работать только под админом — проверить. Если все работает как надо, в настройках плагина включить его для всех (поставить ноль в поле "Режим тестирования").
Можно объединить скрипты в группу в файле min/groupsConfig.php. И подключать в шаблоне как
Где css — это название группы в файле groupsConfig (в файле есть пример создания такой группы).
Плагин качать тут
Библиотеку прямо с гуглкода
На любом современном сайте подгружается множество скриптов. Применительно к инстанту — почти каждый компонент, модуль или плагин добавляет свой скрипт, без которого его работа невозможна. Количество подключаемых файлов может достигать несколько десятков (я у себя насчитал 25 файлов — js и css)...
Есть такая замечательная библиотека, как google minify. Она умеет объединять, уменьшать и кэшировать js и css файлы. Соответствующий плагин уже есть для Wordpress (называется WP-Minify).
Ну а чем мы хуже?
Немного покопавшись, написал плагин для InstantCMS — работает на версиях 1.8 и 1.9. Его задача — перед выводом скриптов в шаблон обработать их и объединить в один.Согласно тестам над WordPress использование библиотеки позволяет сократить количество HTTP-запросов и уменьшить объем CSS и JavaScript-файлов до 70%.
Кому интересно почитать про библиотеку, кидаю ссылки
1. http://code.google.com/p/minify/ отсюда можно скачать последнюю версию
2. htmlbook.ru
Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст
Установка плагина проста до невозможности:
1. положить плагин в папку с плагинами2. положить папку min/ в корень сайта (библиотека minify)
3. включить плагин в админке
4. по умолчанию он будет работать только под админом — проверить. Если все работает как надо, в настройках плагина включить его для всех (поставить ноль в поле "Режим тестирования").
Можно объединить скрипты в группу в файле min/groupsConfig.php. И подключать в шаблоне как
Плагин качать тут
Библиотеку прямо с гуглкода
Реклама #
abasia 12 лет назад #
letsgo 12 лет назад #
ivanish 12 лет назад #
SJen 12 лет назад #
В конфиге можно еще увеличить время кэширования, там стоит 30 минут по умолчанию - можно выставить, скажем неделю.
Black-Raven90 12 лет назад #
SJen 12 лет назад #
для работы хватит одной min
Anonim 12 лет назад #
Вот так в UTF отображается название плагина в админке
Def 12 лет назад #
и не совсем понял как у куда вставлять CSS и скрипты?
можно пример файла?
ятак понял файлы CSS и скрипты надо вынести из шаблона вообще?
Tarhun 12 лет назад #
SJen 12 лет назад #
вообще я собирался указать cp1251 - но мог пропустить..
у меня сайт уже работает на UTF, и плагин использую под эту кодировку
Anonim 12 лет назад #
SJen 12 лет назад #
'jsmain' => array(
'//includes/jquery/jquery.js',
'//core/js/common.js',
'//includes/jquery/jquery.timers.js'
),
'css' => array(
'//templates/_default_/css/nyromodal.css',
'//templates/_default_/css/reset.css',
'//templates/_default_/css/text.css',
'//templates/_default_/css/screen.css',
'//templates/_default_/css/1180.css',
'//templates/_default_/css/styles.css',
'//templates/_default_/css/last.css',
'//templates/_default_/css/pechenuka.css',
'//news/wp-content/plugins/wp-postratings/postratings-css.css',
'//search/search.css',
'//includes/jquery/jquery.cluetip.css',
'//modules/mod_leftmenu/wp-dtree-30/wp-dtree.min.css'
)
}
это в файле groupsConfig.php, ну а в шаблоне подключаю <link href="/min/g=css" rel="stylesheet" />
"//" - в начале именно две кавычки, это важно
Tarhun 12 лет назад #
Я правильно понял?)
Anonim 12 лет назад #
Tarhun 12 лет назад #
Anonim 12 лет назад #
Tarhun 12 лет назад #
добавил все js файлы таким образом, затем и css файлы:
Нажал "update" и получил ссылку
Которую и вставил вместо своих ссылок на js и css фалов
Tarhun 12 лет назад #
SJen 12 лет назад #
Anonim 12 лет назад #
SJen 12 лет назад #
SJen 12 лет назад #
Поясню зачем объединять в группы - вот например у вас в template.php прописаны несколько скриптов и они плагином не обработаются, потому что он работает только с теми, что загружаются процедурой <?php cmsPrintHead(); ?> .
И вот эти скрипты, которые в template.php можно и объединить в одну группу и подгружать за один 1 раз (1 файл для js, 1 файл для css)
Но, конечно, можно и без групп
Tarhun 12 лет назад #
<script type="text/javascript" src="/includes/jquery/jquery.js"></script>
<script type="text/javascript" src="/core/js/common.js"></script>
после
<meta name="generator" content="InstantCMS - instantcms.ru"/>
В каком файле можно править эти 2 строчки?
SJen 12 лет назад #
тут
Tarhun 12 лет назад #
eoleg 12 лет назад #
SJen захожу на сайт и каспер ругается
SJen 12 лет назад #
eoleg 12 лет назад #
SJen 12 лет назад #
Dorimen 12 лет назад #
SJen 12 лет назад #
никаких познаний в областях программирования не требуется. Для более тонкой настройке - нужны какие-то знания, а для простой установки плагина - ничего не надо..
киньте в личку ссылку, посмотрю.
Anonim 12 лет назад #
SJen 12 лет назад #
плагин обработает только то, что возвращает функция cmsPrintHead(), вызываемая в шаблоне
Dorimen 12 лет назад #
Def 12 лет назад #
напиши плиз в аську если не сложно
SJen 12 лет назад #
он обрабатывает только те вещи, что добавили через функцию addHeadJS (так добавляют скрипты компоненты, модули, некоторые плагины)
PS в аську стукну
Anonim 12 лет назад #
1. закачан плагин в папку с плагинами
2. Включен в админке.
3. положить папку min/ в корень сайта (библиотека minify)
Как проверить, что все работает "как надо"?
Anonim 12 лет назад #
SJen 12 лет назад #
если сайт открывается как раньше, косяков нет и среди загруженных скриптов есть файл такого вида "min/f=" - значит все как надо.
Если что-то не работает, то не "как надо")
ivanish 12 лет назад #
GET /min/f=components/maps/systems/yandex/geo.js,components/maps/js/map.js,includes/jquery/jquery.form.js,,components/maps/city_select/nyromodal.js,components/maps/city_select/select.js 400 (Bad Request)
SJen 12 лет назад #
проверю, как у меня работает
letsgo 12 лет назад #
SJen 12 лет назад #
2. положить папку min/ в корень сайта (библиотека minify)
я наивно полагал, что второй пункт моей инструкции как раз однозначно и говорит о том, какую папку надо положить в корень сайте:))
letsgo 12 лет назад #
SJen 12 лет назад #
еще две папки для разработки, тестирования, ну и еще может для каких-то целей... описание и тд
Там кстати инструкция где-то есть (MIN.txt или Readme.txt) и там тоже написано, что нужно положить папку min/ в корень.
Я просто не планирую пока дописывать этот плагин, поэтому поделился "как есть". Сейчас нет на него времени, да и устраивает он и в таком варианте. А вообще, на его основе можно создать шикарную систему для оптимизации js и css файлов.
Еще момент - js скрипты ЛУЧШЕ подгружать в конце, перед закрывающимся </body>. У меня на сайте так и есть, можно увидеть в исходном коде. Большая часть грузится в конце, ну и немножко в начале (jquery.js обязательно в начале надо, иначе откажут работать некоторые скрипты, расположенные прямо в коде страницы)
Ramin 12 лет назад #
Dorimen 12 лет назад #
SJen 12 лет назад #
Dorimen 12 лет назад #
SJen 12 лет назад #
2. напишите мне в личку адрес сайта, я посмотрю и отвечу в чем дело(только вам придется меня админом сделать на время, чтобы я увидел результат). Ну и предложу вариант ускорения, если не на 100% как задумано, то хотя бы максимально с учетом особенностей карты.
Но это все завтра.
Anonim 12 лет назад #
fgvyguyu 12 лет назад #
fact 12 лет назад #
fact 12 лет назад #
SJen 12 лет назад #
если я сам буду делать универсальную версию с максимальной оптимизацией на скорость и с учетом работы всех компонентов, то версия точно будет платной) Я же наоборот хотел дать очень простое бесплатное решение, которое каждый сам сможет "помучить".
GarikKR 12 лет назад #
SJen 12 лет назад #
хотя и не такой хороший как вместе со скриптами
SJen 12 лет назад #
Но если добавить кэширование скриптов на сервере, то будет очень приличная штука
Dorimen 12 лет назад #
SJen 12 лет назад #
Сделаю кэш, вещь очень нужная, по сроками ничего не обещаю но обязательно доберусь
Anonim 12 лет назад #
SJen 12 лет назад #
Ну а насчет "включения многих компонентов" - аудитория пока не готова к полному погружению, будем постепенно включать.
letsgo 12 лет назад #
Def 12 лет назад #
Def 12 лет назад #
jane_devil 11 лет назад #