Hexo多说评论jQuery版本

上文介绍了为hexo添加多说评论,用的是原生js方式,需要外挂一个js文件,十分啰嗦。
参考了jQuery的帮助文档,发现用jQuery更方便、简洁。
comment.ejs全文如下,其中<!--likaci xxx -->之间部分为添加内容,具体效果参见下方评论框。

<% if (config.disqus_shortname && page.comments){ %>
<!--likaci js init begin-->
<script type="text/javascript"> 
$(document).ready(function(){
   $("#Disqus_bt").mouseover(function(){
     $("#Disqus_bt").css("background-color","#E6EFC2")
     $("#duoshuo_bt").css("background-color","#f5f5f5")
     $(".ds-thread").animate({ height: 'hide', opacity: 'hide' }, 'slow');
     $("#disqus_thread").animate({ height: 'show', opacity: 'show' }, 'slow');
   });
   $("#duoshuo_bt").mouseover(function(){
     $("#Disqus_bt").css("background-color","#f5f5f5")
     $("#duoshuo_bt").css("background-color","#DFF4FF")
     $(".ds-thread").animate({ height: 'show', opacity: 'show' }, 'slow');
     $("#disqus_thread").animate({ height: 'hide', opacity: 'hide' }, 'slow');
   });
});
</script> 
<!--likaic js init end-->
<!--likaci css style begin-->
<style type="text/css">
#Disqus_bt,#duoshuo_bt { padding: 5px 10px 5px 7px; line-height: 17px; display: block; float: left; margin: 0 0 0 9px; background-color: #f5f5f5; border: 1px solid #dedede; border-top: 1px solid #eee; border-left: 1px solid #eee; }
#Disqus_bt{color: #336699}
#duoshuo_bt{color: #d12f19}
</style>
<!--likaci css style end-->
<section id="comment">
  <h1 class="title" style="float:left"><%= __('comment') %></h1>
  <div id="duoshuo_bt" >多说</div>
  <div id="Disqus_bt" >Disqus</div>
  <div style="clear:both"></div>
  <div id="disqus_thread" style="display:none">
    <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
  </div>
<!--likaci add duoshuo begin-->
    <div class="ds-thread"></div>
    <script type="text/javascript">
    var duoshuoQuery = {short_name:"yourshortname"};
    (function() {
        var ds = document.createElement('script');
        ds.type = 'text/javascript';ds.async = true;
        ds.src = 'http://static.duoshuo.com/embed.js';
        ds.charset = 'UTF-8';
        (document.getElementsByTagName('head')[0] 
        || document.getElementsByTagName('body')[0]).appendChild(ds);
    })();
    </script>
<!--likaci add duoshuo end-->
</section>
<% } %>

为hexo添加多说评论

hexo是基于Node.js的静态博客程序,可以方便的生成静态网页托管在github pages服务上,值得一提的是作者是台湾同胞。
hexo是在对比安装了所有可以安装的静态博客引擎之后的选择,octopress pelican liquidluke……
各种引擎并优劣之说,个个都是作者辛苦劳动的结晶,对于平台的选择完全在于个人的喜好。

###添加多说的原因
由于hexo是静态博客引擎,所以评论只能通过js加载外部网页实现。
hexo原生支持Disqus,但Disqus只支持G+ twitter等登陆,不符合兲朝的大国情,所以只能自己动手加。
另外多说好像口碑不太好……

###安装
代码的安装很简单,只需要修改

\hexo\themes\light\layout\_partial\comment.ejs

如果只打算使用多说,可以直接把Disqus部分删掉,加上获取的代码即可。
而打算同时使用Disqus和多说的同学可以参考以下代码,所有以<!--liakc xxxx begin end-->注释为添加的部分。
修改得不好,应该可以更模块化一下,就不提交到git上献丑了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<% if (config.disqus_shortname && page.comments){ %>
<!--likaci tab.js init begin-->
<script type="text/javascript" src="/js/tab.js"></script>
<script type="text/javascript">
window.onload=function(){
var tabtype={trigger:'mouseover',tabCurrentClass:'newclass',auto:false,timer:4000,delay:300 };
tabInit(tabtype,['Disqus_bt','disqus_thread'],['duoshuo_bt','ds-thread'])
}
</script>
<!--likaic tab.js init end-->
<!--likaci css style begin-->
<style type="text/css">
#Disqus_bt,#duoshuo_bt { padding: 5px 10px 5px 7px; line-height: 17px; display: block; float: left; margin: 0 7px 0 0; background-color: #f5f5f5; border: 1px solid #dedede; border-top: 1px solid #eee; border-left: 1px solid #eee; }
#Disqus_bt{color: #336699}
#duoshuo_bt{color: #d12f19}
#duoshuo_bt.newclass{background-color:#DFF4FF}
#Disqus_bt.newclass{background-color:#E6EFC2}
</style>
<!--likaci css style end-->
<section id="comment">
<h1 class="title"><%= __('comment') %></h1>
<!--likaci add button begin-->
<div id="duoshuo_bt">多说</div>
<div id="Disqus_bt" >Disqus</div>
<!--liakc add button end-->
<div id="disqus_thread">
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
</div>
<!--likaci add duoshuo begin-->
<div class="ds-thread"></div>
<script type="text/javascript">
var duoshuoQuery = {short_name:"yourshotname"};
(function() {
var ds = document.createElement('script');
ds.type = 'text/javascript';ds.async = true;
ds.src = 'http://static.duoshuo.com/embed.js';
ds.charset = 'UTF-8';
(document.getElementsByTagName('head')[0]
|| document.getElementsByTagName('body')[0]).appendChild(ds);
})();
</script>
<!--likaci add duoshuo end-->
</section>
<% } %>

注意,tab.js请参考脚本之家,稍有基础的人就能看懂。

ArcMap触摸屏绘图辅助程序

这个脚本应该是写过最长的脚本了(囧,具体有多长有兴趣的可以去看下……

脚本的功能就是作为一个外挂程序,辅助ArcMap使用触摸屏进行绘图,程序的界面提供了最常用的绘图功能。不知道最新版的ArcMap有没有集成类似的功能。
具体的功能可以参照视频。

Read More

批量修改文件夹图标

一个ahk脚本,主要功能是自动寻找文件夹下的exe或ico,并设置为默认文件夹图标。
测试环境是win7 x86,其他系统请自测。
文件已经托管在github上folder icon changer
用法很简单:直接拖拽文件夹到脚本上即可
”详细”的说明见readme


##A script to change folders icon once
An autohotkey script,the main function is change the icon of folders with the *.exe *.ico in the folder.
script is tested in win7 x86, please make your own test.
you can get the script on github folder icon changer
read the readme for more information.

win7下设置TotalCommander为默认文件管理器

前几天刚看完viatc这个程序的介绍,又看到善用佳软在中科大的演讲,最后决定上了total commander(以下简称TC)这个贼船。

##设置Total commander为默认文件管理器
默认情况下TC没有提供设置为默认管理器的方法,翻遍了网上的教程,都只是在xp下的设置,无非就是设置文件夹的关联方式。在注册表HKCR\Folder\shell\open\command下。

##设置为默认管理器后控制面板打不开
但问题又来了,TC在win7下不支持控制面板的打开,很多子项目都无法打开。
在上面提到的注册表键值下,%1参数传递给目标程序。普通文件传递的就是文件的路径,而作为控制面板之类的虚拟文件传递的是::{xxx}类似的CLSID。
所以通过ahk对命令行参数的处理写了个启动器,算是解决了这个问题。
下面是ctotalcmd.ahk

Loop, %0%  ;对每个参数执行一次:
{
    param := %A_Index%
If param not contains ::{,.tib
        Run totalcmd.exe  /O /T /L="%param%"
    Else
        Run Explorer.exe %param%
    p=1
}
    if !p
        Run totalcmd.exe  /O /T 

与之对应的是另一个ahk小程序,安装/卸载totalcmd.ahk

RegRead, IsExp, HKEY_LOCAL_MACHINE, SOFTWARE\Classes\Folder\shell\open\command, DelegateExecute
If(IsExp="{11dbb47c-a525-400b-9e80-a54615a090c0}"){
    RegDelete HKEY_LOCAL_MACHINE, SOFTWARE\Classes\Folder\shell\open\command, DelegateExecute
    RegWrite, REG_EXPAND_SZ, HKEY_LOCAL_MACHINE, SOFTWARE\Classes\Folder\shell\open\command, , `"%A_WorkingDir%\cTOTALCMD.EXE`" `"`%1`"
    TrayTip,,cTotalCommader为默认文件管理器,2000
    Sleep ,1500
    }
Else{
    RegWrite, REG_EXPAND_SZ, HKEY_LOCAL_MACHINE, SOFTWARE\Classes\Folder\shell\open\command, DelegateExecute, {11dbb47c-a525-400b-9e80-a54615a090c0}
    RegWrite, REG_EXPAND_SZ, HKEY_LOCAL_MACHINE, SOFTWARE\Classes\Folder\shell\open\command, , `%SystemRoot`%\Explorer.exe
    TrayTip,,Explorer为默认文件管理器,2000
    Sleep ,1500
}

注意必须放在tc目录下使用,目前对于管理无线网络、字体管理无法打开,需要临时卸载。
仅限于win7,xp请参考@sunwind兄的文章