diff --git a/LaTex/Plugin.php b/LaTex/Plugin.php new file mode 100644 index 0000000..961d832 --- /dev/null +++ b/LaTex/Plugin.php @@ -0,0 +1,64 @@ +<?php +/** + * LaTex 公式解析 + * + * @package LaTex + * @author mutoo + * @version 1.0.0 + * @link http://blog.mutoo.im/LaTex.html + */ +class LaTex_Plugin implements Typecho_Plugin_Interface +{ + /** + * 激活插件方法,如果激活失败,直接抛出异常 + * + * @access public + * @return void + * @throws Typecho_Plugin_Exception + */ + public static function activate() + { + Typecho_Plugin::factory('Widget_Archive')->footer = array('LaTex_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){} + + /** + * 输出尾部js + * + * @access public + * @param unknown $footer + * @return unknown + */ + public static function footer() { + $jsUrl = Helper::options()->pluginUrl . '/LaTex/latex.js'; + echo '<script type="text/javascript" src="'. $jsUrl .'"></script>'; + } +} diff --git a/LaTex/latex.js b/LaTex/latex.js new file mode 100644 index 0000000..3ed80fe --- /dev/null +++ b/LaTex/latex.js @@ -0,0 +1,13 @@ +(function() { + var $ = document.querySelectorAll.bind(document); + var latex = $('code.lang-laTex, code.lang-latex, code.lang-tex'); + for (var i = 0, l = latex.length; i < l; i++) { + var node = latex[i]; + var latex_image = document.createElement("img"); + latex_image.src = "http://latex.codecogs.com/png.latex?"+ node.innerHTML; + + var parent = node.parentNode; + parent.insertBefore(latex_image, node); + parent.removeChild(node); + } +})(); \ No newline at end of file