Мысли, мысли, мысли...

Сборка важных и нужных плагинов GetSimple CMS от opiums

Окт 292019

Я всё так же продолжаю активно разрабатывать сайты на GetSimple CMS и разработка на этом движке доставляет только радость. В этом посте я собрал важные плагины, которые я переписал частично, а пару из них даже написал с нуля. Для примера я буду использовать свой сайт по разработке. И так, поехали...

Components Highlight

Данный плагин включает подсветку кода в разделе компонентов. Плагин маленький и простой, никаких настроек не требует. Он подключает уже существующий CodeMirror в раздел компонентов. Т.к. в настоящий момент основной сайт с плагинами не открывается, не могу приводить ссылки откуда их взял. После скачивания с оф. сайта я его запустил, но заметил что он работает везде и конфликтует с основным редактором, поэтому пришлось поправить код, чтобы он запускался только в разделе компонентов.

File Editor

Плагин полезен тем, что позволяет вам редактировать 2 важных файла на сайте, в корне: .htaccess и robots.txt. Кнопка редактора находится в разделе настроек, я русифицировал кнопку, сообщения и убрал лишнюю информацию, теперь только 2 поля и кнопочка "обновить".

GZipIt

GZipIt включает сжатие GZip для zlib.output_compression. Скорее всего данное сжатие уже по умолчанию включено на большинстве из серверов, в плагин так же добавлена кнопка phpinfo(), позволяющая смотреть информацию о текущей конфигурации PHP на сервере. Но это не главная особенность плагина. Я его переписал и добавил возможность сжатия HTML содержимого на сайте - функция sanitize_output. Результат плагина показан на скриншоте ниже. Документация плагина находятся в разделе "поддержка".

Minifier by opiums

Minifier, автором которого являюсь я сам был написан на основе WP плагина Inline HTML, CSS & Javascript Minifier. Я давно искал подобный плагин, но нашёл только вопросы и просьбы о его создании. Кроме функции, аналогичной предыдущему плагину (сжатие HTML содержимого), он умеет ещё и сжимать css и js файлы. Полная документация плагина находятся в разделе "поддержка". При минимизации скриптов и стилей нужно обязательно учитывать пути как для минимизации, так и внутри самих файлов, особенно это касается функции css @import url(), которая будет искать файл там же где и произведён GET запрос. Т.е. нужно указывать полный путь от корня сайта, чтобы не возникло проблем с подключением. Пример работы плагина показан ниже на скриншоте.

GSWebP by opiums

Плагин преобразовывает на страничке все .jpg и .png в .webp, если браузер поддерживает данный формат. После преобразования плагин сохраняет файлы .webp в ту же папку, где была исходная картинка. Аналогов данного плагина я не нашёл, поэтому написал его сам, на основе WP Webp. Плагин может быть использовать как на Apache, так и на IIS, я его протестировал на обоих серверах и разных ОС. Плагин использует конвертер от гугла cwebp, преобразующий .jpg и .png в .webp. Так же потребуется внести некоторые корректировки в .htaccess или web.config для полноценной работы плагина. Полная документация и нужная информация содержится в разделе "поддержка". Скриншот ниже демонстрирует готовую работу вышеописанного плагина.

P.S.

Возможны ошибки в описании плагинов, т.к. писал её второпях. Обязательно читайте документацию к плагинам прежде чем кричать SOS.

Bonus

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

  • В папке темы, которая используется нужно создать файл ckeditor.css.
  • Подключить в ckeditor.css ваши стили через @import url(); Например:
@import url(css/font-awesome/font-awesome.css);
@import url(css/bootstrap.css);
@import url(css/style.css);
@import url(css/responsive.css);
  • В корне сайта, есть gsconfig.php, находим там [# Параметры WYSIWYG-редактора ...] и заменяем на следующее (ниже привожу кусок конфига, чтобы понять куда именно вставлять весь код):
# Настройки WYSIWYG-редактора, раскомментируйте строчку ниже (advanced, basic or [custom config]) 
# define('GSEDITORTOOL', 'advanced');
# Параметры WYSIWYG-редактора
 $websitefilepath = $_SERVER['DOCUMENT_ROOT'].'/data/other/website.xml';
 if(file_exists($websitefilepath)) {
  $currentheme = simplexml_load_file($websitefilepath, 'SimpleXMLElement', LIBXML_NOCDATA);
  $currentemplate = $currentheme->TEMPLATE;
  if(file_exists($_SERVER['DOCUMENT_ROOT'].'/theme/'.$currentemplate.'/ckeditor.css'))
   define('GSEDITOROPTIONS',"basicEntities:true,extraPlugins:'nbsp,youtube,html5audio,video,wenzgmap,codesnippet,codemirror,oembed', contentsCss: '/theme/".$currentemplate."/ckeditor.css'");
  else define('GSEDITOROPTIONS',"basicEntities:true,extraPlugins:'nbsp,youtube,html5audio,video,wenzgmap,codesnippet,codemirror,oembed'"); # chart
 }else define('GSEDITOROPTIONS',"basicEntities:true,extraPlugins:'nbsp,youtube,html5audio,video,wenzgmap,codesnippet,codemirror,oembed'"); # chart

# WYSIWYG toolbars (advanced, basic or [custom config])
 define('GSEDITORTOOL', "['Bold','Italic','Underline','Strike','Subscript','Superscript','NumberedList','BulletedList','JustifyCenter','JustifyRight','JustifyBlock','HorizontalRule','Table','Link','Unlink','Anchor','Image','Blockquote','CreateDiv','PasteFromWord','Undo','Redo'],'/',['Styles','Format','FontSize','TextColor','BGColor','oembed','Video','Html5audio','Iframe','wenzgmap','CodeSnippet','RemoveFormat','Source']"); # Chart

# Язык WYSIWYG-редактора (default en), раскомменитровать строчку ниже, если хотите, чтобы язык отличался от языка, выбранного при установке CMS
# define('GSEDITORLANG', 'en');
  • Проверяем, что нет ошибок в админке, редакторе статей и наслаждаемся стилями в нашем поле редактора. Если файла ckeditor.css нет, будут подключены стандартные параметры.

Ссылки на скачивание

Скачать плагины c яндекс диска
Скачать плагины с моего сайта

Комментарии

opiums12 Nov, 2019В конечном итоге я получил прирост скорости всех своих сайтов, а гугл пейдж спид показал на одном из тестируемых сайтов 61/77 против нынешних 40/65...

Новый комментарий

AtomHomeLinksopiums.eu

© Copyright by opiums. Адрес: Кемеровская обл, г. Междуреченск, Кузнецкая ул, 14. Телефон: +7(923)4108152
Наверх