Моя збірка Mosquito Bloody Mary
Мене тут попросили викласти збірку Mosquito Bloody Mary, на якій працює цей сайт. Mosquito це безкоштовний двигун з відкритим кодом, написаний на PHP. Легкий, відкритий, по-своєму класний. Я трішки допиляв його під свої вимоги, але це було півроку тому, всіх змін вже не пам’ятаю. Те що знайшов — пишу тут.
Переважно всі редагування це якісь дрібниці. Основні зміни — у файлах шаблонів.
- Дати постів виводяться у форматі типу «16 лютого 2014 о 21:18». Не забув про 11 годину, для неї виводиться «об» замість «о» :). Крім того, для сьогоднішніх чи вчорашніх записів, замість повної дати виводиться «Сьогодні» чи «Вчора» відповідно. Ця зміна десь у файлі data/functions.inc.
- Додав посторінкову Ctrl-навігацію. Тобто можна пересуватись між сторінками записів за допомогою комбінацій кнопок Ctrl+стрілочка вбік (для старіших записів — стрілка вправо, для новіших — вліво). Файл data/actions/blog.inc.
- Українізував двигун. Файли в теці lang.
- Щось змінив у плагіні теґів (файл plugins/tags/funcs.inc). Лінь розбиратись, що то таке, ну та й начхати :)
- Зробив так, щоб в RSS потік записи виводились лише до кату, і вставлялось «Читати повністю» з лінком на повний запис. Файли у теці rss.
- Якісь дрібні зміни у index.php.Тепер до змін у шаблонах.
- Дизайн робив свій з нуля. CSS стилі, іконки і тд. Спершу намалював psd шаблон, потім зверстав, потім натягнув його на Mosquito. Наполегливо прошу його не використовувати, а переробляти під себе, не будьте козлами :).
- З шаблонів коментарів я випиляв оригінальну москітівську форму коментування і запиляв Disqus. Файли templates/comment.html, templates/comment_a.html, templates/comment_form.html, templates/comment_last.html. Сам Disqus я теж трошки редагував, про це був запис.
- Адмін-панель в мене окремим блоком, зліва. Дрібні зміни у templates/head.php.
- Багато змін у templates/post.html. Розписувати не буду, шаблон запису чудово видно тут на сайті.
Не пригадую, як виглядають налаштування запису в оригінальному Москіті, але в мене вони виглядають отак:
Виводяться n найчастіше вживаних теґів, їх можна вставити до запису просто по кліку. Файл templates/post_form.html.
- На тому ж скріні вгорі видно, що в мене кастомні красиві чекбокси замість стандартних :)
- Змінив вигляд, у якому виводяться записи в режимі архіву (як виглядає вживу можна глянути тут). Тут для обрізання запису до певної кількості слів використовується ф-кція cutString, її я дописав у data/functions.inc.
Mosquito використовує WYSIWYG редактор Nicedit. Його я теж переробляв під себе:
- Українізував.
- Додав функціонал для вставки кату, цитат, коду з Pastebin, відео з Youtube. Самі функції у файлі nicEdit.js. Перелік кнопок, які використовуються в редакторі можна змінити у файлі templates/post_form.html (там де створюється об’єкт nicEditor). Іконки для своїх кнопок додав у спрайт templates/nicEditor.png.
- Зробив, щоб Nicedit аплоадив зображення на мій сервер, а не на Imageshack. Файл nicUpload.php (в оригінальній збірці він відсутній).
- Переписав функцію для вставки зображень із сторонніх сайтів. Там тепер можна вибирати кількість зображень, які будуть в рядку, щоб створювати щось аля-галерей.
- Зробив, щоб при спробі закриття незбереженого запису видавалось попередження (про це теж був запис).
Загалом форма редагування записів в мене виглядає так:
- Українізував і трошки змінив вигляд додатку Shadowbox (в оригінальній збірці його нема, можна завантажити тут).
- Ще є різні дрібні зміни у файлах шаблонів.
Крім того я написав свій маленький двигун для смітника, але його викладати не буду, він надто примітивний, там навіть редагування записів нема).
Завантажити збірку можна тут.
Розбиратись в коді, написаному автором двигуна — складно, розбиратись після того, як я туди щось подописував — взагалі смертельно. Тому важко уявити, як комусь може пригодитись ця збірка, але попросили, то виклав :)