在网上看了很多收费和免费Google Sitemap生成器,觉得其实原理很简单,但是麻烦的是自动定时执行。用perl试着写了一个,从perl入手是因为看中它强大的字符处理能力。但是最后还是放弃了。因为它的数组函数不是很好。于是改用PHP。PHP有几个限制,一个是处理时间。大多数服务器制定给PHP执行的时间不会太长。第二个是模式匹配问题。preg类函数需要编译时加选项。不过所幸的是第一个问题可以通过修改程序流程解决。第二个问题只能通过已有的字符函数加上PHP本身强大的数组处理函数来弥补。由于写得匆忙,还有很多bug。大家遇到的话,麻烦留言给我。
插件安装很简单,解压上传文件夹到plugin文件夹下。到外观扩展->插件管理->安装插件,输入sitemap。
安装好了以后,到外观扩展->插件管理->sitemap->管理。程序开始扫描你的网站,等一会儿(时间要看你网站的大小),等到CRAWL URL QUEUE数量为零的时候,可以看到最下面有提供sitemap.xml或者sitemap.xml.gz下载的连接。下载后上传到你的相应目录即可。
注意:
config.php里是基本的配置,$url_filter是指那些路径不需要搜索,$file_filter是指出那些文件类型不需要搜索。但是考虑到有些特殊的连接是以文件名结尾却打开是个文件的情况,也有考虑。define的MAXSESSION是指有多少个线程同时搜索。
如果你不知道什么是Google Sitemap或者不知道如何申请等等,非针对本插件的问题,本人恕难奉告,请自己查阅Google网站。
下载插件
插件安装很简单,解压上传文件夹到plugin文件夹下。到外观扩展->插件管理->安装插件,输入sitemap。
安装好了以后,到外观扩展->插件管理->sitemap->管理。程序开始扫描你的网站,等一会儿(时间要看你网站的大小),等到CRAWL URL QUEUE数量为零的时候,可以看到最下面有提供sitemap.xml或者sitemap.xml.gz下载的连接。下载后上传到你的相应目录即可。
注意:
config.php里是基本的配置,$url_filter是指那些路径不需要搜索,$file_filter是指出那些文件类型不需要搜索。但是考虑到有些特殊的连接是以文件名结尾却打开是个文件的情况,也有考虑。define的MAXSESSION是指有多少个线程同时搜索。
如果你不知道什么是Google Sitemap或者不知道如何申请等等,非针对本插件的问题,本人恕难奉告,请自己查阅Google网站。
下载插件
很多人问我的侧边栏音乐插件。其实是nuonuo的那个flash好看,因为自己比较笨,所以只能偷来用用了。而且这个侧边栏没有什么技术含量,我本来想将就着用,等有空了做成可以在后台添加删除歌曲的插件。现在只好把它导成blog文件,献给大家解解馋。
安装步骤:
1、下载zip文件解压上传到服务器plugin目录下。
2、在后台管理->常规管理->模块配置->新增/编辑项目中输入插件所在目录,比如(songs),确定
3、进入后台管理->常规管理->模块配置->侧边模块,选择Music模块的编辑,根据你自己网站信息修改栏目内容代码中http://www.mydigitallife.org.uk/plugin/songs/部分。如果你够懒的话,不修改也行,就是用本网站歌曲。
4、配置config.xml和playlist.xml,方法去http://www.jeroenwijering.com/?item=Flash_MP3_Player看看。其实打开zip包里文件,照着写也不会有错。
<embed style="WIDTH: 200px; HEIGHT: 120px" src="plugin/songs/yearn.swf" width="200" height="120" type="application/x-shockwave-flash" />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="200" height="85" id="mp3player"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0">
<param name="movie" value="/plugin/songs/mp3player.swf?config=http://www.mydigitallife.org.uk/plugin/songs/config.xml&file=http://www.mydigitallife.org.uk/plugin/songs/playlist.xml" />
<param name="wmode" value="transparent" />
<embed src="/plugin/songs/mp3player.swf?config=http://www.mydigitallife.org.uk/plugin/songs/config.xml&file=http://www.mydigitallife.org.uk/plugin/songs/playlist.xml" wmode="transparent" width="200" height="85" name="mp3player"
type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
插件下载
安装步骤:
1、下载zip文件解压上传到服务器plugin目录下。
2、在后台管理->常规管理->模块配置->新增/编辑项目中输入插件所在目录,比如(songs),确定
3、进入后台管理->常规管理->模块配置->侧边模块,选择Music模块的编辑,根据你自己网站信息修改栏目内容代码中http://www.mydigitallife.org.uk/plugin/songs/部分。如果你够懒的话,不修改也行,就是用本网站歌曲。
4、配置config.xml和playlist.xml,方法去http://www.jeroenwijering.com/?item=Flash_MP3_Player看看。其实打开zip包里文件,照着写也不会有错。
<embed style="WIDTH: 200px; HEIGHT: 120px" src="plugin/songs/yearn.swf" width="200" height="120" type="application/x-shockwave-flash" />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="200" height="85" id="mp3player"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0">
<param name="movie" value="/plugin/songs/mp3player.swf?config=http://www.mydigitallife.org.uk/plugin/songs/config.xml&file=http://www.mydigitallife.org.uk/plugin/songs/playlist.xml" />
<param name="wmode" value="transparent" />
<embed src="/plugin/songs/mp3player.swf?config=http://www.mydigitallife.org.uk/plugin/songs/config.xml&file=http://www.mydigitallife.org.uk/plugin/songs/playlist.xml" wmode="transparent" width="200" height="85" name="mp3player"
type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
插件下载
由于一直没有很好的音乐插件,所以在看到FLAM Player1.5的时候如获至宝。但是因为是基于数据库和FLASH的。改造起来蛮麻烦的,所以研究了好半天才看懂个大概。不好意思人比较笨。由于时间匆忙,两天赶了个大概框架出来。算是beta版吧。因为之前有个文本数据库版本的测试,所以算它是0.10beta。本人技术有限,美术功底很烂。所以附上FLAM Player1.5代码供大家参考和修改。我的东西只是抛砖引玉。废话不多说了,下载了试试看。
MUSICBOX0.10beta
FLAM Player1.5
MUSICBOX0.10beta
FLAM Player1.5
在上传文件时,看到服务器上有个文件夹命名为error_docs里面放的是主要的网络浏览出错页面。由于是服务商提供的免费页面,很丑陋。于是自己定义了出错页面,并结合blog搜索功能。鉴于自己有多个域名,还需要结合.htaccess文件配置。下面是测试链接和相关信息。
HTTP 403 File Forbidden
HTTP 404 File Not Found
.htaccess增加的配置:(注意:其中的路径名不可和系统默认使用的路径同名)
出错页面shtml文件下载
HTTP 403 File Forbidden
HTTP 404 File Not Found
.htaccess增加的配置:(注意:其中的路径名不可和系统默认使用的路径同名)
ErrorDocument 400 /errors/bad_request.shtml
ErrorDocument 401 /errors/unauthorized.shtml
ErrorDocument 403 /errors/forbidden.shtml
ErrorDocument 404 /errors/not_found.shtml
ErrorDocument 500 /errors/internal_server_error.shtml
ErrorDocument 401 /errors/unauthorized.shtml
ErrorDocument 403 /errors/forbidden.shtml
ErrorDocument 404 /errors/not_found.shtml
ErrorDocument 500 /errors/internal_server_error.shtml
出错页面shtml文件下载
GoogleAdSense是个不错的增加收益,并可以帮助推广你的网站的小工具。但是有个很大的缺憾,就是可以选择的尺寸太少,不能定制大小。挂在blog相应的风格模版上很难看。下面的模块,可以帮你解决这个问题,而且还能很好的融合到你的风格模版中去。操作步骤如下:
1、下载zip文件,解压出AdSense.blog和google_sm.gif两个文件。
2、上传AdSense.blog到plugin目录,上传google_sm.gif到templet中当前模版的images文件夹中。
3、修改templet中的当前模版的style.css文件,加入下列代码。
其中的width和height以及padding-top可根据自己模版的情况调整。记得修改一定要用支持UTF文件的编辑器。
4、进入自动创建模块的后台,导入AdSense.blog模块。
5、修改模块中的google_ad_client ="pub-9810721083557361"和google_ad_channel ="1754499750"中的参数,调整为自己的。
到这里基本上大功告成了,看看效果,在调整一下style.css就可以做到完美。当然背景图案是可以按自己要求修改的。
点击下载GoogleAdSense插件
1、下载zip文件,解压出AdSense.blog和google_sm.gif两个文件。
2、上传AdSense.blog到plugin目录,上传google_sm.gif到templet中当前模版的images文件夹中。
3、修改templet中的当前模版的style.css文件,加入下列代码。
#gsbg_single {
width: 200px;
height: 650px;
background-image: url(images/google_sm.gif);
padding-top: 55px;
}
width: 200px;
height: 650px;
background-image: url(images/google_sm.gif);
padding-top: 55px;
}
其中的width和height以及padding-top可根据自己模版的情况调整。记得修改一定要用支持UTF文件的编辑器。
4、进入自动创建模块的后台,导入AdSense.blog模块。
5、修改模块中的google_ad_client ="pub-9810721083557361"和google_ad_channel ="1754499750"中的参数,调整为自己的。
到这里基本上大功告成了,看看效果,在调整一下style.css就可以做到完美。当然背景图案是可以按自己要求修改的。
点击下载GoogleAdSense插件
Putty是一款很不错的开放源代码的客户端程序,并且内置了SSH客户端支持。不过之前因为没有用户要求,没有试过中文输入和显示的完美配置方法。现在,将摸索出的方法记录如下。
1、在.bash_profile文件中设置下列环境变量,不同的shell作相应的调整。其中LANG因为公司策略,需要以英文为主。如果要起用中文环境,可更改为同字符集相同。另其他字符集显示输入方法也应雷同。
1、在.bash_profile文件中设置下列环境变量,不同的shell作相应的调整。其中LANG因为公司策略,需要以英文为主。如果要起用中文环境,可更改为同字符集相同。另其他字符集显示输入方法也应雷同。
export LANG=en_US
export MM_CHARSET=zh_CN.GB2312
export MM_CHARSET=zh_CN.GB2312
CJK2PS(Chinese Japanese Korean to PostScript) 版本更新到0.10beta。
- 重写了输出部分函数,加快了输出速度,输出流基本达到了和输入流相同速度。
- 修改了PostScript Pagesetup部分函数,以适应输出流加速所需要的每页定义新出现字符的要
求(该部分在打印机输出的效果还需测试)。
- 简化了DoubleByteChar结果。
- 增加了WRAP开关的说明文字。
- 删除CUT开关的定义,改为默认情况下为CUT模式,除非有定义WRAP模式。
- 修正了在没有亚洲文字时无法正常输出PostScript头信息,导致输出PostScript流失败
- 修正了无法正常结束PostScript流的问题。
同一版本:下阶段计划,统一出错代码,将编码转换过程出错退出更改为报错不退出,并用空方块代替出错编码所占位置。整理不必要函数。
后续版本:加入PCL和ESP/C代码转换。
CJK2PS0.10Beta源文件下载
中文宋体TTF文件
日文TTF字体文件下载
- 重写了输出部分函数,加快了输出速度,输出流基本达到了和输入流相同速度。
- 修改了PostScript Pagesetup部分函数,以适应输出流加速所需要的每页定义新出现字符的要
求(该部分在打印机输出的效果还需测试)。
- 简化了DoubleByteChar结果。
- 增加了WRAP开关的说明文字。
- 删除CUT开关的定义,改为默认情况下为CUT模式,除非有定义WRAP模式。
- 修正了在没有亚洲文字时无法正常输出PostScript头信息,导致输出PostScript流失败
- 修正了无法正常结束PostScript流的问题。
同一版本:下阶段计划,统一出错代码,将编码转换过程出错退出更改为报错不退出,并用空方块代替出错编码所占位置。整理不必要函数。
后续版本:加入PCL和ESP/C代码转换。
CJK2PS0.10Beta源文件下载
中文宋体TTF文件
日文TTF字体文件下载
工作的原因需要从基于RedHat Linux的ERP打印输出中文和日文text文件报表,问题是服务器在美国,那边的系统管理员不希望因为这个原因修改系统配置。于是有两个选择,一个是使用带硬字库的打印机来自动识别系统输出的文本文件;另外一种是使用外挂的程序利用软字库在文件输出到打印机前先对文本文件进行处理,然后输出到打印机。在后一种方式下,我看了比较有名的一个程序CNPRINT。可惜的是它的功能过于繁杂,使得真正用于东亚文本转换PS文档的功能不是很完美。觉得如果有一个程序象ENSCRIPT那样简单,但是支持软字库就完美了。无奈之下,只能借鉴CNPRINT的源码,重写了自己的代码。这个程序最终没能用于公司的ERP系统,因为硬字库方案最终胜出。这样匆匆忙了两个礼拜的代码,只能作为自己的兴趣和爱好独自维护了。下面是程序的自带帮助。
Chinese Japanese Korean to Postscript (WINNT) V0.00 beta
USAGE: cjk2ps [-options] [-SWITCHES]
Options:
[-cp gb2312|gbk|big5|jis|shiftjis]:
Input code page(default codepage is gb2312).
[-i input_file]:
Input file name.(default output is stdin)
[-o output_file]:
Output ps filename.(default output is stdout)
[-ln ##]:
Lines every page.(default is 66 line/page)
[-ll ##]:
Character num every line.(default is determined by the paper size)
[-lm ##.##]:
Left margin.(default is 1.5 cm)
[-rm ##.##]:
Right margin.(default is 1.5 cm)
[-tm ##.##]:
Top margin.(default is determin by paper size & lines/page)
[-bm ##.##]:
Bottom margin.(default is determin by pape size & lines/page)
[-ps A4|A3|Letter|Legal]:
Paper size.(default is A4)
[-dm cm|in]:
Unit of measure.(default is cm)
[-co ##]:
Number of copies.(default is 1)
[-ratio ##.##]:
Ratio of font size,minus number for shrinking.(default is 1)
[-ini ini_file]:
ini file name.(default is cjk2ps.ini in same directory of program)
[-dpi #####]:
Output ps file dpi.(default dpi is 600)
Switches:
[-S ] : Silent mode on
[-D ] : Debug mode on
[-H ] : Help
[-L ] : Landsacpe output(default is portrait)
[-LN] : Print line number
[-CN] : Print column number
[-PN] : Print page number
Source Code of CJK2PS.C and TTF.C
下载文件
Chinese and Japanese code conversion map.
下载文件
Chinese and Japanese True Type Font
下载文件
引用
Chinese Japanese Korean to Postscript (WINNT) V0.00 beta
USAGE: cjk2ps [-options] [-SWITCHES]
Options:
[-cp gb2312|gbk|big5|jis|shiftjis]:
Input code page(default codepage is gb2312).
[-i input_file]:
Input file name.(default output is stdin)
[-o output_file]:
Output ps filename.(default output is stdout)
[-ln ##]:
Lines every page.(default is 66 line/page)
[-ll ##]:
Character num every line.(default is determined by the paper size)
[-lm ##.##]:
Left margin.(default is 1.5 cm)
[-rm ##.##]:
Right margin.(default is 1.5 cm)
[-tm ##.##]:
Top margin.(default is determin by paper size & lines/page)
[-bm ##.##]:
Bottom margin.(default is determin by pape size & lines/page)
[-ps A4|A3|Letter|Legal]:
Paper size.(default is A4)
[-dm cm|in]:
Unit of measure.(default is cm)
[-co ##]:
Number of copies.(default is 1)
[-ratio ##.##]:
Ratio of font size,minus number for shrinking.(default is 1)
[-ini ini_file]:
ini file name.(default is cjk2ps.ini in same directory of program)
[-dpi #####]:
Output ps file dpi.(default dpi is 600)
Switches:
[-S ] : Silent mode on
[-D ] : Debug mode on
[-H ] : Help
[-L ] : Landsacpe output(default is portrait)
[-LN] : Print line number
[-CN] : Print column number
[-PN] : Print page number
Source Code of CJK2PS.C and TTF.C
下载文件 Chinese and Japanese code conversion map.
下载文件 Chinese and Japanese True Type Font
下载文件 



September 20, 2006 @ 14:47,






