慢享生活 静品人生

typecho的高亮插件

        原来在pjblog自己做了一个高亮插件,发来一些代码,转到typecho后这些代码的处理很麻烦,换新的代码插件还是  直接修改文章内容都很麻烦,相比较而言,修改原文内容更麻烦。所以最好做一个与我原来在pj下使用的插件相兼容的插件就行了,方便又简单。

          但是typecho的插件原理搞不懂,只有下了一个Simple Code 和XHighlighter插件来研究、修改。原来pj下用的是SyntaxHighlighter,te下可以采用geshi和SyntaxHighlighter两种方式进行代码着色。决定用SyntaxHighlighter,因为是javascript代码的,而且代码显示好看方便。功能已实现,现在在想怎么把它做得更好更方便,现在还手工需要在header.php文件中添加内容,每换模板都需要添加一次,现在正在研究怎么动态插入header内容。

代码显示实例

public static function render($value, $widget, $lastResult)

    {

        $value = empty($lastResult) ? $value : $lastResult;

        if ($widget instanceof Widget_Archive) {

            $value['text'] = preg_replace_callback("/\[code=(.[a-zA-Z]*)([0-9]*)\](.*?)\[\/code\]/is", array('FHilight_Plugin', 'parseCallback'), $value['text']);

        }

 

        return $value;      

    }

  public static function parseCallback($matches)

    {

     $temp = trim($matches[1]);

 if(!empty($temp))

 { eval('$' . str_replace(' ', ';$', $temp) . ';'); }

 else

 { $lang = 'Php'; } 

 return '<pre class="brush:'.$matches[1].' first-line: '.$matches[2].'">'.$matches[3].'</pre>';

 }

 

 

日志信息 »

该日志于October 24, 2009由 阿飞 发表在杂记,网页分类下, 你可以发表评论。除了可以将这个日志以保留源地址及阿飞署名的情况下引用到你的网站或博客,还可以通过评论RSS订阅这个日志评论。

相关日志 »

添加新评论 »

返回顶部