Правим 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-шный, а при отправке  - выполняет обратную процедуру.

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

Содержание этого поля является приватным и не предназначено к показу.