继上周末折腾了一个 《搜道美女时钟》,本周又折腾了一个不错的好东西,实在不敢独享特写下词文章与众淫分享。

那到底是什么好东西呢?

其实感觉就光个文章标题也不太好描述,所以我在此处在具体的描述一下,这到底是个什么不仅不错还是个好的东西。

故事背景:

去年的9月份刚刚认识WordPress的时候我就下定决心,制作一个适合自己的主题,过了很久之后,我就在网络中发布共享了自己的第一款Wordpress主题–junior2010 ,后来在毕业前夕,制作了corner2010 ,工作以后就又制作了faceblog,期间纯仿制过一款主题,与人合作过一款主题。

故事延伸:

wp主题制作,我都是在本地xampp下边写代码,边构思样式,边查看效果,边测试功能,我不断的在代码编辑器与浏览器之间频繁切换,也曾有过进入梦境的感觉,代码也是纯手工书写,当一个主题制作的差不多之后,我就有了急切上线的欲望,于是就上线了。

问题所在:

主题上线之后,我会呆在电脑前仔细的欣赏着自己的“杰作”,恍惚中又感觉是进入了一种自恋的境界,但是主题也会存在一些问题,于是我在本地修改,修改的差不多之后,我再将修改过的文件,用flashfxp(一个FTP工具)上传到我的博客空间服务器。问题在于是—-有时候,我在本地修改了之后,并没有立刻上传,结果隔了一天或者是几天之后,我发现我一些修改的文件都不记得了,于是为了保险期间,我会把本地所有的wp主题文件有FTP全部上传到博客空间,最终的结果是,很多时间纠结在了到底要上传那些wp主题文件,以及用ftp上传文件的等待中。

开始好转:

后来,工作了一段时间后,我会用SVN了,于是我试着用SVN来控制我的wp主题代码的修改,并且我也学会了SVN合并的功能,所以在我制作Faceblog这款主题的时候,我就理所当然的使用SVN为我的WP主题进行版本控制了,每发行一个主题的版本我就会在我的wp主题版本库里,打一个tag,我发现这是一件很愉快的事,并且,我还把主题分成了两类,一类是,发行版的主题,一类是自己使用版的主题,而我自己使用版的主题,不仅包括了发行版里的所有功能和样式,而且还有很多发行版里没有的功能和样式,这就需要分支到trunk的合并。

今天折腾:

前面废话一大坨,主要是回味一下过去自己折腾wp主题的经历,今天折腾才是重点,很早前我在知道svn之后的一段时间,知道了svn有个hooks(钩子)的功能,当时仅仅是知道,并不知道到底能干嘛用,直到昨天,我看了某位仁兄的博文之后再有了一种恍然大悟的感觉,于是我决定要摆脱目前制作主题时的各种繁文缛节。

软体准备:没有这些软体,怎么折腾?如果可以自己写出来那会更好了,但我是个懒人,我就是会用别人现成的,折腾过程中发现问题后再解决问题,折腾中用到的软体有如下这些:

  1. VisualSVN SERVER(windows下的SVN服务端管理器)
  2. tortoisesvn(windows下的SVN客户端)
  3. php-ftp-client(PHP版FTP客户端,一个PHP类库)
  4. php-svn-client(PHP版SVN客户端,一个PHP类库)
  5. php-svn-hooks(SVN-hooks  post-commit.bat调用的就是里面的post-commit.php文件,还有一个config.php配置文件)

用这五个小软件,当然也有几个类库,你就这可以开始着手折腾了。

最终你将会:使用VisualSVN SERVER管理服务你的WP主题版本库,tortoisesvn客户端更新、提交、合并WP主题版本库,并且当你提交之后,SVN HOOKS会调用(执行)你当前版本库hooks文件夹里的post-commit.bat文件,而这个文件又会初始化php版的ftp和svn,将读取到的svn更新,通过php-ftp-client同步更新到你的博客空间,当然前提是你在config.php里配置好了。

OK了,下篇文章我会详细的写一下 这个实现(或者叫部署)的过程,以及在这个过程中遇到的问题。

怎么感觉废话这么多?