Мои проекты

MODX Library - в Open Source!


Alek$ ср, 31/08/2021 - 23:45

MODXКак я и планировал, я начинаю по-тихоньку публиковать полезные наработки, использованные мною в phpBB Constructor. Сегодня черед, пожалуй, наиболее важной из них — это MODX Library.

MODX Library — это библиотека, обеспечивающая автоматическую обработку инструкций по установке модов в формате MODX. Идейно этот формат является развитием патчей со значительно расширенным набором операций, удобных при установке модов. В настоящее время подавляющее большинство модов для phpBB3 распространяется именно в этом формате. MODX Library практически полностью реализует поддержку последней версии стандарта MODX 1.2.5, отличия от стандарта описаны в README файле.

Замечу, что именно с этой библиотеки началась работа над phpBB Constructor в начале февраля 2010 года. Впрочем, история разработки конструктора — это отдельная и местами поучительная тема, которой я коснусь как-нибудь в другой раз.

Идеологическим предшественником этой библиотеки была другая моя, гораздо более ранняя разработка под названием Lite MOD Parser, занимавшегося теми же задачами, но только для более раннего формата MOD, популярного в эпоху phpBB2. Сейчас эта штука может быть полезна разве что в исторических целях, а тогда планировалось ее использование в претензиозном проекте Web Update, призванном накорню автоматизировать обновление сайтовых движков. И, вероятно, будь у меня тогда больше настырности и опыта, из этого чего-нибудь бы и вышло :-)

Pastemark: перестаем печатать одно и то же!


Alek$ сб, 12/02/2021 - 01:47

Pastemark!Вот и пришло время анонсировать мини-проект, над которым я работал последнее время.

Предыстория

Отправной точкой для мысли послужил тот факт, что в процессе модерирования на phpBB Guru мне довольно часто приходилось писать служебные посты и личные сообщения примерно одинакового содержания. В какой-то момент мне это окончательно надоело и я занялся поиском расширения для браузера, которое позволило бы хранить и быстро вставлять сниппеты с шаблонами этих сообщений. Каково же было мое удивление, когда я не нашел ничего вменяемого.

Следующим витком поиска стал поиск десктопной проги, но я быстро отказался от этой затеи, поскольку на десктопе и нетбуке у меня используются разные среды и не хочется ни терпеть белую ворону на одном из них, ни привыкать к двум разным прогам. Да и опять же, на нетбуке не так уж и много оперативки, чтобы вешать туда еще что-то.

Третий шаг был типичен для любого программиста — написать свою мини-тулзу. Расширение для FireFox мне писать не захотелось, я уже когда-то связывался с этим и мне совершенно не понравилось: муторно, документация разрозненная, неудобно отлаживать и долго тестировать. И тогда я вспомнил про букмарклеты.

Идея

Сделать набор букмарклетов, которые будут при активации на нужной станице искать поле по заданному критерию и вставлять туда заготовленный текст.

Для удобства использования я на коленке набросал простенький генератор «для себя». Он принимал id поля и текст, выдавал — ссылку-букмарклет. Потом пришли мысли о том, что не всегда можно найти поле по id и была добавлена поддержка атрибута name, а потом еще и выбор по клику. О генераторе, кстати, будет отдельный пост.

Чем дальше я совершенствовал инструмент, тем больше мне хотелось сделать из него что-то общеполезное, и в итоге я решил сделать из него микро-вебсервис и заодно поупражняться в свистелках и перделках верстке и JavaScript.

Pastemark.

Название сервиса было образовано из двух слов ­— «paste» и «bookmark» (и тут же было переведено моей девушкой на русский как «пастомарка» (-: ).

Вот что в итоге этот сервис умеет:

  1. Автоматическая генерация букмарклета с заданным названием и вставляемым текстом.
  2. Возможность выбора целевого поля по id, name или кликом мыши.
  3. Простой инструмент для автонастройки генератора на нужное поле, тоже выполненный в виде букмарклета. (Бета-тестирование показало, что люди, далекие от веб-разработки совершенно теряются в том, как задать целевое поле).

Кроме того, поскольку я по привычке изначально сделал англоязычный интерфейс, сайт существует на двух языках: русском и английском.

За кулисами

Поскольку в своей работе я занимаюсь сервер-сайд программированием, этот проект стал для меня хорошим шансом разнообразить дела и поупражняться в верстке и клиентских финтифлюшках. Поэтому в итоге получилось, что основу сервиса я написал за два неполных вечера, а потом еще неделю оттачивал дизайн и лепил маленькие, но удобные плюшки. Например, сайт умеет подсказывать пользователю, что есть более удобная ему локализация, основываясь на содержимом заголовка Accept-Language. И таких мелочей получилось довольно много, что доставило мне массу удовольствия в процессе написания и тестирования :-)

Разместил я новый сервис, кстати на vps от eomy.net (и реферралка во имя вселенской жадности). Правда о vps я сказал не просто ради пиара, а чтобы поделиться своей находкой. Недавно я открыл для себя очень интересный веб-сервер cherokee, просто подкупившим меня своею легковесностью и изумительным веб-интерфейсом для его настройки. Уверен, будущее именно за таким софтом - свободным, быстрым и юзабельным.

Nevkontakte.me — introducing Qby CMS


Alek$ пт, 17/09/2020 - 10:50

Qby CMSПришло время опубликовать первый из проектов, которые я упомянал в позапрошлом посте. Позвольте представить вам мой новый сайт-визитку: Nevkontakte.ME.

Мысль о том, что неплохо было бы сделать небольшой сайт-визитку проскальзывала у меня уже довольно давно, однако делать еще один тупой трехстраничник в духе "Главная, обо мне, контакты" было неинтересно. И тут я вспомнил об одном из старых постов Тормоза, в котором он предлагал концепт Cuby CMS — движка для микросайтов в виде, как это ни странно, куба. Однако у Тормоза дело не пошло дальше концепта, а у меня как раз была нужда в чем-то оригинальном и в добавок желание поупражняться в JavaScript-fu.

Взяв за основу идею Тормоза, я добавил анимацию перехода между сторонами с помощью CSS3 2D Transforms (по началу хотел для большей реалистичности юзать 3D Transforms, однако его пока поддерживают только nightly-билы вебкита), немного плюшек для более прозрачной навигации и удобную AJAX-админку.

Однако, поскольку я при этом юзал достаточно свежие технологии, в конце пришлось озаботиться совместимостью со старыми браузерами, в результате чего был порожден упрошенный режим без анимаций для динозавров. Кроме того, для полноты счастья был сделан и режил для работы без JavaScript вовсе.

Вживую все это вы можете повертеть на Nevkontakte.ME, а админку посмотреть на скриншоте:
acp-qby.jpg

Единственное, что я не уверен, стоит ли ее распространять, ибо тогда потеряется главная изюминка — оригинальность, ради которой все и затевалось.

Zebrum Bloglike 1.1.4.1 & RegSubmitter 1.3.1


Alek$ ср, 29/07/2019 - 12:24

Кончился месяц разъездов и пришло время в ударном темпе выпускать накопившиеся обновления.


Начну с Zebrum Bloglike. Если кто не помнит, это мод cms для сателлитов Zebrum Lite, предназначенный для создания блогов-сателлитов. В релизе 1.1.4.1 я наконец реализовал давно задуманную фитчу - FakeBurner. Как нетрудно догадаться по названию, это имитатор счетчика FeedBurner, призванный создать иллюзию читаемости вашего сателлита :) Выглядит это чудо вот так: FakeBurner. Чуть позже я выложу отдельный скрипт FakeBurner.

Скачать новую версию можно все там же.


Кроме того, Было сделано обновление RegSubmitter 1.3.1. Обновление носило характер багфиксов ошибок, наделанных в предыдущем обновлении, носившем фундаментальный характер.

Скрипты: Google Cache Dumper & Bing Cache Dumper


Alek$ сб, 06/06/2019 - 13:33

Пострадавшим от 3fn.ru посвящается.

UPD (22.01.2013): Две новости:

  1. оба скрипта более не продаются;
  2. теперь они распространяются бесплатно через GitHub ;-)

Google Cache Dumper v 3.0

Google Cache Dumper - это инструмент, позволяющий максимально просто вытащить все содержимое кеша Google по заданному домену.

Возможности:
- Ограничение количества обрабатываемых страниц выдачи, либо обработка всех, сколько есть.
- Задание интервала между запросами (в секундах)
- Адресация запросов разным датацентрам
- Поддержка работы через прокси и чередование запросов между произвольным количеством прокси.

Требования:
- Веб-сервер
- PHP5 с поддержкой curl и allow_url_fopen=On

Установка и настройка:
1) Распакуйте архив в папку веб-сервера (не обязательно в корень).
2) В той же папке должна быть подпапка out, доступная веб-серверу на чтение и запись (обычно подходят права доступа 0777).
3) Файлы index.php, dc.txt, proxy.txt должны быть доступны веб-серверу на чтение.
4) В файл proxy.txt поместите список прокси, которые будете использовать при парсинге, по одному прокси на строку, формат ip_адрес:порт.
ВНИМАНИЕ! Если оставить файл пустым, то проски использоваться не будет, но возрастет риск бана запросов со стороны Google.
5) Настройка завершена! Откройте скрипт через браузер и приступайте!

Лицензия: WTFPL.
GitHub (скачать последнюю версию).

Bing Cache Dumper v 1.0

Bing Cache Dumper - это инструмент, позволяющий максимально просто вытащить все содержимое кеша поисковика Bing по заданному домену.

Возможности:
- Ограничение количества обрабатываемых страниц выдачи, либо обработка всех, сколько есть.
- Задание интервала между запросами (в секундах)

Требования:
- Веб-сервер
- PHP5 с allow_url_fopen=On

Установка и настройка:
1) Распакуйте архив в папку веб-сервера (не обязательно в корень).
2) В той же папке должна быть подпапка out, доступная веб-серверу на чтение и запись (обычно подходят права доступа 0777).
3) Настройка завершена! Откройте скрипт через браузер и приступайте!

Лицензия: WTFPL.
GitHub (скачать последнюю версию).

PS. Ну и небольшой подарок тем, кто сам умеет кодить и не хочет платить. Я уже публиковал первую версию Google Cache Dumper. В том виде, в каком она там есть она довольно легко попадает в бан, но доработать ее совсем несложно ;)

UPD. Актуальный список датацентров для Google Cache Dumper во вложении.