在 Blogger 中使用 google-code-prettify 显示程式码

google-code-prettify 是一支不错的程式码高亮度显示程式,特点为:

  1. 支援 15 种程式语言(但某些语言似乎还没完成)
  2. 程式仅两个档案
  3. 加载速度较快

缺点为:

  1. 跟 IE 的相容性比较不佳,在 IE 内复制程式码时无换行符号
  2. 无行号显示
  3. 仅支援 "<pre>" 区块
  4. 程式码过长时不会自动显示卷轴 (可透过修改 CSS 解决)

安装步骤

  1. 修改 blogger 样板,搜寻 "</head>",在 "上方" 加入
    <link href='http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.css' type='text/css' rel='stylesheet' />
    <script type='text/javascript' src='http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.js'></script>

    (因为 "偷吃步" 的关系,程式直接连到 google-code-prettify 的 SVN 上,你可以视情况下载回来放到自己的服务器)

  2. 继续搜寻 "<body>",在标签内的 onload 事件加入:
    prettyPrint();
  3. 储存即可。

使用方法

      使用 "<pre>" 区块,需将 "&" 转换为 "&amp;"、"<" 转换为 "&lt;"、">" 转换为 "&gt;":
<pre class="prettyprint">
程式码
</pre>

参考网页

在 Blogger 的文章中加入 "隐藏内文/继续阅读" 功能

Blogger 中的文章因为没有 “隐藏内文” 及 “继续阅读” 的功能,所以就会把整个网页拉得很长,较不利于阅读。并且,如果文章内有很多图片的话,那加载的时间就会变得很长。

以下的内容是我参考其它 Blogger 的做法所做的改良,主要的不同,就是我觉得其它 Blogger 在加载时会先显示全文,再做隐藏,视觉上的效果比较不好,我把它改成一开始就会隐藏内文了,也可以避免自动加载内文的图片。

安装步骤

  1. 编辑样版,搜寻 “</head>”,在其上方加入:
    <b:if cond='data:blog.pageType != "item"'>
    <style>
    #fullpost { clear:both; display:none; }
    #read-more { float:left; color:#FFFFFF; background-color:#00FF00; border:1px outset; padding:2px; text-decoration:none; font-weight:bold; font-family:Arial; }
    </style>
    </b:if>
  2. 继续搜寻 “<body>”,在标签内的 onload 事件加入:
    if(window.readMore){readMore();}

    继续在下一行加入:

    <b:if cond='data:blog.pageType != "item"'>
    <script type='text/javascript'>
    var tagSpan = document.getElementsByTagName('span');
    var more1 = new Array();
    var more2 = new Array();
    function readMore(){
      var x = 0;
      for(var i=0; i&lt;tagSpan.length; i++){
        if(tagSpan[i].id == 'fullpost'){
          more1[x] = tagSpan[i];
          var readMore = document.createElement('a');
          readMore.setAttribute('id','read-more');
          readMore.setAttribute('href','javascript:toggleMore('+x+')');
          readMore.setAttribute('onclick','toggleMore('+x+');return false;');
          readMore.appendChild(document.createTextNode('Read more &gt;&gt;'));
          more2[x] = more1[x].parentNode.insertBefore(readMore,more1[x]);
          x++;
        }
      }
    }
    function toggleMore(theElement,theStatus){
      if(theStatus == true || more1[theElement].style.display=='' || more1[theElement].style.display=='none'){
        more1[theElement].style.display = 'block';
        more2[theElement].innerHTML = '&lt;&lt; Less';
    //  more2[theElement].parentNode.removeChild(more2[theElement]);
      }else{
        more1[theElement].style.display = 'none';
        more2[theElement].innerHTML = 'Read more &gt;&gt;';
      }
    }
    function expandAll(theStatus){
      for(var i=0; i&lt;more1.length; i++){
        toggleMore(i,theStatus);
      }
    }
    </script>
    </b:if>

    请注意一下程式码的第 25 行,如果将前面的注解拿掉,则访客展开内文之后,”Read more” 的连结就会自动消失了。

  3. 储存即可

使用方式

    你必需在 Blogger 编辑文章时使用 “修改 HTML” 模式,在要显示/隐藏内文的部份用下列标签包起来:

    前文
    <span id="fullpost">
    欲隐藏的内文
    </span>

全部展开/隐藏全文

    你如果想要增加一个的控件,可以用来展开或隐藏所有文章的内文,则请自行新增一个 “HTML/Javascript” 网页元素,内容:

    <input id="expand-all" onclick="if (window.expandAll){expandAll(this.checked)}" type="checkbox">
    <label for="expand-all">Expand All</label>

解决 “隐藏内文/继续阅读” 失效的问题

安装 VMware 的 VMware-Tools

VMware 安装完虚拟电脑的 GuestOS 后,第一件事就要装 VMware-Tools 了,VMware-Tools 主要是更新一些 for 你安装的 GuestOS 的 Driver,让这一台虚拟电脑可以跑得正常、跑得顺畅,最重要的是,鼠标可以在 HostOS 跟 GuestOS 之间自由穿梭。
Read more

在 Linux 中安装 MPlayer

Linux 上的 MPlayer 就好比是 Windows 上的 KMPlayer 或暴风影音,内含 Player 及各种 Codec,只要安装好,就可以播放任何格式的影片及音乐档,以下介绍 MPlayer 的 TarBall 及 RPM 的安装方法。

安装好之后,"mplayer" 为文字接口的播放程式,而 "gmplayer" 为图形接口的播放程式。下列的安装步骤,如果选用 TarBall 的方式安装,在安装时则已设定好中文接口了,而 RPM 的方式只能装在 CentOS 4.x 或 RHEL 4.x 的版本,并且接口为英文。

以原始码 TarBall 方式的安装步骤

  1. 先安装可能缺少的套件:
    yum install libpng*
    yum install gtk2-devel
  2. 下载并复制 codec:
    cd /usr/local/src
    wget http://www.mplayerhq.hu/MPlayer/releases/codecs/all-20061022.tar.bz2
    tar -jxvf all-20061022.tar.bz2
    mv all-20061022 /usr/lib/codecs
  3. 下载 mplayer 原始档:
    cd /usr/local/src
    wget http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc1.tar.bz2
    tar -jxvf MPlayer-1.0rc1.tar.bz2
    cd MPlayer-1.0rc1
  4. 编译及安装 mplayer (安装路径为 "/usr/local/MPlayer1.0"):
    ./configure --enable-gui --with-codecsdir=/usr/lib/codecs --with-win32libdir=/usr/lib/codecs --with-reallibdir=/usr/lib/codecs --with-xanimlibdir=/usr/lib/codecs --disable-inet6 --language=zh_TW,en --prefix=/usr/local/MPlayer1.0 --charset=utf8
    make
    make install
  5. 设定字幕的字库 (其中的 ukai.ttf 可替换为任何 Unicode 的中文字库):
    cp /usr/share/fonts/chinese/TrueType/ukai.ttf ~/.mplayer/subfont.ttf
  6. 安装默认的 skin 给 gmplayer 使用:
    wget http://www1.mplayerhq.hu/MPlayer/Skin/PowerPlayer-1.1.tar.bz2
    tar -jxvf PowerPlayer-1.1.tar.bz2
    mv PowerPlayer /usr/local/MPlayer1.0/share/mplayer/skins/default
  7. 建立程式联结,以便直接执行执行程式:
    ln -s /usr/local/MPlayer1.0/bin/mplayer /usr/local/bin/
    ln -s /usr/local/MPlayer1.0/bin/gmplayer /usr/local/bin/
  8. 额外的 Skin 可以到这里下载,下载完,请解开放到 [/usr/local/MPlayer1.0/share/mplayer/skins/]

以 RPM 方式安装步骤(仅适用于 CentOS 4.x 或 RHEL 4.x)

  1. 下载 RPM 档:
    mkdir /tmp/mplayer
    cd /tmp/mplayer
    wget http://ftp.wl0.org/RPMS-rhel4-various/mplayer-1.0pre7-2.i386.rpm
    wget http://ftp.wl0.org/RPMS-rhel4-various/mplayer-gui-1.0pre7-2.i386.rpm
    wget ftp://fr2.rpmfind.net/linux/falsehope/home/rathann/apt/7.3/RPMS.stable/mplayer-skin-default-1.0-2.noarch.rpm
  2. 进行安装:
    rpm -ivh *.rpm
  3. 取代字幕的字库(其中的 ukai.ttf 可替换为任何 Unicode 的中文字库):
    cp /usr/share/fonts/chinese/TrueType/ukai.ttf /usr/share/mplayer/subfont.ttf
  4. 额外的 Skin 可以到这里下载,下载完,请解开放到 [/usr/share/mplayer/Skin/]

疑难杂症

  • Q. 播放影片时,无法显示中文字幕?

    A. 到 [喜好设定] -> [字幕及OSD],将 "编码" 选 "繁体中文字集 (BIG5)",将 "统一码字幕" 打勾.再到 [字型] 将 "编码" 选 "统一码"。

  • Q. 播放影片时,影片无法缩放大小?

    A. 到 [喜好设定] -> [视讯],将 "可用的驱动程式" 选 "gl2" 或别的类型,再重新启动程式播放影片。

在 CentOS 4.x 安装 Subversion 1.4.3

Subversion (简称 SVN) 是目前最热门的版本控制套件,因为语法与 CVS 相近,又是改良自 CVS,几乎所有平台的 OS 都有支援,目前正快速地进占版本控制的霸主地位。以下介绍 Subversion 在 CentOS 4.x 或 RHEL 4.x 下的安装步骤。

安装 Subversion

安装步骤:

  1. 先移除系统上的 Subversion 1.2.x
    rpm -e subversion
  2. http://summersoft.fay.ar.us/pub/subversion/latest/rhel-4/i386/ 下载最新版的 subversion,下载符合下一个步骤中相同名称的 rpm 套件。
  3. 依序安装:
    rpm -U apr-x.x.x-x.i386.rpm
    rpm -U apr-util-x.x.x-x.i386.rpm
    rpm -ivh subversion-x.x.x-x.i386.rpm
    rpm -ivh mod_dav_svn-x.x.x-x.i386.rpm
    rpm -ivh subversion-perl-x.x.x.x.i386.rpm
    rpm -ivh subversion-tools-x.x.x-x.i386.rpm
  4. 这样就 OK 了!

以 SVN+SSH 存取档案库

使用 “SVN+SSH” 的存取方式就是直接使用主机上的用户帐号做存取。而你所要被用户存取的档案库其实就是一个子目录,因此要存取的用户必须有可以读取及写入该目录的权限。

语法:

svn+ssh://帐号@主机名称/档案库绝对路径

范例:

svn+ssh://[email protected]/var/svn/repositories

其中 user1 必须要在 192.168.1.1 这台主机上有 [/var/svn/repositories] 目录的读取及执行权限 (建议设为群组)

从 Web 存取档案库

网页主机需安装有 “dav_svn_module” 模组,在 httpp.conf 内设定:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<location>
DAV svn
#设定 SVN 储存库的根目录
SVNParentPath /var/svn
#设定 SVN 储存库的目录
#SVNPath /var/svn/repositories
Satisfy Any
Require valid-user
AuthType Basic
AuthName "SVN Repository"
#用户认证的帐号/密码档 (使用 htpasswd 建立)
AuthUserFile /etc/svn/svn_htusers
#用户存取权限设定档
AuthzSVNAccessFile /etc/svn/svn_access
</location>

参考网页

在 Linux 中切换默认的桌面

在 Linux 中切换默认桌面的指令为:

switchdesk

ex. 切换为 KDE 桌面:

switchdesk kde

KDE 与 GNome 桌面的执行指令分别为 startkde 与 gnome-session

[Perl]Perl 的相关网页资源

手册

教学/手册

Read more

在 Windows 使用“非对称金钥”来远端登入 SSH 的方法

在 Linux Server 下使用 SSH 的“非对称金钥”来进行远端登入的方式相信大家应该都不陌生 (没实做过的可参考鸟哥或 study-area 的文件),下面我所要介绍的是在 Windows 下使用金钥来远端登入 SSH 的方法。

开始之前,先说一下“非对称金钥”:

“非对称金钥”是一种加密机制,由用户端以特定的加密算法产生两把“非对称”金钥: 即“公钥 (Public-Key)”与“私钥 (Private-Key)”。然后我们会把“私钥”留在自己的电脑,再把“公钥”传送到远端主机,当两把金钥碰在一起就会进行加解密比对,以确认是否彼此的身份是可以信任的,藉以执行特定的作业。

说得更简单一点,与其说是“公钥”与“私钥”,不如说是“锁头”与“钥匙”,由我自己来打造一组锁头及钥匙,我把这个锁头装在一个门上,然后我就可以用我的这一把钥匙来打开这扇门了! 同时呢,我也可以把相同的锁头装在很多的门上,那我就可以用这一把钥匙来开启很多门了…这样子的概念是否有比较清楚了呢?!

Read more

Linux 磁盘相关指令

磁盘分割

磁盘代号说明:

  1. IDE 硬盘,第一到四颗分别为: hda, hdb, hdc, hdd
  2. SATA 或 SCSI 硬盘,第一到四颗分别为: sda, sdb, sdc, sdd

Read more

以 rsync 进行远端同步备份

rsync 是 Linux 当用的远端档案的备份、同步程式,目前由 samba 的团队在发展,它有它自己的算法,可以很有效率的传输档案,支援 rsh 及 ssh 加密传输,应该是目前最常被做为资料同步或异地备援的工具。

大部份的 Linux 应该都有安装 rsync 了,如果没有,直接用 yum 安装即可:

yum install rsync xinetd

本文章只有说到 Linux 上最基本的备份、同步方式,如果你要知道与 Windows 或 ssh 有关的实作方式,目前没有。
Read more

return top