[PHP, MySQL, CSS, JavaScript, HTML] RevolveR Contents Management Framework v.1.9.4.9
Автор
Сообщение
news_bot ®
Стаж: 6 лет 4 месяца
Сообщений: 27286
Лет 10 назад мне нужна была какая-то система, чтобы вести блог о web-разработке и я использовал сильно хакнутый Drupal, который со временем стало невозможно обновить из-за груды костылей и постоянной нужде рыться под капотом после каждого update.
За 10 лет накопилось порядка 300 статей по верстке и front-end программированию, а также куча полезных сниппетов кода, которые я в последующем использовал для создания RevolveR Contents Management Framework на фирменной архитектуре KMV(Kernel<-Model<-View).
![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/434bc79c79388f09af9ce2d9cd54c30f.png)
С Drupal была стянута идея использовать узлы(nodes) и я применил весь комплект опыта оставшегося от хакинга ядра решившись начать писать свою систему. Сейчас RevolveR уже достиг версии 1.9.4.9 и из его отличительных особенностей можно выделить подход к программированию.
Все создано на чистом PHP SPL и не использована даже jQuery для frontend(ее роль выполняет созданный на ES7 движок front-end с поддержкой всех функций, которые могут пригодится при разработке; от поддержки CSS3 анимаций до автоматических HTML форм на fetch).
![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/f89d5a0568ac01b51101c015eebafd13.jpg)
Теперь Windows использует Chromium для встроенного в систему Fetch и мне не пришлось использовать транспиляторы для реализации framework. Из новенького, что мешало сделать нормальный релиз была не полная поддержка CSS4 variables, которые у меня в паре с View Port Unit формирует хитрый в 10 строчек кода алгоритм для масштабирования HTML элементов сайта под мобильные устройства, а также по примеру приложения может получить, но не отображает в строке URL GET запросы.
![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/498bf31d221173bc39df4a7944ab9cac.png)
Средствами JavaScript определяется браузер пользователя и формируются scale factor являющийся множителем, чтобы отмасштабировать ссылки, кнопки, параграфы и другие элементы требующие увеличенного размера для смартфонов, чтобы пользователю было удобнее.
Я подошел к реализации front-end с той же стороны, что и подходят разработчики приложений операционной системы: никаких media queries не используется вообще, а сайты выглядят крупнее или мельче в зависимости от размера окна браузера без всяких прокруток.
Что есть во framework сейчас?
Создана поддержка инсталлятора для хостинга(можно использовать Open Server минимальный, но с включенным модулем PHP Tidy). Поскольку это не совсем набор классов и futures для создания и нужды много программировать, CMF из коробки предлагает поддержку кабинета пользователя и ролей групп пользователей.
Contents Management Framework подразумевает также поддержку создания пользователем страниц и категоризация их включена в функционал. Фреймворк многоязычный (сейчас два языка интерфейса доступны Russian & English).
Также доступны модули mini Wiki и блогов. Для материалов новостей и блога доступно голосование типа 5 звезд. Есть простой но лаконичный форум.
С помощью content editble HTML 5 реализована быстрая visiwig правка статей и комментариев, а динамический предпросмотр позволяет видеть как будет выглядеть опубликованный материал точь в точь при наборе текста и верстки.
Реализована простая, но очень надежная captcha, которая работает для любых POST данных путем получения ключа и паттерна из набора рисунков независимо на каждый route специальным сервисом secure route через javascript fetch и https cookie. Рисунок создается в canvas и обвешан рядом isTrusted проверок.
Я добавил поддержку комментирования и возможность подписаться по email на обновления контента и комментариев, если пользователь зарегистрировался — есть возможность установить себе аватар, заполнить профиль, выбрать язык интерфейса индивидуально и писать личные сообщения.
Все формы и элементы навигации сайтов на RevolveR CMF работают в автоматическом fetch режиме из последних релизов ECMA Script. API подразумевает удобный сборщик HTML форм и центральный валидатор данных, который связан с типом input указанном в HTML формы. Загружаемые пользователем файлы проходят на UNIX системах дополнительную проверку маски через xxd.
Есть модуль интернет магазина.
В систему добавлен терминал, позволяющий выполнять bash команды операционной системы или консоли Windows(в планах научиться использовать Power Shell из PHP).
![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/2109d2a5da1e78d2221c768b1d84236f.jpg)
Тема оформления пока одна, но она оснащена примерно 50 переменными CSS, которые позволяют изменить почти весь дизайн. Также реализовано ночное и дневное отображение интерфейса.
![Клик для увеличения](https://linkme.ufanet.ru/box/200x100/7c3af0d1e235d09fa025951b974c353e.jpg)
В системе есть все для SEO: автоматический ping при добавлении материалов, карта сайта в XML, поддержка Microdata HTML 5 и RSS.
Встроенная система статистики учитывает посещения гостей и авторизованных пользователей показывая время пребывания и внутренние переходы. Также статистика отображает переходы по внешним ссылкам с whois и из поисковых систем.
Оптимизация
Поскольку весь код писался на низкоуровневых функциях без сторонних библиотек и великолепно оптимизирован с участием кэша трех уровней:
- Сжатые CSS и JavaScript;
- Кэш шаблонизатора (свой шаблонизатор на Cache Conclude);
- Кэш запросов базы данных (если RevolveR не пишет статистику посетителей, то framework работает в режиме partial Kernel run и к базе для анонимного посетителя происходит 0 запросов).
Мне удалось достичь просто отличных цифр оптимизации: все ядром с шаблонами выполняется за доли секунды при этом тратиться памяти на сайт из 10 страниц порядка 3х мегабайт(средний Drupal 9 для сравнения рекомендует сервер с 2 Gb ОЗУ то время как RevolveR CMF требует 128Mb).
Кроме того, front-end оптимизирован так, что позволяет в 240кб упакованного трансфера кода уместить и скрипты и рендер c бэкенда и даже остается место для иконок флагов всех стран на SVG и картинок интерфейса(подходит быстрой загрузки и отдачи в условиях с плохим интернетом).
Установка и системные требования
Скачать дистрибутив можно со страницы проекта GitHub. Установка очень простая. Просто посмотрите видео.
Извините, данный ресурс не поддреживается. :(
Если установка не пошла просто удалите database.key и domain.key в директории /private/ и проверьте правильность ввода данных в полях настроек подключения к базе данных.
RevolveR CMF требует php 7.4 и MySQL 5.6-8.x, а также включенный модуль Tidy. Рекомендуется 128 Mb оперативной памяти сервера и Zend Opcache, но в реальности достаточно 30 Mb.
Документацию по системе я активно дополняю и найти некоторые статьи можно на блоге и wiki.
===========
Источник:
habr.com
===========
Похожие новости:
- [JavaScript, HTML, Accessibility] Решение проблемы обеспечения доступности модального окна для людей с ограниченными возможностями
- [CSS, Разработка игр, HTML] Как я IF на Twine писал
- [Хостинг, WordPress, JavaScript] JAM-стэк — нищета на стероидах
- [Разработка веб-сайтов, CSS, HTML] Задавать Height и Width для изображений снова важно (перевод)
- [HTML] Помогаем пользователям менять пароли с помощью well-known URL (перевод)
- [JavaScript, Программирование, Google Chrome, Управление медиа] Я никогда не писал расширения для Хрома, но меня допекли
- [Разработка веб-сайтов, PHP, Программирование, Laravel] PHP 8 — пробуем новые возможности (перевод)
- [Разработка веб-сайтов, JavaScript, Программирование] Примеры использования наблюдателей в JavaScript
- [JavaScript, Angular, ReactJS, VueJS, TypeScript] Создание микросервисной архитектуры с использованием single-spa (миграция существующего проекта)
- [JavaScript, Алгоритмы, Canvas, Визуализация данных, Экология] Визуализация изменения климата при помощи интерактивного генеративного искусства (перевод)
Теги для поиска: #_php, #_mysql, #_css, #_javascript, #_html, #_framework, #_php, #_mysql, #_javascript, #_css, #_php, #_mysql, #_css, #_javascript, #_html
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 05-Июл 08:07
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 4 месяца |
|
Лет 10 назад мне нужна была какая-то система, чтобы вести блог о web-разработке и я использовал сильно хакнутый Drupal, который со временем стало невозможно обновить из-за груды костылей и постоянной нужде рыться под капотом после каждого update. За 10 лет накопилось порядка 300 статей по верстке и front-end программированию, а также куча полезных сниппетов кода, которые я в последующем использовал для создания RevolveR Contents Management Framework на фирменной архитектуре KMV(Kernel<-Model<-View). ![]() С Drupal была стянута идея использовать узлы(nodes) и я применил весь комплект опыта оставшегося от хакинга ядра решившись начать писать свою систему. Сейчас RevolveR уже достиг версии 1.9.4.9 и из его отличительных особенностей можно выделить подход к программированию. Все создано на чистом PHP SPL и не использована даже jQuery для frontend(ее роль выполняет созданный на ES7 движок front-end с поддержкой всех функций, которые могут пригодится при разработке; от поддержки CSS3 анимаций до автоматических HTML форм на fetch). ![]() Теперь Windows использует Chromium для встроенного в систему Fetch и мне не пришлось использовать транспиляторы для реализации framework. Из новенького, что мешало сделать нормальный релиз была не полная поддержка CSS4 variables, которые у меня в паре с View Port Unit формирует хитрый в 10 строчек кода алгоритм для масштабирования HTML элементов сайта под мобильные устройства, а также по примеру приложения может получить, но не отображает в строке URL GET запросы. ![]() Средствами JavaScript определяется браузер пользователя и формируются scale factor являющийся множителем, чтобы отмасштабировать ссылки, кнопки, параграфы и другие элементы требующие увеличенного размера для смартфонов, чтобы пользователю было удобнее. Я подошел к реализации front-end с той же стороны, что и подходят разработчики приложений операционной системы: никаких media queries не используется вообще, а сайты выглядят крупнее или мельче в зависимости от размера окна браузера без всяких прокруток. Что есть во framework сейчас? Создана поддержка инсталлятора для хостинга(можно использовать Open Server минимальный, но с включенным модулем PHP Tidy). Поскольку это не совсем набор классов и futures для создания и нужды много программировать, CMF из коробки предлагает поддержку кабинета пользователя и ролей групп пользователей. Contents Management Framework подразумевает также поддержку создания пользователем страниц и категоризация их включена в функционал. Фреймворк многоязычный (сейчас два языка интерфейса доступны Russian & English). Также доступны модули mini Wiki и блогов. Для материалов новостей и блога доступно голосование типа 5 звезд. Есть простой но лаконичный форум. С помощью content editble HTML 5 реализована быстрая visiwig правка статей и комментариев, а динамический предпросмотр позволяет видеть как будет выглядеть опубликованный материал точь в точь при наборе текста и верстки. Реализована простая, но очень надежная captcha, которая работает для любых POST данных путем получения ключа и паттерна из набора рисунков независимо на каждый route специальным сервисом secure route через javascript fetch и https cookie. Рисунок создается в canvas и обвешан рядом isTrusted проверок. Я добавил поддержку комментирования и возможность подписаться по email на обновления контента и комментариев, если пользователь зарегистрировался — есть возможность установить себе аватар, заполнить профиль, выбрать язык интерфейса индивидуально и писать личные сообщения. Все формы и элементы навигации сайтов на RevolveR CMF работают в автоматическом fetch режиме из последних релизов ECMA Script. API подразумевает удобный сборщик HTML форм и центральный валидатор данных, который связан с типом input указанном в HTML формы. Загружаемые пользователем файлы проходят на UNIX системах дополнительную проверку маски через xxd. Есть модуль интернет магазина. В систему добавлен терминал, позволяющий выполнять bash команды операционной системы или консоли Windows(в планах научиться использовать Power Shell из PHP). ![]() Тема оформления пока одна, но она оснащена примерно 50 переменными CSS, которые позволяют изменить почти весь дизайн. Также реализовано ночное и дневное отображение интерфейса. ![]() В системе есть все для SEO: автоматический ping при добавлении материалов, карта сайта в XML, поддержка Microdata HTML 5 и RSS. Встроенная система статистики учитывает посещения гостей и авторизованных пользователей показывая время пребывания и внутренние переходы. Также статистика отображает переходы по внешним ссылкам с whois и из поисковых систем. Оптимизация Поскольку весь код писался на низкоуровневых функциях без сторонних библиотек и великолепно оптимизирован с участием кэша трех уровней:
Мне удалось достичь просто отличных цифр оптимизации: все ядром с шаблонами выполняется за доли секунды при этом тратиться памяти на сайт из 10 страниц порядка 3х мегабайт(средний Drupal 9 для сравнения рекомендует сервер с 2 Gb ОЗУ то время как RevolveR CMF требует 128Mb). Кроме того, front-end оптимизирован так, что позволяет в 240кб упакованного трансфера кода уместить и скрипты и рендер c бэкенда и даже остается место для иконок флагов всех стран на SVG и картинок интерфейса(подходит быстрой загрузки и отдачи в условиях с плохим интернетом). Установка и системные требования Скачать дистрибутив можно со страницы проекта GitHub. Установка очень простая. Просто посмотрите видео. Извините, данный ресурс не поддреживается. :( Если установка не пошла просто удалите database.key и domain.key в директории /private/ и проверьте правильность ввода данных в полях настроек подключения к базе данных. RevolveR CMF требует php 7.4 и MySQL 5.6-8.x, а также включенный модуль Tidy. Рекомендуется 128 Mb оперативной памяти сервера и Zend Opcache, но в реальности достаточно 30 Mb. Документацию по системе я активно дополняю и найти некоторые статьи можно на блоге и wiki. =========== Источник: habr.com =========== Похожие новости:
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 05-Июл 08:07
Часовой пояс: UTC + 5