给blog换了一个CSS,哈哈,敢用新瓶装旧酒~~~新主题口味比较重,不喜者可以在页面底部切换:

我看部落格后台使用的是TinyMCE作为rich text editor,这么做主要是为了兼容wordpress——把wp的数据迁移过来可费了牛鼻子劲了——多处代码都是在兼容wp的html过滤和输出,因此为了保持一贯性,现在也就继续使用TinyMCE(我用的版本是3.x,一下代码不适用于2.x)来写东西。
TinyMCE的扩展性还是很不错的,wordpress就把它改了个乱七八糟。我没那个本事也没那个功夫,但是上传图片还是得做的。放狗搜了一把,大都是在讲怎么集成别人做好的上传插件,于是我自己啃了半天wiki,这里把大概的流程记一下:
tinyMCE.init({
//其他的参数
file_browser_callback: 'wfb'
});
function wfb(field_name, url, type, win){}
//field_name: 窗口甲等待填入URI的文本框的id
//url: 对于上传来说就别管了
//type: 这个也不说了,对我们没用
//win: 这就是窗口甲的句柄,后面用来通信
function wfb(field_name, url, type, win){
tinyMCE.activeEditor.windowManager.open({
file : '/admin/uploadImg', //上传窗口的路径
title : '浏览图片',
width : 420,
height : 200,
resizable : "no",
inline : "yes",
close_previous : "no"
}, {
window : win, //告诉它是被谁弹出来的
input : field_name //这个是指生成的图片地址要往哪里填
});
return false;
}
<script src="/tinymce/jscripts/tiny_mce/tiny_mce_popup.js" type="text/javascript"><!--mce:0--></script>
var FileBrowserDialogue = {
init : function () {
var win = tinyMCEPopup.getWindowArg("window");
//就这句关键,IMG_URI应该由服务端生成
win.document.getElementById(tinyMCEPopup.getWindowArg("input")).value = 'IMG_URI';
tinyMCEPopup.close();
}
};
tinyMCEPopup.onInit.add(FileBrowserDialogue.init, FileBrowserDialogue);
于是URI就能填回去了。
其实蛮简单的,就是几个概念有点绕。
在这个乌云密布气氛凝重的特别的日子来临之际,小弟的个人网站也面临一个迫切的问题:这个两年前和一个哥们以及另外几个人合租的Dreamhost空间(顺便广告一下,我觉得dh的服务和品质还算不错,他们几个也还在继续合租,如果谁有需求我可以代为牵线,很便宜的,空间流量什么的肯定用不完)到期了,也就是说我的网页没地方放了。因此大家看到这篇文章的时候也许也发现了,地址栏的网址开头加上了一个blog.,从此之后blog.wokanxing.info就是我的Blog所在地了,对于订阅的朋友呢,我目前在wokanxing.info做了一下重定向,所以不改也没关系,不过如果您有闲工夫,也可以更改一下地址,新的feed地址跟原来是一样的,只是开头也要加上blog.,就是blog.wokanxing.info/feed,哈哈。我保证在可见的将来不会再麻烦列位看官修改了,这个重定向我也尽量保证正常工作。
现在这个Blog用的是我自己写的程序,跑在Google的服务器上。俺不是一个专业的码工,也没有花心思来弄这个玩意,所以使用过程中难免会出现问题,希望大家能通过各种渠道告诉我呵呵。另外一个比较麻烦的技术问题是由于光明正确的万里长城对我们弱小心灵的保护,所以这个新Blog有可能时不时无法访问,当然各位完全无需理会,反正我也很少更新(这也是我不继续合租的原因)。出问题的时候我会及时在主站(wokanxing.info)上说明,谢谢大家的理解支持!
PS.:最后说一下,我快要毕业了,现在正在准备答辩,这个Blog将伴随我进入工作岗位了,希望到时候能有多一些东西写
之前说过要在app engine上搭一个blog,现在已经有了一个样子了,真正如假包换的手工打造噢~看来有望在明年初投入使用 感觉这东西用起来还是挺方便的,反正也是自用,没有太多条条框框约束,想到什么就写什么,要不是坐在电脑前诱惑太多,现在估计都已经完工了。现在唯一担心的就是说不准哪天app engine就要被全面封杀了,到时候可就真是欲哭无泪了。
猛然间又已经一个月没写东西了,想想这一个月发生了什么事?什么事也没发生……今天早上出门的时候马拉松在中关村这段已经基本结束了,校门口的警卫也已经全部撤走了,奥运终于要渐行渐远了,回想一下还真是一场盛宴啊!接下来貌似并没有太多好事,一边是沸沸扬扬的奶粉事件,一边是惨淡的股市行情和经济危机,似乎年底之前都不会有什么令人兴奋的事情发生了,而且十一一过,找工作的战役就要打响了……躲了三年,再也没地方躲了
这段时间因为工作关系接触了一些python的代码,越发觉得有意思,可惜没有时间好好研究,只能是碰到问题现查手册,所以感觉始终在门外徘徊。今天突然冒出来一个想法,反正这个blog也是越写越没劲了,再花美金租着空间就显得非常2了,正好伟大的G公司有提供App Engine,我想着能不能自己写一个blog程序,然后把wordpress这边的数据迁移过去。关于原创我已经不是第一次冲动了,前一阵子自己还搞了个wordpress的主题,不过因为各种原因虎头蛇尾了,今天不知怎么又来兴趣了,顺手记一把留着以后回忆。
当然在App Engine上搭blog也属于重新造轮子了,国人已经在这方面有所建树,比如水木python版的大牛小七同学就写了一个plog,并且更牛的版大N23还在此基础上开了个branch。但是本着学习的目的,自己写一个不但能带来量身定做的舒畅性,想必更有助于内力的提升,这方面perl大牛某batt定是深有体会了。
当然这个计划看上去很遥远,一来现在没有大二那会儿整天整天的时间可以挥霍了,二来就算有时间,我可能也不能专心的投入到这里去……不管怎么说吧,希望明年春节前都能有个办法转移我看行,wordpress这东西的代码对于我来说太复杂了,自己想改个啥都无从下手。
前一阵子在飞猪的blog上看到了这个玩意,觉得蛮有意思的,不过他用的是MT,东西不能直接搬过来,转念一想原理也很简单,相关函数wp自己也都有了,遂决定写一个给自己用。现在利用空闲时间写了个雏形出来,不过因为修改了一些wp自己的文件,所以没法作为一个单独的plugin放出来了,等有时间了再改一改。
wp用的抓取、分析rss的库是开源的Magpie,不过是很圡的版本,没有做输入编码检测,直接调用了php(我的版本是4.x)的xml_parser_create,虽然UTF-8的feed误打误撞能正常工作,但用GBK编码的feed诸如百度空间因为输入输出编码不一致就乱了,0.72用了一个hack,于是我把相关代码贴倒了wp-includes/rss.php。
页面上的显示现在看起来好像和其他部分不大和谐,特别是用IE6的时候因为PNG的透明问题看起来更难看 对于用filter解决的那种办法,我想还是不用了,还在用IE6的同学,请尽快升级吧!现在的图片是fireworks输出的PNG-8,用的alpha透明,好歹也能看出个样子了。据说这种解决方法不错,我也不懂哈哈。
至于更新文章的标题,我直接借用了wp_links表的link_notes域,反正看上去也没啥实际作用。输出的时候又把wp-includes/bookmark-template.php一顿改,感觉好难看,但是用filter又达不到目的,先只能这样了。
ps.,今天看到google说已经可以用server side的方法使用feed api了,好像用这个更方便啊o_O
用svn直接co了trunk,现在是2.4-bleeding了,bloody cool 终于可以去掉UTW用native tag了,虽然不知道到底有没有什么性能提升...而且现在的tag cloud变得难看了,选项太少
续:没两天就碰到bug了,不过开发人员反应还真是快哈哈~
前一阵子海豚跟我反应在八闽大地各处均无法访问我看行,我经过一番推理之后把责任推给了dreamhost,遂写信咨询,名为咨询,实为质问,因为他们的客服态度实在很好,让我总是忍不住用词严厉一些。对方依旧很快地回了信——因为他们觉得遇到了FAQ——向我耐心的解释说风闻贵国政府在互联网之上架设了一道令世界瞩目的长城,很不幸您的网站已经被认定为敌对势力而被拦在长城之外,然后又向我推荐独立ip说如何如何的好。我说这堵墙敝国民众还是很熟悉的就不劳烦解释了,但我的情况是有人能访问有人不能访问,对方又回信搬出另一套陈词滥调说我们的服务器正在调整,DNS正在全面更新,我看他们好像也没什么办法了,只好打算作罢,好歹还是有人能看到的 但之后的一天我突然意识到可能有些人是通过www.wokanxing.info访问的,会不会是自己的问题,马上去域名管理一看,果然ip某位错了一个数字,原来用这个域名一直都是不能访问的 看来思维定势真是厉害,也许在很多人看来网址都应该是www+.com的,虽然我在推介自己的blog的时候总是完整地写出了http://wokanxing.info,但还是有人会自觉地加上www,习惯的力量真是伟大啊
今天看到新闻说M$已经在messenger中过滤带有.info域名的信息了,上网一搜才发现原来.info已经是臭名昭著,google第一条就是.info really should be .spam,伤心啊.....不过也是没办法,好不容易想出来一个这么好玩的域名,可wokanxing.com、wokanxing.net什么的都已经被抢了,正好.info又在打折,看来真是命中注定本命年一衰到底啊
春节的时候看到Surpasshosting这个网站做的促销,最豪华的10G空间/500G流量也才$1/1sty,所以就买了一个玩玩,所以就有了这个blog。当然这么好的事自然吸引了不少人,所以不出一个月就感觉访问速度明显变慢,不过至今没有撞墙也算是难得了 。
其实把东西放在国外感觉也很无奈,一方面国内的虚拟主机性价比实在不高,还难维护(普通价位好像没见有支持SSH的) ,还要考虑各种网络之间的互连速度(当然我这里就不用考虑了,每天几乎都是搜索引擎爬虫在访问,对机器人就不用照顾它们的感受了);另一方面还要搞ICP备份(我当时也搞了一个,但一直没用上),感觉在页面上放一个icp备太恶心了,但不放又会被和谐掉,综合一对比还是老外的空间划算,比如这个dreamhost。
不过六七刀/月的价格虽然对老外来说跟免费没啥区别,但在我这种穷学生眼里还是不少的...幸好可以合租,如果大家rp都不错的话,这种方式应该是最划算的了。现在的我看行已经放在了dreamhost上,而且起码可以再存在两年....
顺便写一下过程吧,其实同域名搬wordpress根本就没什么问题,在原来的空间tar一下所有文件再从新空间wget过来...问题出在数据库上,我找了一下网上很多人说可能会有乱码(mysql 4.1x的编码真是想想就头痛,从来就没搞懂过),不过我一次就成功了 先dump,把导出文件替换一下% s/latin1/utf8/g,再source...导入。没事了
真正麻烦的把域名的问题,真后悔当初一冲动在那个叫做vdnw的湾湾(一开始我也没看出来,英文网站嘛,结果后来想找客服的时候才赫然发现他们的电话是886开头的...)reseller那里买了这个域名,管理界面无比复杂,我折腾了半天没弄明白怎么把默认的name server去掉...无奈之下之后修改了域名指向的ip,将就了...
Follow-up: 有路人反映无法进入文章阅读页面,看了一下居然是url rewrite失灵了...在dreamhost的help wiki上翻了半天,他们根本就没提这事...想来也是,这年头估计没有哪个服务器不打开mod_rewrite的了...无奈删掉.htaccess让wordpress又生成了一遍,居然就好了 应该不会再有别的问题了吧,昨天晚上给前东家发了封信要求取消帐户,那边也倒爽快,马上回了封信说已经砍掉了...