wordpress搭配sqlite

sqlite作为一个跨平台的数据库,以简洁高效著称。wordpress作为广泛使用的blog系统居然只支持mysql数据库,其他不少blog系统都能支持多数据库,一直都在想要是wordpress配上sqlite多爽啊。甚至想要自己修改wordpress让其搭上sqlite(虽然对于我来说,是近乎不可能的任务)。
不想跟我想法相同的大有人在,不少人都已经实现wordpress+sqlite。这里面最简单的要数wordpress的一个插件pdo-for-wordpress,只需改一点点就可以完成目标。
这里http://wordpress.org/extend/plugins/pdo-for-wordpress/下载插件,把里面的pdo目录和db.php文件直接放在wp-content目录下。再在wp-config.php文件中

define('DB_COLLATE', '');

下方插入

define('DB_TYPE', 'sqlite');

然后就会重新安装wordpress。
wp-content目录下会生成database目录,该目录下有MyBlog.sqlite和.htaccess两个文件。
这就实现了wordpress+sqlite。数据可以通过wordpress自身导入导出功能很方便的导入或是导出。

SyntaxHihglighter高亮插件的实现方法

从http://alexgorbatchev.com/下载SyntaxHihglighter2.0,解压后有三个文件夹,src那个不用管,把其他两个目录下的所有文件拷到新建Hlight的目录下,再把Hilght放到pjblog的Plugins目录下。
然后在header.asp文件中95行左右加入以下内容:


























(shThemeDefault.css可以替换为其他样式表,如:shThemeDjango.css)
类似于Plugins/Hilight/shBrushCpp.js的文件,根据需要添加;
如需使用静态页面,需把上面的内容加入Template/static.htm中。
再在common/ubbcode.asp文件中254行加入:

re.Pattern = "\[code=(.[a-zA-Z]*)([0-9]*)\](.*?)\[\/code\]"
Set strMatchs = re.Execute(strContent)
Dim lang,code,line
For Each strMatch in strMatchs
lang=strMatch.SubMatches(0)
line=strMatch.SubMatches(1)
code=strMatch.SubMatches(2)
strContent = Replace(strContent,strMatch.Value,"

""程序代码""/ "& lang&" 代码
"&code&"
") NEXT

最后再稍微修改下Plugins/Hilight/shCore.css文件,就可以好看点。

margin: 0 0 0 0 !important;

把外边距全改为0,可以更好的融入pjblog的代码框里面的
使用格式:
[code=code231]代码[/code]
code为代码类型:php vb css 等
231为代码起始行号,如果行号从1开始可以不写
fckeditor中直接

代码

http://defe.me/article.asp?id=118

用syntaxhighlighter重做了个代码高亮的插件

syntaxhighlighter_2.0用起来比1.0更舒服,简单改了下,暂时能够使用,效果如下:

try {
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
foreach($dbh->query('Select * from FOO') as $row) {
print_r($row);
}
$dbh = null;
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "< br>";
die();
}

最大的好处就是纯javascript实现,不需要php ajax支持等,而且有多种样式可以选择,明天下班了在接着改!
现在最大的问题是在chrome浏览器下,直接用鼠标选择高亮的代码,会造成对应的标签页假死,只能关闭标签页,重新打开才行,这个是SyntaxHighlighter的问题,官网上也是如此

关于代码高亮插件的问题

用代码高亮插件会带来的问题就,高亮显示的时候有些代码符号会被转义或是替换,最终显示不出,或是有问题。因为要在javascript和php之间交换数据,会带来一些问题,所以还是很麻烦。
转去转来最终还是想完全用javascript实现代码的高亮,SyntaxHihglighter的集成也不复杂,而且效果也还是不错,而且没有我现在用的这个这么复杂。
所以下一步,就是马上改动加入SyntaxHihglighter。