релизы
S2 1.0 beta 5
С момента предыдущего выпуска прошло много времени. Я обновил дистрибутивы и написал о плане развития движка.
Доработки и исправления
В новой версии 1.0 beta 5 заработала функция «избранное»: появился раздел с избранными страницами.
Также был переработан механизм формирования и парсинга URL. Традиционные адреса страниц отражают иерархическую структуру сайта. В настройке теперь можно включить одноуровневые адреса из хоста и фрагмента URL. В них структура сайта игнорируется.
В менеджере картинок появился новый флажок «высокое разрешение». Он упрощает вставку картинок для ретины, когда в теге img прописываются размеры в два раза меньше настоящих.
Мелкие исправления: решена проблема 2037 года при установке cookies, интерпретатор PHP не обрабатывает загружаемые файлы *.php5 благодаря настройке в .htaccess, функция preg_replace() с флагом e заменена на preg_replace_callback().
Новые формулы на латехе
В движке уже давно появилось расширение s2_latex для вставки формул на латехе. Оно работало с сервисом codecogs.com.
Теперь я сделал свой сервис. Он не глючит и размещает
Развитие движка
Я задумывался о будущем движка. Идей по улучшению много. Самая главная — переписать заново админскую панель управления на клиентском фреймворке для одностраничных приложений вроде Ember.js. Текущая архитектура на джейкверивских колбеках и лапше из
Я выделил время и приступил к реализации идей. Начал с рефакторинга публичной части, расширений и перевода. Результат выложил на гитхабе. Сейчас работаю над самой сложной частью админки — древовидной структурой страниц.
Если производительность и архитектура будут меня устраивать, эта разработка станет версией 2.0 движка S2.
S2 1.0 beta 4
Вышла новая версия движка S2 1.0 beta 4. В ней доработана система комментариев. Если включен режим предварительной проверки комментариев, и вы вошли в панель управления, например, чтобы опубликовать поступивший комментарий, ваш ответный комментарий без дополнительных проверок будет опубликован сразу.
Модераторам и подписавшимся комментаторам теперь присылаются разные уведомления о новых комментариях. Модератор может ответить на такое письмо, и ответ сразу уйдет автору комментария.
В стиле по умолчанию появилась навигация с помощью стрелок и сохранение еще не отправленных комментариев в хранилище браузера (localStorage). При сбоях творчество комментаторов не потеряется. Чтобы эти функции заработали в ваших стилях, подключите к ним скрипт из стиля zeta.
В панель управления добавлен новый механизм обозначения выдержки — тег «<cut>». Он разбивает текст на две части, и первая из них используется как выдержка. В настройке сайта можно выбирать между старым и новым способами.
Расширения также были доработаны. В визуальном редакторе появились надписи на русском языке. Поиск выводит подходящие к запросу ключевые слова.
Самые важные изменения произошли в редакторе шаблонов. Он научился вставлять ссылки на сохраненные в кеше файлы, благодаря чему шаблоны и стили удобно редактировать прямо в панели управления. Видеоинструкция по этому расширению:
Как обычно, в панели управления исправлены найденные досадные баги: в дереве страниц; клавиатурные сокращения; автодополнение при вводе ключевых слов.
S2 1.0 beta 3
Новая версия S2 1.0 beta 3 доступна для скачивания. В ней переработана панель управления. Переход на фреймворк jQuery и библиотеку создания деревьев jstree позволил внести упрощения и усовершенствования интерфейса, которые давно напрашивались.
- Улучшена работа с деревом разделов и страниц, особенно перетаскивание мышью.
- Ключевые слова теперь вводятся в обычное поле с автодополнением, а не выбираются в непонятных списках. Если ввести несуществующее ключевое слово, оно будет добавлено автоматически.
- Переделан менеджер файлов. Теперь в нем можно перетаскивать (или удалять клавишей Delete) несколько файлов.
- Обеспечена работа только с клавиатурой, без мыши. Например, вкладки переключаются комбинациями Ctrl + 1, Ctrl + 2 и т. д., есть комбинации клавиш для добавления некоторых тегов в редакторе (курсив Cltr + I, жирный Ctrl + B и др.).
В движке появилась автоматическая проверка и уведомление о выходе новых версий. Каждый раз при входе в панель управления (но не чаще, чем раз в два часа) проверяется последняя доступная на сервере версия и, если нужно, выводится сообщение. Включенную по умолчанию проверку можно отключить.
Новое расширение s2_highlight влючает подсветку
Как обычно, в движке были исправлены найденные ошибки. Также он стал еще немного умнее и дружелюбнее.
Перед установкой или обновлением прочитайте инструкцию.
S2 1.0 beta 2
В новой версии движка 1.0 beta 2 был сделан ряд мелких исправлений и добавлений. Устранены проблемы с загрузкой файлов, когда в php.ini установлено ограничение open_basedir. В панели управления теперь модный фон с шумом.
Расширение s2_search было существенно переработано и оптимизировано. В ходе этой работы в нем было найдено и исправлено много мелких ошибок. Поиск стал требовать вдвое меньше памяти, то есть новая версия s2_search сможет работать с сайтами больших объемов.
Новое расширение s2_tpl_edit добавляет в панель управления редактор шаблонов. Оно упростит работу с сайтом при частом изменении шаблонов.
В расширении s2_wysiwyg визуальный редактор Tinymce обновлен до последней версии 3.4.9.
Также были обновлены расширения s2_blog, s2_manage_extensions, s2_latex.
Перед установкой или обновлением прочитайте инструкцию.
S2 1.0 beta
Вышла новая версия движка 1.0 beta. В ней была существенно доработана система пользователей.
<!-- s2_author -->
Движок стал удобнее и безопаснее:
- сеансы привязаны к
IP-адресу: если IP меняется, пароль нужно ввести заново; - если сеанс заканчивается, для продолжения достаточно ввести пароль, а не думать, куда скопировать несохраненные данные, и перезагружать страницу;
- в панель управления под одним логином можно входить с разных компьютеров или браузеров;
- если в панель управления вошли с вашим логином в другом браузере, то в начале вашего нового сеанса будет выведено предупреждение об этом;
- если во время редактирования страница была изменена другим пользователем, движок не перезапишет вашу версию поверх чужих изменений, вам будет предложено перенести ваши изменения в версию с чужими изменениями;
- во время установки движок пытается определить, доступен ли сайт по защищенному протоколу https, и в этом случае включает принудительное его использование в панели управления.
Чтобы использовать последнюю возможность после обновления движка (и, разумеется, если на вашем хостинге есть https), можете добавить в config.php соответствующую константу.
Как я писал в предыдущий раз, в этой версии есть изменение, которое может вызвать несовместимость с текущими стилями. Оно связано с флажком «Выдержки статей и подразделов» в панели инструментов на вкладке редактирования. Его единственное предназначение заключалось в том, чтобы скрывать список дочерних элементов в разделах (отключать метку <!-- s2_subarticles -->
<!-- s2_subarticles -->
В панели управления были удалены некоторые другие ненужные функции и были улучшены алгоритмы расстановки тегов <p>
и <br>
.
Расширения также были обновлены. Старые версии расширений s2_blog, s2_wysiwyg, s2_search, s2_manage_extensions с новой версией движка не заработают, их нужно обновить вместе с обновлением движка.
Инструкция по обновлению:
- Сделать резервную копию файлов движка и, что важнее, базы данных, чтобы ваша предыдущая работа не потерялась и чтобы в случае затруднений можно было откатиться назад.
- Отключить в панели управления все расширения.
- Переписать файлы движка и используемых расширений.
- Обновить расширения в панели управления.
- Включить все расширения.
Выпускать новую версию движка помогал Дмитрий Шкарбатов.
S2 1.0 alpha 6
Выпуская версию 1.0 alpha 5, я написал, что следующей версией станет 1.0 beta с несколькими крупными изменениями в управлении учетными записями. Эти изменения я так и не сделал, однако внес множество других исправлений и улучшений и сейчас выпускаю S2 1.0 alpha 6.
В ядре движка и расширении s2_blog оптимизированы некоторые запросы к базе данных, движок стал еще быстрее.
Среди параметров настройки появился цвет фона панели управления. Это полезно, если у вас несколько сайтов на движке S2, или если кроме рабочего сайта есть тестовая установка S2. Благодаря цветовому кодированию почти невозможно перепутать панели управления разных сайтов.
В браузерах Firefox и Chrome упростилась загрузка файлов: их можно просто перетаскивать на панель управления. Надеюсь, новые технологии скоро будут поддерживаться и другими браузерами.
Также добавлено ограничение на типы загружаемых файлов. Раньше расширение загружаемых файлов никак не проверялось. Поэтому, если вы
В шаблонах появилась новая метка <!-- s2_navigation_link -->
. Она предназначена для добавления тегов <link> в секцию <head>, содержащих ссылки на соседние страницы. На основе этих тегов можно сделать навигацию с помощью Ctrl и стрелок.
Среди остальных изменений можно отметить следующее:
- наконец я разобрался с поддержкой базы данных SQLite, новая версия S2 может работать с SQLite 3 через PDO;
- в состав дистрибутива включен английский языковой пакет (переводить движок на английский помогал rab);
- в дистрибутиве появился скрипт, обновляющий базу данных на лету;
- теперь выдержки подразделов отображаются наряду с выдержками страниц;
- разделы можно разбивать на страницы, количество выдержек регулируется в настройках;
- улучшена работа ядра и расширения s2_search, когда нет перезаписи URL (отсутствует mod_rewrite);
- доработана система оповещений в панели управления;
- TinyMCE в составе визуального редактора (s2_wysiwyg) обновлен до версии 3.4.4.
Я <!-- s2_subarticles -->
). Этот флажок существовал в движке еще до появления метки <!-- s2_subarticles -->
и сейчас является устаревшим. Вместо него следует использовать переключение на шаблон, в котором нет этой метки. В следующей версии этот флажок исчезнет, а поведение сайта будет таким, как будто он включен на всех страницах.
Кстати, в документации описан процесс разработки расширений. Так как я взял реализацию расширений в PunBB, то и создание документации в основном свелась к переводу фрагмента документации PunBB. Переводить помогал Ty4ka.
S2 1.0 alpha 5
Прошло чуть больше месяца с момента выхода предыдущей версии движка, и я выпустил новую версию, S2 1.0 alpha 5.
Самое важное нововведение — система восстановления несохраненных текстов. Если в самый неподходящий момент пропало соединение с интернетом, завис браузер или отключилось электричество, набираемый текст не пропадет. Во время следующего входа в панель управления движок предложит восстановить текст.
Также появился альтернативный способ работы с ключевыми словами, примерно как в блоге. Добавлены страницы ключевых слов и метка <!-- s2_tags -->
для создания списков ключевых слов, являющихся ссылками на эти страницы.
Как всегда, новая версия содержит исправления нескольких ошибок и другие мелкие улучшения.
Следующей будет выпущена версия 1.0 beta. В ней запланирована доработка многопользовательского режима и другие существенные улучшения.
S2 1.0 alpha 4
Вышла новая версия S2 1.0 alpha 4.
Теперь S2 работает правильно, если не включена перезапись URL. Им можно пользоваться на непонятных серверах с криво настроенным Apache без включенного mod_rewrite. Наличие перезаписи URL автоматически проверяется при установке движка.
Переделана форма входа в панель управления. Она начинает «болтаться», когда вводят неправильный пароль.
В расширении s2_blog на главную страницу блога добавлены ссылки «туда» и «сюда». Они позволяют просматривать ранние посты и будут полезны случайным посетителям, не желающим разбираться с навигацией на сайте.
В расширении s2_latex включены
В расширении s2_wysiwyg визуальный редактор TinyMCE обновлен до версии 3.4.2.
Как всегда, исправлено много ошибок. Одно из исправлений касается работы с паролями.
Еще одно исправление связано с сочетанием клавиш Ctrl + S (сохранение страницы), которое в предыдущей версии движка перестало работать в Опере 11.10.
S2 1.0 alpha 3
Я решил продолжить традицию частых выпусков промежуточных версий движка. Представляю версию S2 1.0 alpha 3 и обновленные версии расширений.
Среди основных изменений создание расширение s2_latex, благодаря которому на S2 теперь можно легко делать сайты с множеством математических формул. На расширениях s2_latex и s2_blog работает блог о теоретической физике.
Другое изменение относится к расширению поиска s2_search. В нем появился «быстрый поиск» по заголовкам, выдающий список подсказок пользователю, пока он вводит поисковую фразу. Попробовать быстрый поиск в действии можно здесь, на сайте движка S2, введя в форму поиска, например, букву «а». С подробностями можно ознакомиться на странице расширения s2_search.
В визуальном редакторе (расширение s2_wysiwyg) библиотека TinyMCE была обновлена до версии 3.4.
Также в ядре движка и расширениях было исправлено множество багов.
S2 1.0 alpha 2
В прошлой версии, выпущенной неделю назад, была ошибка в установочном скрипте (спасибо Генриху за сообщение). Пришлось выпустить новую версию S2 1.0 alpha 2, в которой эта ошибка исправлена.
S2 1.0 alpha 1
Вышла новая версия S2 1.0 alpha 1. По сравнению с прошлогодним выпуском реализована часть запланированных функций и исправлено большое количество багов. Но это всё еще предварительная
Я сделал новые расширения: внутренний счетчик s2_counter и поиск s2_search. Выпущенные ранее расширения тоже были обновлены.
А еще я установил trac для просмотра исходного кода и форум для обсуждения любых вопросов по S2.
Хочу поблагодарить Илью Бирмана за ценные советы по улучшению интерфейса панели управления S2.
S2 1.0 alpha
Я рад сообщить о выпуске первой публичной версии движка сайтов S2. Однако сам движок не нов — на нем уже несколько лет работает мой сайт written.ru. Я долго раздумывал, что же мне делать с движком дальше. Наконец я нашел немного свободного времени, привел код движка в порядок и выпустил под лицензией GPL.
Текущая версия слишком сырая для готовых сайтов. До выпуска стабильной версии я хочу переделать и добавить некоторые вещи и исправить баги, если таковые найдутся. Определенных сроков выхода стабильной версии назвать не могу. Если найдутся заинтересованные, попробую сделать пораньше, если нет — займусь другими делами :)
Вопросы и отзывы пока можно оставлять здесь, в комментариях.