Правим Windows Live Writer модуль под Друпал
Давно юзаю Windows LIve Writer. Всё хорошо, как блогинг-клиент - отличный. Настраивать легко. Но вот одно НО! Да-да. Жирное НО. Не понимает Drupal-break, приходилось ставить вручную. Ну, я то, ладно, мне не привыкать, за две секунды в исходном коде вставил - и готово. А вот попросил жену пописать статьи, и вижу - тормоза. Ей лучше вообще в исходный код не переключаться, ибо забывает вернуть назад...
Поперся на Drupal.org. Посмотрел - а там решение лежит готовое. Кому интересно посмотреть оригинал - тут.
Я сделал вольный корявый перевод.
Замена в WLW -шного блогерского сплиттера на Drupal-брейк
Этот патч позволяющий Windows Live Writer пользователям использовать "Сплит пост" (<!--more-->), чтобы отделить тизер от остальной части поста, заменив его на сплиттер, используемый в Друпале (<!--break-->).
Для тех, кто не знает(л) - в WLW есть такая кнопка, тока она бесполезная для Друпаловцев была без этого патча. Поищите на тулбаре вверху.
А вот его текст
Index: wlw_blogapi.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/wlw_blogapi/wlw_blogapi.module,v retrieving revision 1.16 diff -u -r1.16 wlw_blogapi.module --- wlw_blogapi.module 6 Jan 2009 06:31:46 -0000 1.16 +++ wlw_blogapi.module 27 Jan 2009 06:38:19 -0000 @@ -949,6 +949,7 @@ $text = str_replace('<p>&#160;</p>', '', $text); $text = str_replace('<p>&nbsp</p>', '', $text); $text = str_replace('<p></p>', '', $text); + $text = str_replace('<!--more-->', '<!--break-->', $text); //$text = str_Replace('&eacute;', '?', $text); //$text = str_Replace('&#233;', '?', $text); //watchdog('wlw_blogapi', 'func: _wlw_blogapi_filter_extra_code, text = <pre>$text</pre>', array('$text' => print_r($text, true))); @@ -980,8 +981,9 @@ else if ($node->comment == 2) { $comment = 1; } - $xmlrpcval['content'] = "<title>$node->title</title>$node->body"; - $xmlrpcval['description'] = $node->body; + $body = str_replace('<!--break-->', '<!--more-->', $node->body); + $xmlrpcval['content'] = "<title>$node->title</title>$body"; + $xmlrpcval['description'] = $body; // Add MT specific fields $xmlrpcval['mt_allow_comments'] = (int) $comment; $xmlrpcval['mt_convert_breaks'] = $node->format;
В, общем, вручную я взял модуль wlw_blogapi.module, нашел там строчки, помеченные минусом, удалил их и добавил строчки, помеченные плюсом. Судя по описанию, модуль работает в двух направлениях - при чтении ноды WLW-шником, он меняет друпаловский брек на WLW-шный, а при отправке - выполняет обратную процедуру.

Комментировать