Для ознакомления - новая версия сайта

Для тех, кто интересуется: testwww.stolyarov.info — примерно так оно в итоге будет выглядеть. Работа над новым движком ещё очень далека не только от завершения, но и от сколько-нибудь публикабельного и отчуждабельного состояния, так что слишком много от него не ждите.

Что нового:

  • навигация в ленте новостей, в самих новостях (следующая-предыдущая-в ленту), в комментариях (ссылка на родительский комментарий);
  • изменён порядок комментариев: комментарии верхнего уровня расположены в обратно-хронологическом порядке (новые сверху), но дерево ответов на каждый из них имеет традиционный порядок — "потомки" каждого отдельно взятого комментария отсортированы в прямом хронологическом порядке (новые снизу);

Регрессы:

  • пока не реализован вообще никакой интерактив, то есть ни коммент новый сделать, ни даже письмо послать через форму движок ещё не позволяет, это как раз то, над чем сейчас идёт основная работа;
  • алгоритм преобразования исходника, вбитого в форму при создании страницы или комментария — того, что раньше хранился в MySQL, а в новом движке хранится в обычных файлах — от друпальского сильно отличается, так что, во-первых, УРЛы в текстах сами в ссылки не превращаются, это много где заметно (УРЛ есть, активной ссылки нет, приходится выделять мышкой и открывать контекстным меню), а во-вторых, много где ещё возможны глюки, связанные с не вполне корректным преобразованием символов перевода строки в параграфы (друпал это как-то очень замороченно делает, мне не удалось его поведение склонировать)

Что изменилось под капотом:

  • Первое и главное: весь контент теперь статический, то есть он генерится не в момент, когда пользователь его запросил, а заранее. Можете оценить, насколько меньше стало тормозов (сервер физически тот же самый);
  • язык реализации я выбрал в соответствии со своими предпочтениями: это Си++, усечённый до подмножества, описанного в моих книжках, и даже сильнее (исключения не используются); разумеется, дерево исходников самодостаточно, все библиотеки в него включены, никаких внешних зависимостей;
  • никакой больше СУБД, вся информация хранится в обычных файлах; из друпальской базы я страницы и комментарии вытащил специально для этого написанной программой (ЧСХ, она вообще на чистом Си, там всё настолько просто, что мне не захотелось туда тащить Си++)

Что в ближайших планах:

  • Начать, видимо, придётся с формы контактов, которая письма посылает;
  • следующее по приоритетности — добавление и редактирование комментов;
  • затем (это уже намного ниже по приоритету) — создание и редактирование страниц через веб-интерфейс; с одной стороны, это превратит движок в полноценную CMSку, но с другой — мне-то это, в общем и целом, нафиг не нужно, я и текстовым редактором пользоваться умею неплохо;
  • в какой-то момент обязательно надо будет предусмотреть поддержку альтернативных форматов вводимого текста, вроде bbcode или ещё чего подобного, возможно даже реализовать какую-то простенькую версию wiki.

Короче, работаем :-)