mirror of
https://github.com/typecho/plugins.git
synced 2024-12-21 20:40:08 +08:00
Merge pull request #3 from mutoo/master
Add GoogleAnalytics Plugin and Upgrade LaTex Plugin
This commit is contained in:
commit
448da96487
68
GoogleAnalytics/Plugin.php
Normal file
68
GoogleAnalytics/Plugin.php
Normal file
@ -0,0 +1,68 @@
|
||||
<?php
|
||||
/**
|
||||
* Google Analytics
|
||||
*
|
||||
* @package GoogleAnalytics
|
||||
* @author mutoo
|
||||
* @version 1.0.0
|
||||
* @link http://typecho.org
|
||||
*/
|
||||
class GoogleAnalytics_Plugin implements Typecho_Plugin_Interface
|
||||
{
|
||||
/**
|
||||
* 激活插件方法,如果激活失败,直接抛出异常
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
* @throws Typecho_Plugin_Exception
|
||||
*/
|
||||
public static function activate()
|
||||
{
|
||||
Typecho_Plugin::factory('Widget_Archive')->footer = array('GoogleAnalytics_Plugin', 'render');
|
||||
}
|
||||
|
||||
/**
|
||||
* 禁用插件方法,如果禁用失败,直接抛出异常
|
||||
*
|
||||
* @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)
|
||||
{
|
||||
/** 分类名称 */
|
||||
$account = new Typecho_Widget_Helper_Form_Element_Text('account', NULL, 'UA-XXXXXXX-X', _t('Google Analytics 帐号'), _t('此帐号可在 GA 管理平台查询;格式为 UA-XXXXXXX-X 。'));
|
||||
$form->addInput($account);
|
||||
}
|
||||
|
||||
/**
|
||||
* 个人用户的配置面板
|
||||
*
|
||||
* @access public
|
||||
* @param Typecho_Widget_Helper_Form $form
|
||||
* @return void
|
||||
*/
|
||||
public static function personalConfig(Typecho_Widget_Helper_Form $form){}
|
||||
|
||||
/**
|
||||
* 插件实现方法
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public static function render()
|
||||
{
|
||||
$account = Typecho_Widget::widget('Widget_Options')->plugin('GoogleAnalytics')->account;
|
||||
echo "<script type=\"text/javascript\">var _gaq = _gaq || [];_gaq.push(['_setAccount', '{$account}}']);_gaq.push(['_trackPageview']);(function() {var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);})();</script>";
|
||||
}
|
||||
}
|
@ -4,7 +4,7 @@
|
||||
*
|
||||
* @package LaTex
|
||||
* @author mutoo
|
||||
* @version 1.0.0
|
||||
* @version 1.1.0
|
||||
* @link http://blog.mutoo.im/LaTex.html
|
||||
*/
|
||||
class LaTex_Plugin implements Typecho_Plugin_Interface
|
||||
@ -39,7 +39,10 @@ class LaTex_Plugin implements Typecho_Plugin_Interface
|
||||
* @param Typecho_Widget_Helper_Form $form 配置面板
|
||||
* @return void
|
||||
*/
|
||||
public static function config(Typecho_Widget_Helper_Form $form){}
|
||||
public static function config(Typecho_Widget_Helper_Form $form){
|
||||
$mark = new Typecho_Widget_Helper_Form_Element_Text('mark', NULL, 'latex', _t('自定义标记'), _t('在 Markdown 语法环境下使用以下代码进行公式转换:<blockquote>```自定义标记<br/>公式<br/>```</blockquote>'));
|
||||
$form->addInput($mark);
|
||||
}
|
||||
|
||||
/**
|
||||
* 个人用户的配置面板
|
||||
@ -60,5 +63,7 @@ class LaTex_Plugin implements Typecho_Plugin_Interface
|
||||
public static function footer() {
|
||||
$jsUrl = Helper::options()->pluginUrl . '/LaTex/latex.js';
|
||||
echo '<script type="text/javascript" src="'. $jsUrl .'"></script>';
|
||||
$mark = Typecho_Widget::widget('Widget_Options')->plugin('LaTex')->mark;
|
||||
echo '<script type="text/javascript">latex.parse("'. $mark. '");</script>';
|
||||
}
|
||||
}
|
||||
|
@ -1,13 +1,29 @@
|
||||
(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;
|
||||
(function(global) {
|
||||
var previousLatex = global.latex;
|
||||
|
||||
var parent = node.parentNode;
|
||||
parent.insertBefore(latex_image, node);
|
||||
parent.removeChild(node);
|
||||
global.latex = {
|
||||
parse: function(mark) {
|
||||
if (!mark) {
|
||||
return;
|
||||
}
|
||||
|
||||
var $ = document.querySelectorAll.bind(document);
|
||||
var nodes = $('code.lang-' + mark);
|
||||
for (var i = 0, l = nodes.length; i < l; i++) {
|
||||
var node = nodes[i];
|
||||
var latex_image = document.createElement("img");
|
||||
latex_image.src = "http://latex.codecogs.com/png.latex?" + node.innerHTML;
|
||||
// replace with image
|
||||
var parent = node.parentNode;
|
||||
parent.insertBefore(latex_image, node);
|
||||
parent.removeChild(node);
|
||||
}
|
||||
|
||||
},
|
||||
noConflict: function() {
|
||||
global.latex = previousLatex;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
})();
|
||||
|
||||
})(this);
|
@ -2250,7 +2250,7 @@ var zen_editor = (function(){
|
||||
* @include "editor.js"
|
||||
* @include "../../aptana/lib/html_matcher.js"
|
||||
* @include "../../aptana/lib/zen_coding.js"
|
||||
*/
|
||||
*/
|
||||
|
||||
/**
|
||||
* Search for abbreviation in editor from current caret position
|
||||
|
Loading…
Reference in New Issue
Block a user