Целью разработки было создание блога для собственного использования с расширенными возможностями. В итоге при помощи дополнительных модулей блог имеет следующие возможности:
* Локализация — поддержка двух и более языков (модули i18n, Consistent Language Interface, Language Icons)
* Классическая компоновка, простая и в то же время достаточно эффектная тема оформления (доработанная своими силами бесплатная тема )
* Возможность публикации RSS-каналов для отдельных разделов и тегов (модули Syndication, Comment RSS)
* Интеграция системы подсветки исходного на различных языках (модуль GeSHi Filter)
* Наличие облегчённой версии сайта для мобильных устройств (модули Mobile Tools, Mobile Plugin, поддомен для мобильной версии и мобильная тема оформления Mobile Garland)
* Широкие возможности подписки, получения уведомлений и т.д. (модули Notifications, Messaging, Watcher)
* Умеренная оптимизация производительности — кэширование для анонимных пользователей, аггрегация JS и CSS-файлов, gzip-сжатие, автоматическое использование техники Data: URI для интеграции изображений в код CSS (модули CSS Embedded Images, JavaScript Aggregator, CSS Gzip)
* Мультимедиа возможности — публикация Flash, аудиофайлов и видеороликов при необходимости (модули SWFTools, Flash Node)
* Галерея изображений, «карусель» изображений, поддержка Lightbox (модули Image, Galleria, jCarousel при поддержке Views, CCK, Imagecache)
* SEO возможности — управление мета-тегами, создание ЧПУ (человеко-понятные URL), переадресация с «неправильных» URL на «правильные», запрет индексации дублирующегося контента в robots.txt (модули Nodewords, Pathauto, Global Redirect)
* Интеграция сервисов социальных закладок, share-сайтов и виджетов популярных социальных сетей (модули Addthis, Buzzthis)
* Возможность интеграции со сторонними сервисами (модули Twitter, FB Social — фейсбук, LiveJournal Crossposter)
* Обязательно наличие базовых, «must have»-возможностей — WYSIWYG-редактора, блоков свежих комментариев, записей, наиболее популярных записей, похожих материалов, различных фильтров (например, фильтр спойлеров — разворачивающийся текст), архив записей по месяцам, гостевая книга, антиспам-решения, облако тегов, выделение внешних ссылок и открытие их в новом окне с предупреждением о переходе на другой сайт, управление размером текста, оценка материалов, автоматическая генерация XML-карты сайта для поисковиков, перевод страницы «на лету» на другой язык при помощи Google Translate (модули CKEditor, Recent Comments, Views, Ccfilter, Montharchive, Guestbook, CAPTCHA, Spamicide, Cumulus и Tagadelic, External links filter, Textsize, Fivestar, XML Sitemap, Gtranslate)
Опыт работы с Drupal до создания данного блога ограничивался одним сайтом, так что данный проект можно считать работой над ошибками. В процессе разработки основные трудности возникали с отсутствием поддержки некоторыми модулями локализации, внутренними багами, неочевидными ошибками и прочими прелестями, которые, однако, в подавляющем большинстве своём удалось разрешить путём ковыряния в коде, поиске патчей на Drupal.org и яростному использованию гугла.
Знания разработчика: поверхностное знание CSS; JavaScript и PHP — практически нулевые; знание архитектуры Drupal, возможность разработки собственных модулей — нет; основной приём разработки — метод научного тыка.
Как видите, Drupal благодаря своей универсальности позволяет даже без специальных знаний создавать проекты средней сложности, поэтому дерзайте — дорогу осилит идущий.
Комментарии
если пару раз увеличить размер текста, то меню плывет.
Спасибо за замечание, действительно плывёт. После увеличения размера текста элементы меню не вмещаются в один ряд и пытаются выстроиться в два ряда, на что оно изначально не рассчитано. Будем ковырять…:)
Update. Удалось пофиксить путём более избирательного применения модуля, вместо тега body (то есть к странице целиком) — к div и его id и классам--> содержимого ноды, сайдбара и комментариев.
Описание отличное, единственное на сайте такого объёма. За это плюс-)