تخصيصات أعجوبة على dokuwiki

{{tagcloud>docs}}
ls wiki/lib/tpl/arctic/sidebars
backlinks  cloud  sidebar2
plugin-feed-ojuba.patch
diff -Naur dokufreaks-plugin-feed-b1bc603/feed.php feed/feed.php
--- dokufreaks-plugin-feed-b1bc603/feed.php	2010-01-07 15:56:22.000000000 +0200
+++ feed/feed.php	2010-08-18 18:03:43.200353779 +0300
@@ -7,6 +7,7 @@
  * @author     Esther Brunner <wikidesign@gmail.com>
  */
 
+global $conf;
 if (!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../../').'/');
 if (!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
 require_once(DOKU_INC.'inc/init.php');
@@ -29,6 +30,9 @@
 $title  = urldecode($_REQUEST['title']);
 $type   = $_REQUEST['type'];
 
+if(!$num) $num=$conf['recent'];
+$num=min(15,$num);
+
 if ($type == '') $type = $conf['rss_type'];
 
 switch ($type) {
@@ -126,18 +130,25 @@
         list($id, $hash) = explode('#', $page['id'], 2);
         $meta = p_get_metadata($id);
 
+        // creator
+        if ($page['name']) $item->author = $page['name'];
+        else if ($page['user']) $item->author = $page['user'];
+        else $item->author = $meta['creator'];
+
+        // description
+        if ($page['desc']) $item->description = htmlspecialchars($page['desc']);
+        else $item->description = htmlspecialchars($meta['description']['abstract']);
+        $wn=4; //number of words
+        $short=implode(" ",array_slice(preg_split("/\s+/",$item->description,$wn+1,PREG_SPLIT_NO_EMPTY),0,$wn));
+
         // title
-        if ($page['title']) $item->title = $page['title'];
-        elseif ($meta['title']) $item->title = $meta['title'];
+        if ($page['title']) $item->title = sprintf('%s:%s: %s ...',$page['title'].$item->author,$short);
+        elseif ($meta['title']) $item->title = sprintf('%s:%s: %s ...',$meta['title'],$item->author,$short);
         else $item->title = ucwords($id);
 
         // link
         $item->link = wl($page['id'], '', true, '&') . '#' . $page['anchor'];
 
-        // description
-        if ($page['desc']) $item->description = htmlspecialchars($page['desc']);
-        else $item->description = htmlspecialchars($meta['description']['abstract']);
-
         // date
         $item->date = date('r', $page['date']);
 
@@ -149,10 +160,6 @@
             else $item->category = $meta['subject'];
         }
 
-        // creator
-        if ($page['user']) $item->author = $page['user'];
-        else $item->author = $meta['creator'];
-
         $rss->addItem($item);
     }
 }
ما هذا