Перейти к содержанию
Официальный форум поддержки Simpla

Сжатие HTML кода


Рекомендуемые сообщения

Класс для сжатия HTML кода который выводится в выводится в браузере.

 

ДО:

 

 

ПОСЛЕ:

 

1. Ставим файл в корневую папку.

 

2. Меняем на любую папку кеша, создаем ее и ставим права 777.

$cacheDir = dirname(__FILE__) . '/dwccache';

 

3.В index.php в самом верху подключаем компрессор

include_once('compressor.php');

 

Готово!

 

P.S. Что не надо компрессить, оборачиваем в тег в своем .tpl файле

<dwcescape>
Сжиматься<br/>
не будет
</dwcescape>

P.S. Сжатие ~10-15% получается, что хорошо, но не много в килобайтовом эквиваленте (10-15 кб), но это часть оптимизации

compressor.php

Изменено пользователем xavior
Ссылка на сообщение
Поделиться на другие сайты

Класс для сжатия HTML кода который выводится в выводится в браузере.

 

ДО:

 

 

ПОСЛЕ:

 

1. Ставим файл в корневую папку.

 

2. Меняем на любую папку кеша, создаем ее и ставим права 777.

$cacheDir = dirname(__FILE__) . '/dwccache';

 

3.В index.php в самом верху подключаем компрессор

include_once('compressor.php');

 

Готово!

 

P.S. Что не надо компрессить, оборачиваем в тег в своем .tpl файле

<dwcescape>
Сжиматься<br/>
не будет
</dwcescape>

P.S. Сжатие ~10-15% получается, что хорошо, но не много в килобайтовом эквиваленте (10-15 кб), но это часть оптимизации

Не знаю как у всех, но у меня после этого отключилась всплывающие подсказки для администратора.

Ссылка на сообщение
Поделиться на другие сайты

Не знаю как у всех, но у меня после этого отключилась всплывающие подсказки для администратора.

 

Работает замечательно, ничего не отваливается. Спасибо Xavior, нужная вещь!  :)

Ссылка на сообщение
Поделиться на другие сайты

А для чего это нужно? Могу предположить две причины:

1. Чтобы посетители не смогли код HTML скопировать в удобочитаемом виде? Кому надо, тот без особого труда получить удобочитаемый код...

2. Чтобы время передачи с сервера уменьшить? Так для этого есть gzip - куда эффективнее ...

Ссылка на сообщение
Поделиться на другие сайты

А для чего это нужно? Могу предположить две причины:

1. Чтобы посетители не смогли код HTML скопировать в удобочитаемом виде? Кому надо, тот без особого труда получить удобочитаемый код...

2. Чтобы время передачи с сервера уменьшить? Так для этого есть gzip - куда эффективнее ...

 

Включение Gzip увеличивает нагрузку ресурса на сервер, поправьте если я ошибаюсь...

Ссылка на сообщение
Поделиться на другие сайты

Конечно, увеличивает. Но и уменьшает объем передаваемой информации, иногда в 5-10 раз.

Но включение предлагаемого сжатия тоже увеличивает нагрузку, однако Вас это не смущает и Вы говорите -  средство это очень хорошее.

Вряд ли Вы проводили сравнительные тесты - что насколько увеличивает...

 

И основной вопрос - чем хорошо предлагаемое средство и какие имеет плюсы - Вы проигнорировали...

Ссылка на сообщение
Поделиться на другие сайты

И основной вопрос - чем хорошо предлагаемое средство и какие имеет плюсы - Вы проигнорировали...

 

Сравнительные тесты не проводились. Полагался на то, что Xavior знает о существовании Gzip, и подозреваю, что он не стал бы изобретать велосипед (к тому же у него в профиле программирование), если бы были преимущества Gzip. Могу ошибаться, но лучше если ответ даст сам автор.  :)

Ссылка на сообщение
Поделиться на другие сайты

Если мне не изменяет память, что в штатный функционал (или доп. модулем, не помню) самого шаблонизатора Smatry входит такая возможность.

 

Я убирал только всякие отступы и пустые строки, просто добавив строку

$this->smarty->loadFilter( 'output', 'trimwhitespace' );

в файле api/Design.php

Ссылка на сообщение
Поделиться на другие сайты

А для чего это нужно? 

 

Сорри за поздние ответы, сжатие страницы делается не для того, чтобы усложнить читаемость кода (хотя это тоже), а больше для сжатия самого кода, убирания комментариев в html и т.д (даже если это экономит около 10кб)

 

А вообще, я гнался за PageSpeed оценкой, не сложными манипуляциями (помимо сжатия html) поднял оценку с 48/100 до 92/100

 

п.с. Мой compressor.php убирал местами "нужный" код на внутр страницах, так что проверяйте перед использованием

Изменено пользователем xavior
Ссылка на сообщение
Поделиться на другие сайты

А вот интересно, если Вы замените собственное сжатие на стандартное с помощью smarty_html_minify, как это скажется на результатах PageSpeed? Может, попробуете?

Ссылка на сообщение
Поделиться на другие сайты

А вот интересно, если Вы замените собственное сжатие на стандартное с помощью smarty_html_minify, как это скажется на результатах PageSpeed? Может, попробуете?

1. smarty_html_minify = true; прописал, смотрю исходный код страницы, ничего не изменилось, у меня Simpla 2.1.5.

 

2. пробовал подключить в index.tpl кажись  тег в шапке {strip} и в самом низу {/strip} выиграш был 250 байт!

http://www.smarty.net/docsv2/ru/language.function.strip.tpl

Изменено пользователем xavior
Ссылка на сообщение
Поделиться на другие сайты

Возможно, надо папку compiled очистить...

Прописал в конфиг, где смарти, очистил компилед - результат 0

Ссылка на сообщение
Поделиться на другие сайты

xavior,

Вот конфиг: https://github.com/pikusov/Simpla/blob/master/config/config.php

строка 50

 

и вот api/Design.php: https://github.com/pikusov/Simpla/blob/master/api/Design.php

строка 54-55

 

Наверно у вас старая симпла, как и у меня была :)

Я просто добавил

$this->smarty->loadFilter('output', 'trimwhitespace'); 

Попробуйте и вы сделать нечто подобное, а потом посмотрите как на это отнесется PageSpeed?

Нам с Kors очень интересно

 

 

Ссылка на сообщение
Поделиться на другие сайты

Вот почти стандартная Simpla 2.3.7
http://demo.simpla-tuning.com/150801/

1. smarty_html_minify = false;  
PageSpeed показывает:
Для мобильных  67 / 100
Для компьютеров 88 / 100

2. ставлю  smarty_html_minify = true;  
PageSpeed показывает ТО ЖЕ САМОЕ:
Для мобильных  67 / 100
Для компьютеров 88 / 100

Разницы не заметно...

Ссылка на сообщение
Поделиться на другие сайты

Вот почти стандартная Simpla 2.3.7

http://demo.simpla-tuning.com/150801/

 

1. smarty_html_minify = false;  

PageSpeed показывает:

Для мобильных  67 / 100

Для компьютеров 88 / 100

 

2. ставлю  smarty_html_minify = true;  

PageSpeed показывает ТО ЖЕ САМОЕ:

Для мобильных  67 / 100

Для компьютеров 88 / 100

 

Разницы не заметно...

Тем не менее, PageSpeed показывает что html уже уменьшен

 

Изменено пользователем xavior
Ссылка на сообщение
Поделиться на другие сайты

xavior,

Вот конфиг: https://github.com/pikusov/Simpla/blob/master/config/config.php

строка 50

 

и вот api/Design.php: https://github.com/pikusov/Simpla/blob/master/api/Design.php

строка 54-55

 

Наверно у вас старая симпла, как и у меня была :)

Я просто добавил

$this->smarty->loadFilter('output', 'trimwhitespace'); 

Попробуйте и вы сделать нечто подобное, а потом посмотрите как на это отнесется PageSpeed?

Нам с Kors очень интересно

 

Прописал, все сделал как надо - у меня без изменений

Ссылка на сообщение
Поделиться на другие сайты

Прописал, все сделал как надо - у меня без изменений

 

Посмотрите у себя в Smarty/libs/plugins есть ли файл outputfilter.trimwhitespace.php?

Если нет, прикрепил. Попробуйте его подсунуть, но я не знаю зависимость от версий шаблонизатора

outputfilter.trimwhitespace.php

Ссылка на сообщение
Поделиться на другие сайты

Посмотрите у себя в Smarty/libs/plugins есть ли файл outputfilter.trimwhitespace.php?

Если нет, прикрепил. Попробуйте его подсунуть, но я не знаю зависимость от версий шаблонизатора

Проверял до теста, файл присутствовал. У самого запустить удалось ?

Ссылка на сообщение
Поделиться на другие сайты
  • 1 год спустя...

Странно, у меня работает!

Он не убирает переноса строк, но убирает пустые строки и лишнюю табуляцию.

Работает, спасибо. Указал в config minify и добавил строку в Design.php. Разница не велика, но для общей оптимизации кода дельная вещь.

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...