Оптимизация шаблонов

Разработка под LiveStreet CMS

Пролог


Наброски по данной статье лежали ещё с конца зимы и все никак не было времени на её написание, поэтому решил опубликовать её почти «как есть» т.е. с сухими выжимками фактов, без расписанных деталей. Это поможет остальным членам сообщества совершенствовать свои .

Оптимизация шаблонов →

Плагин «Оптимизация, внутренняя перелинковка сайта и замена слов (Cross linker)», новый функционал

НОВОЕ


В версии плагина 3.0.0:

  • фикс бага, когда неверно обрабатывался текст, если было правило с оставленной запятой в конце, которое воспринималось как ещё одно пустое значение. Теперь запятые в конце правил игнорируются.
  • в плагин добавлен новый модуль «Closer topic access», который добавляет в код главной страницы ссылки на лучшие топики (которые выводяться на главной странице). Этот список состоит из ссылки на топик и заголовка топика в качестве текста ссылки.
  • небольшие мелкие правки, улучшающие .

Плагин «Оптимизация, внутренняя перелинковка сайта и замена слов (Cross linker)», новый функционал →

Учет пожеланий пользователей в плагине «Оптимизация и внутренняя перелинковка сайта (Cross linker)»

НОВОЕ


  1. теперь для включения синонимайзера необходимо синонимы перечислять через вопросительный знак и запятую (?,) в выражении «чем заменить» — таким образом стало возможным легально использовать запятую в выражении «чем заменить»
  2. в шаблоне developer теперь отображается кнопка «обновить» для контекстного меню топика
  3. при быстром обновлении топика и при пересохранении всех топиков теперь учитывается опция «Не пропускать этот топик через CrossLinker» (раньше она действовала только при публикации и редактировании топика)
  4. убрана поддержка старых версий плагина powered spoiler
  5. опция при создании/редактировании топика «Не пропускать этот топик через CrossLinker» теперь доступна для всех типов топиков в ЛС (вопрос, фотосет и т.п.)
  6. на тулбаре теперь доступна кнопка для быстрого доступа к админке Cross linker
  7. при нажатии на ESC закрывается контекстное меню
  8. теперь личные сообщения добавлены в список исключений для обработки плагином по-умолчанию
  9. интервал пауз между запросами к серверу на пересохранение топиков вынесен в интерфейс на страницу пересохранения топиков
  10. теперь есть возможность поставить процесс пересохранения топиков на паузу и продолжить в случае необходимости
  11. при создании правила при вводе выражения замены (что заменить) есть автокомплитер по уже созданным словоформам (правилам)
  12. доступен новый режим переключения между автоматической заменой тегов в текстах и ручной установкой: теперь можно вручную выбрать все теги, которые следует обрабатывать в текстах, для этого в настройках появилась отдельная страница, на которой которой показываются все теги на сайте с возможность отметить нужные.
  13. внутри тега code теперь не происходит никаких замен
  14. добавлено изменение порядка правил — теперь можно передвигать правила по списку вверх/вниз, регулируя тем самым важность обработки. Например, чтобы правило замены с «парк отдыха» было обработано раньше чем просто «парк», его нужно передвинуть выше по списку над правилом «парк».
  15. местами причесан код
  16. есть небольшие изменения в интерфейсе
  17. «в коробку» добавлен новый пользовательский шаблон «справка»
  18. теперь можно пересохранять также и комментарии
  19. исправлен небольшой визуальный баг с быстрым обновлением топика или комментария

Учет пожеланий пользователей в плагине «Оптимизация и внутренняя перелинковка сайта (Cross linker)» →

Ошибки дизайна в ИЕ

FAQ
Сегодня обратился пользователь с просьбой решить проблему, когда пользователи ИЕ видят не совсем корректную верстку на сайте. Причем вопрос касался сразу нескольких плагинов, которые давно проверены в работе и ясно что проблема не в них. Открыв исходный код страницы я увидел простыню загрузки файлов.

Ошибки дизайна в ИЕ →

Оптимизация ЛС, часть 3

Разработка под LiveStreet CMS
В одном из топиков по оптимизации мы уже касались темы доработки класса конфига ЛС. В данном топике рассмотрим ещё одну оптимизацию — заменим создание анонимной функции каждый раз при получении ключа на вызов уже созданного объекта. Изначальный код предложил пользователь empirik и данный код является небольшой его модификацией.

Итак, план работ таков:

  1. Замерим используемую память и полное время выполнения стандартной чистой поставки ЛС 1.0.1 с выключенными модулями анонимной отправки данных (LS), кеша (Cache) и отключенными плагинами. Замеры будем производить обновлением главной страницы
  2. Модифицируем шаблон для вывода используемой памяти, данные действия описаны в этом топике по оптимизации.
  3. Применим предыдущую оптимизацию конфига.
  4. Внесем правки в код класса конфига
  5. Замеряем результаты
  6. Подведем итоги

Оптимизация ЛС, часть 3 →

Оптимизация ЛС, часть 2

Разработка под LiveStreet CMS
Продолжаем эксперименты над движком.

Ахтунг! В данной статье будут приведены примеры кода, которые могут нарушить функциональность некоторых весьма хитро-умных плагинов, которые привязаны к этому механизму. Мне не известен ни один такой плагин, но я не исключаю возможность их существования.

В прошлом топике, где я опубликовал полный список стандартных хуков для ЛС 1.0.1, я обратил внимание на хуки, которые начинаются с префикса module_ — хуки, которые постоянно создаются динамически и вызываются парами до и после вызовов методом модулей. Как и было написано в предыдущем топике — хуки вызываются 486 раз, причем само их количество на «чистой» LiveStreet значится в 161 штуку.

Оптимизация ЛС, часть 2 →

"Crosslinker" - плагин для оптимизации и внутренней перелинковки на сайте

Часть шестая по документации к плагину:


Плагин использует наиболее оптимизированную схему работы с текстом, которая много раз совершенствовалась, но важно понимать что чем больше правил вы зададите, тем более медленнее будет происходить . Можно обозначить несколько важных аспектов для ускорения работы плагина:

"Crosslinker" - плагин для оптимизации и внутренней перелинковки на сайте →

Вторая часть справки по плагину Crosslinker для LiveStreet CMS

1. Список правил


    На данной странице выводится список ранее занесенных правил замены текста. Если вы открываете плагин впервые, то увидите там тестовую запись. Также на этой странице доступна кнопка создания нового правила («Добавить правило») в правом верхнем углу над списком правил. Нажав на неё открывается форма создания нового правила с полями: "Слово (-а через запятую) замены" — сюда нужно вписать выражение или перечисление выражений через запятую в том виде в котором их нужно искать. Данное выражение не чувствительно к регистру вводимых символов, "Чем заменить" — произвольный текст, на который должна быть произведена замена с текста, указанного в поле выше. В этом поле можно использовать волшебную ссылку $1, которая означает найденное совпадение слова или выражения в том же регистре, в котором оно было получено в тексте и при замене будет использовано оригинальный регистр символов, независимо от того, как было указано в поле "Слово (-а через запятую) замены". Также в данном поле возможно использование перечислений выражений через запятую. В таком случае данное правило будет работать как синонимайзер — каждому выражению из "Слово (-а через запятую) замены" будет выбрано случайное выражение из перечислений в "Чем заменить". Это довольно мощный инструмент!

Вторая часть справки по плагину Crosslinker для LiveStreet CMS →

Плагин "Crosslinker" - оптимизация и внутренняя перелинковка сайта

crosslinkerНачну, пожалуй, с описания возможностей нового плагина для LiveStreet CMS — Crosslinker — одно из наилучших средств для внутренней оптимизации сайта. Чего уж таить — и на этом сайте он тоже установлен! Описание это доступно и из самого плагина — вкладка в меню "".
Т.к. справка большая, то разделю её на несколько частей (по пунктам). Часть первая:

Плагин "Crosslinker" - оптимизация и внутренняя перелинковка сайта →