8 августа 2012 г. Django Wordpress

Гудбай вордпресс!

С каждым днём я всё сильнее отклоняюсь от PHP, на днях я переехал с Wordpress на Marcus (исходный код тут), хоть Wordpress и дарил много возможностей, иногда полезных, иногда нет, но чаще они были просто излишними, а мне тем временем не хватало:

  • двуязычности (я знаю что есть плагины для wordpress, но в своё время я их не осилил);
  • markdown (аналогично предыдущему);
  • лёгкости (простоты) интерфейсов;
  • производительности (которую теперь я в силе легко повысить);
  • возможности легко поменять функциональность на необходимую, так как на python/django мне куда легче что-то написать, нежели чем на PHP.

Желание использовать Marcus имелось с 2010-го года, но я всегда находил себе оправдания или бросал посередине переезда (было 3 попытки как минимум). Бросал из-за отсутствия утилиты миграции, готовых шаблонов и сложности сборки воедино и установки этого блог-движка.

Неделю назад я начал изучать аналоги Marcus, смотрел Zinnia (но там не работал заявленный импорт данных из Wordpress, смотрел немного byteflow и pelican - они мне концептуально не подходят. Вообщем Marcus как нельзя лучше подходил под мои нужды и я решил его допилить до полноценного решения:

  • Добавил миграцию из Wordpress (изначально код взят из Zinnia, но очень много переписано, также имеется функциональность pipelines чтобы можно было дополнительно фильтровать полученный от Wordpress данные)
  • Добавил sitemap для статей и flatpages
  • Добавил теги, мне их не хватает
  • Исправил некоторые мелкие баги
  • Улушил по мелочи некоторые вещи:

    • автоматическое вычислени slug-поля

    • автоматичекое определение языка комментария (но это надо еще дорабатывать конечно)

    • экшен для множественной публикации в админке комментариев

    • загрузка файлов к статье и отрисовка превьюшки в случае если это картинка

    • и т.д.


Пообщавшись с Иваном Сагалаевым, мы решили что я сам опубликую код Marcus у себя на GitHub, так как у Вани пока нет времени его мейнтеймить.

В ближайшее время добавлю к себе в блог следующую функциональность (в Marcus она не войдёт):

  • Поиск, так как есть зависимость со SphinxSearch и django-sphinxsearch
  • Выведу в сайдбаре категории и теги (которые на самом деле уже есть)
  • Выведу фид для комментариев

Непосредственно в Marcus добавлю следующее:

  • Улучшу внешний вид шаблонов, выведу всю информацию которая передается в шаблон
  • Подсказку по синтаксису Markdown рядом с формой комментирования
  • Уведомления о новых комментариях на почту
  • Прикручу базовую защиту комментариев от спам-ботов

Статистика

Между прочим после обновления блога и фида соответственно, с 402 подписчиков я дошел до 253, зато рич поднялся до 70, обычно в районе 5. Возможно повлияла смена домена с "ru" на "com".

Статистика по Google Analytics не изменилась, а счетчик от LiveInternet я вообще удалил (так как он убог для текущего времени).

К слову о статистике, посещаемость у этого блога такая же как у форума http://pyha.ru/.

Оформление

Текущее оформление позаимствовано у piranha (Alexander Solovyov), и как обычно для истории оставлю тут скриншот предыдущей версии блога:

предыдущий дизайн
текущий дизайн

Спасибо Ване за пиар: New life of Marcus

Комментарии

Кос (Абырвалг) 8 августа 2012 г. 17:36

Прошлое оформление было приятней

Я вот тоже переезжал недавно на джанго, но посмотрев все готовые решения пришел к выводу что проще написать самому. Пара моделей и несколько вьюшек вот и весь блог. Единственным сдерживающим фактором может быть миграция с одного блога на другой.

softwaremaniacs.org Комментарий достойный внимания 8 августа 2012 г. 18:08

Поздравляю! Теперь бы ещё дошли руки посмотреть в diff, понять, что можно к себе утянуть :-).

Абырвалг, да, тут мнения расходятся, уже заметил. Я ещё много чего доработаю, может тогда будет получше

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

Вань, вижу плохо я прикрутил поддержку openid, сегодня-завтра починю.
А по поводу diff'a, то я прогонял код на pep8/pyflakes, там в связи с этим много изменений. Впринципе все изменения отражены в этом коммите

softwaremaniacs.org 9 августа 2012 г. 0:46

Спасибо, посмотрю!

Святослав (adwo) 12 августа 2012 г. 15:43

Оформление норм. Подправить отступы в некоторых местах и жить можно =)

Надо тоже блог открывать по-немногу. Все руки не доходят никак.

дашь старый шаблон он WP?

Подправить отступы в некоторых местах

Спасибо, в каких местах?

дашь старый шаблон он WP?

Дам, дай email свой

Святослав (adwo) 12 августа 2012 г. 16:18

Спасибо, в каких местах?

На главной все очень как-то странно смотрится.

vvitalvas {a} yandex {dot} ua

p.s. удали мой первый коммент, а то как-то криво опублико

adwo, думаю после добавления поиска, категорий и тегов все станет лучше :)

Почему иконка эпсилова?

Она совсем другая, и я тоже имею полное право на букву "a" :)

VitalVas, отправил тему

Вань, VitalVas, пофиксил поддержку OpenID

Добавь еще oauth авторизацию, будет полезно....

Имеешь ввиду всякие twitter/vk/facebook?

Помню старый сайт. Стало гораздо лучше.

Спасибо, Сергей!

ну нифига себе! во даешь! такую красоту убил!

срочно переверстывай в старый диз, он был крут и гармоничен!

ну а жанго и ф африке жанго!

А мне текущий больше нравится, ничего лишнего :-)

чо блин столько настроек впендюрил обязательных! 10 января 2013 г. 23:37

я ЗОЛ!!!!

Пытаюсь развернуть.

убило в сеттингс

MARCUS_ROOT = os.path.dirname(marcus.__file__)

:-)

Ну это же опенсорс, возьмите да улучшите, если вам это мешает.
Я понимаю что это выглядит стремно, надо их в дефолт-сеттинг всех завернуть, но мне лень :-)

Да вот и я начал задумываться о переезде:) с тех пор как в декабре'12 начал изучать Python/Django:))) Joomla, Wordpress, Bitrix - там конечно много функционала, но всё работает по-черепашьи (хотя есть приемлемые варианты, но они платные)...Но самое главная проблема - это если нужно немного поменять функционал модуля, плагина и т.д. В Joomla это делается особенно извращённо:). В Wordpress дела обстоят немного лучше. Bitrix - так про эту cms я вообще лучше промолчу...что можно говорить, когда заявленный в релизе функционал начинает работать, только с выпуском новой версии...

Я вообще серьезно не могу относится к продуктам на PHP, даже не потому что язык плохой, это просто статистические заметки из жизни, всё теже битриксы, жумлы и т.д. привели к этому. Надо меняться, а они всё там же.

Django меняется, хотя ей и трудно из-за большого функционала и достаточно высоким требованиям к качеству. её спасает достаточно профессиональное комьюнити (контрибьютеры и ментейнеры, и контроль по принятию изменеий в кодовую базу).

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

Все чаще посещают такие же мысли. у меня несколько сайтов на ВП(с не очень-то большой посещаемостью), пришлось выделенный сервер брать, насколько сильно ВП грузит сервер. Используй я другой движок, смог бы остаться на обычном хостинге.

Оставьте свой комментарий

Markdown