emlog4.2.1 语法高亮的修改方法

    其实这算不上emlog的插件,我还没有仔细看过emlog插件的实现机制,所以这里只能提供修改方法,好在修改挺简单的。

    1、把语法高亮的语法文件解压后,连同目录放到 include/lib/这个目录下。
    2、修改你所使用的前台模板的header.php ,在

<?php doAction('index_head'); ?>
   之前加上:


    <script type="text/javascript" src="<?php echo BLOG_URL; ?>include/lib/js/jquery/jquery-1.7.1.js"></script>

    <script src="<?php echo BLOG_URL; ?>include/lib/syntax/jquery.syntax.js" type="text/javascript"></script>

    <script src="<?php echo BLOG_URL; ?>include/lib/syntax/jquery.syntax.cache.js" type="text/javascript"></script>

   有些模板可能已经添加了对jquery的引用,如果版本高于1.6,那就不需要再添加对jquery1.7.1的引用了。

     这样其实就可以了。如果需要语法高亮,可以在写文章时,把要语法高亮的代码,用<pre class="syntax php"> </pre>括起来。具体class里面不同的语言如何写,可以参考语法高亮的语法文件压缩包里那些js的文件名。

  如果还想进一步,在后台写blog时,可以自动插入代码,那就用附件中的 editor 替换掉blog自带的编辑器(把admin/editor目录下文件及目录删除,然后把editor解压后上传上去)。

  最后,修改一下日志编辑的模板(这步可以不做),即修改admin/views/add_log.php 找到

  <script charset="utf-8" src="./editor/kindeditor.js"></script>

  在后面加上

  <script charset="utf-8" src="./editor/lang/zh_CN.js"></script>

  之前有用过emlog其他语法高亮插件,不过都有bug,比如这个帖子中的代码,用以前的插件,就无法正确高亮显示。(这个也有bug,不过情形好一些)

抢沙发...

xshell 与 securecrt 列表相互转换

     xshell 和 securecrt 都是是强大的安全终端模拟软件,支持安全连接。最近受朋友所托,写了个xshell与securecrt相互转换的脚本,使用这个脚本,可以共享xshell和securecrt的配置文件。代码如下:

阅读全文>>

抢沙发...

unicode实体码转换

  最近碰到个问题,某接口返回类似下面这种数据:

  the result of this test is :

\x{8FD9}\x{662F}\x{4E00}\x{4E2A}\x{6D4B}\x{8BD5}\x{FF01}。

  这里的中文字符是用unicode编码(16进制)保存的,"还原”数据的方法有很多,我也写了一个,代码应该比较精简的了吧。


<?php
function conv_entities($text){
     $out_str = preg_replace_callback(
          "|\\\x\{(.*)\}|U",
          create_function(
              '$matches',
              'return mb_convert_encoding("&#".hexdec($matches[0]).";", "utf8","HTML-ENTITIES");'
          ),
          $text
      );

return $out_str;
}

//demo
echo conv_entities("
	the result of this test is :
	\x{8FD9}\x{662F}\x{4E00}\x{4E2A}\x{6D4B}\x{8BD5}\x{FF01}。
	");
?>


抢沙发...

修正mysql表注解和列注解

     朋友在mysql控制台下导入创建表结构的语句时,没有设置默认字符集utf8(而恰巧mysql设置的character_set_client和character_set_connection以及character_set_results设置的都是latin1),从而导致表注解和列注解都变成乱码了。这个数据库有大量的表和字段,而且是在数据库已经启用一段时间后才发现的,手动修改比较麻烦,于是我写了个这个小脚本。

    使用方法:将标准的表结构导出,命名为struc.sql,与这个脚本放在一个目录下,之后命令行执行 php charset.php>out.sql 将修改表和列注解的语句写入out.sql,之后将out.sql导入需要修复的数据库即可。

    当然,也可以将需要修复的数据库数据导出,然后创建正确的数据结构,再将数据导入。

    ps : 悲催的mysql,要修改列注解,必须要知道列数据类型(定义),而修改列定义,意味着如果表数据量大的话,耗时会比较长。

抢沙发...

linux中如何杀掉僵尸进程(defunct 进程)

  重启系统可以消除掉僵尸进程,不过更多的时候,系统是不能重启的,这是可以这样做,来杀掉僵尸进程。

  首先执行 ps eal |grep defunct |grep -v grep ,就可以列出所有僵尸进程,在第4列(有些版本可能是第5列,自己看咯),就是这些僵尸进程的父ID(PPID),之后查看一下服ID是什么进程,如果可以关闭或者重启的进程,那么直接kill -9 相应PPID 就可以消除掉相应僵尸进程。

  写成一条命令就是 kill -9 `ps -el|grep defunct|grep -v grep|awk '{print $4}'`

  当然还有其他很多写法啦。

抢沙发...

你绝对认不出这些颜色

请迅速说出下面这些字的颜色而不是字的读音

绿绿

抢沙发...

将每个screen的输出日志记录到单独的文件中的方法

    流行的linux发行版通常会带有screen这个很实用的程序。.默认情况下,如果在screen命令中加入-L参数,所有screen输出都会记录到screenlog.0文件中。例如执行下述两条命令:

    screen -LS test1

    screen -LS test2

  会创建2个screen,不过日志都会记录到当前目录下的screenlog.0文件中,使用起来可能不太方便。实际上可以修改/etc/screenrc,加入logfile /root/log/screenlog_%t.log ,然后将screen命令修改为

    screen -LS test1 -t test1

    screen -LS test2 -t test2

  也就是给screen设定个window name,这样输出日志就会记录到/root/log/screenlog_test1.log和/root/log/screenlog_test2.log中。

抢沙发...