contentEx = array('Prismjs_Plugin', 'parse'); Typecho_Plugin::factory('Widget_Abstract_Contents')->excerptEx = array('Prismjs_Plugin', 'parse'); Typecho_Plugin::factory('Widget_Abstract_Comments')->contentEx = array('Prismjs_Plugin', 'parse'); Typecho_Plugin::factory('Widget_Archive')->header = array('Prismjs_Plugin', 'header'); Typecho_Plugin::factory('Widget_Archive')->footer = array('Prismjs_Plugin', 'footer'); } /** * 禁用插件方法,如果禁用失败,直接抛出异常 * * @static * @access public * @return void * @throws Typecho_Plugin_Exception */ public static function deactivate() { } /** * 获取插件配置面板 * * @access public * @param Typecho_Widget_Helper_Form $form 配置面板 * @return void */ public static function config(Typecho_Widget_Helper_Form $form) { } /** * 个人用户的配置面板 * * @access public * @param Typecho_Widget_Helper_Form $form * @return void */ public static function personalConfig(Typecho_Widget_Helper_Form $form) { } /** * 输出头部css * * @access public * @param unknown $header * @return unknown */ public static function header() { $cssUrl = Helper::options()->pluginUrl . '/Prismjs/src/prism.css'; echo ''; } /** * 输出尾部js * * @access public * @param unknown $header * @return unknown */ public static function footer() { $jsUrl = Helper::options()->pluginUrl . '/Prismjs/src/prism.js'; echo ''; } /** * 插件实现方法 * * @access public * @return void */ public static function parse($text, $widget, $lastResult) { $text = empty($lastResult) ? $text : $lastResult; if ($widget instanceof Widget_Archive || $widget instanceof Widget_Abstract_Comments) { $text = str_replace('
', '', $text);
$text = str_replace('', '', $text);
$text = str_replace('lang-sh', 'lang-shell', $text);
}
return $text;
}
}