Category: 未分类

  • 推荐这个Articles插件

    Articles 1.0,这是Alexking写的一个插件,留心的朋友应该已经从WordPress后台的Dashboard里面看到了,利用它可以把自己blog里面一些值得读的日志整理出来放到一个页面中(其实也不限于是一个页面)。对某些人可能比较有用。

    想把某文章加进该页面需要为它加一个名为article的custom field,值为1。可以通过新建一个页面模板来实现,或者用它默认打开的”token”方法,显示效果可以选择单列或双列,具体用法见插件中所带的说明文件。效果可以看我的Articles页。

  • WordPress的一个小bug

    今天删除了一个无用的分类,该类下有一篇文章,文章除了属于这个分类外还属于默认分类。删除后,偶然发现在默认分类中该文章竟然出现了两次,在数据库中直接查询了一下,果然是有重复的行。

    看来删除分类的时候,WP想当然地认为该分类下的日志没了爹,就应该进孤儿院。可是爹死了说不定还有妈在,这样做有点着急了,至少应该检查一下,没有的话再划到默认分类里面。

    WP也没有检测重复分类,显然是疏忽了,如果考虑到这点,自然也就有上面的想法了。默认分类不一定是垃圾坑,我就把Uncategorized类别删除了,默认分类是Blogging。

    我觉得正确的做法应该是检查一下这些文章有没有别的类别,有的话就不用加默认分类了。不知道其他用户什么看法?我已经在trac里面提交了这个问题,见Ticket #3460

    Update: Trac里面有了回应,说这在2.1里面已经修正了,有可能加到2.0.7版本中。

  • 梦见回去了

    好像是这里把我开除了,也不知道是回到哪里了,跟高中的同学说我回来了,似乎是回到高中了,连教学楼都是高中时的样子。可是同时又有一种想法,开除当然不太爽,好在合肥这个城市比北京要安静得多,尤其是──网络比中科院好一百倍:smile:,似乎又是在科大。

    开除我吧!

  • 用好WordPress的ping功能

    ping是blog最基本的功能之一,WordPress作为当前最优秀的blog系统之一,当然在这方面也做得相当好,pingback,trackback,该有的都有了。

    尽管这是最基本的功能,许多blogger可能根本没有用过或注意过,甚至不知道这是什么东西。它不是操作系统中测试网络状态的那个ping工具,而是在blog之间或者blog与其它服务之间进行通知的一种机制。

    经常会有这样的情况,在别人的blog上看见一篇文章,看完之后很有一些想法。可是这么有价值的东西,放在自己的blog上岂不是更好吗?然而这样做的话又怎么能让原文的作者和其他阅读同一篇文章的人分离自己的观点呢?这时候就该trackback出马了。一般的blog每篇日志都在显要位置给出一个trackback地址。在WordPress里写文章的时候,编辑框下面有一栏“Trackbacks”,在那里填写你要通知的日志的trackback地址。这样在发表文章的时候,你的blog就会向被trackback的日志发送一个ping。这个ping消息里面包含一个摘要,就是你的文章的开头。如果ping成功的话,对方的留言区就会出现你的文章的摘要,并且有文章的链接。

    你可能会说,还要找到对方的trackback地址填写到那里,真麻烦。那么可以选择另一种方式。在Options->Discussion里面,第一个选项就是“Attempt to notify any Weblogs linked to from the article”,打开它。对别人的文章作评论时,一般会写“某某某说什么什么”,再加上他日志的链接。日志发布时WordPress就会自动通知你文章中出现的所有链接。发表后如果ping成功,他的日志留言里也会出现你的文章摘要。不过和trackback有区别的是,这个摘要是链接出现位置周围的那一段。

    前面提到ping可以让blog通知其它的服务而不限于blog。Technorati和Weblogs.com之类的就是一些blog目录服务器,它们搜集各个blog里面的日志并且做一些处理,提供搜索等服务,让读者更方便地获取信息。WordPress的Options->Writing管理页最下面有一个“Update Services”,把相应的ping服务器填写进去,有新文章发布时就会自动通知这些网站,让它们来抓取最新的文章。WordPress在这里默认添加了一个Ping-o-Matic! 的地址。Ping-o-Matic! 并不是面向读者的,它像FeedBurner一样为你分担任务,你只要通知它一个服务器,它就会为你通知许许多多的服务器。

    如果你使用了FeedBurner或者Feedsky之类的RSS烧制服务来为你分担流量和统计订阅者数据,最担心的可能就是它的更新速度问题了。发表文章后你肯定希望更新后的Feed被抓取并更新到FeedBurner或Feedsky的Feed,以让读者尽快看到,但是烧制者的服务器又无法过于频繁地做查询更新的无用功。这时候ping又可以发挥作用了。Feedsky刚刚发布了它的Ping接口,地址是http://www.feedsky.com/api/RPC2,把它填写在Update Services里面,发表文章时就会自动通知Feedsky,它的bot很快就会过来看你的blog有没有更新,有的话就重新烧制Feed。实际上FeedBurner已经在Ping-o-Matic!的列表中,所以不用再操心了,如果你还嫌Ping-o-Matic!慢而想直接Ping,就把FeedBurner的ping地址(http://ping.feedburner.com/)也加上。试一下,Feed一般在十分钟之内应付更新,足够了。需要注意的一点是,Feedsky的bot是看head里面的RSS链接来查找更新的,所以要把WordPress本身的RSS链接(通过调用bloginfo(’rss2_url’);)加进去,否则接到通知也无法更新。

  • wine in Edgy

    今天才发现原来在Ubuntu Edgy里面,wine已经相当好了。运行魔兽时,除了偶尔声音稍微有点不对劲,其他一切都非常好,声音的缺陷也基本上没什么影响。

    cedega在模拟的时候有几点很不爽。首先是不能输入中文,wine模拟时Ctrl+Space中文输入法就出来了,输入也很正常。另一点是进去以后除非退出游戏,否则无法切换到其他程序(不过中途有Gaim聊天窗口弹出的话可以出来,也许是有办法切换的,我不了解),而在wine中,这个全屏的模拟窗口跟其它窗口有相同的行为,可以Alt+Tab随意切换。但随之而来的一个不便之处就是Alt和鼠标右键同时按下时,就出来了操纵窗口的菜单。

    刚运行了一下winecfg,Graphics里有一项设置叫“Allow the window manager to control the windows.”,可能cedega默认把这个关闭了吧,应该也可以设置。那里也写着,如果禁用这个选项的话,模拟的效果会更好一些。

    可惜的是我现在用wine和cedega都无法成功模拟CS。

    Mark在上次party上透露7.04版本的一个亮点就是使游戏在Linux中更容易玩,希望wine到时候能做得更好。

    游戏伤身,少玩为好

  • Shuttle project is dead

    自从某次发现Shuttle这个项目我就开始期待它被WordPress纳入,它在界面和易操作性上比WordPress原有的后台有很大的提升,看看它主页上的图片就知道了。

    今天早上看到Brian’s Latest Comments插件有更新,感觉很奇怪,他已经好久没更新过了,而且我用得好好的。原来是Binary Bonsai将Blog更新到2.1 Alpha后出现了兼容性问题,详情见WordPress 2.1 Alpha Notes

    文中提到测试版本有了Autosave的功能,非常值得期待。我们经常会遇到浏览器意外关闭后辛辛苦苦编辑的内容丢失的情况,虽然可以通过插件添加自动保存功能,但集成在WordPress里面就方便多了。

    同一页面(包括comments)也提到了关于Shuttle的坏消息。难怪这个项目最近没什么动静了,Matt似乎并不喜欢Shuttle的开发方式。我本来想着到2.10版本时整个Shuttle项目会被融合进来,现在看希望不大了,最多只是一小部分。不过WordPress的后台也没什么大的缺陷,够用就好了。

    另外WP的Roadmap里2.0.6应该是在12月1日就该发布了,推迟到现在还有一个active ticket。2.1版本还是“no date set”,不过进度已经到98%,应该快了。

  • 用好WordPress的quicktag editor

    自从开始用WordPress就不停地寻找一个完美的编辑器,它自带的tinyMCE实在是太垃圾了,经常会自作主张地整理HTML代码,从而把我们想要的格式抹掉,尤其在排版代码的时候最郁闷。

    后来也用过EditorMonkey,很大,载入页面很慢,这个是不想用它的主要原因。另外Autosave这样的插件也不正常工作,用FCKEditor作编辑器的话,上传图片也不支持直接点发送填到文章里面。

    最终还是觉得WordPress的quicktag editor最爽,它不会随意修改HTML代码,而且页面载入飞快,因为没有了带图片的工具栏。

    比如你想加一段引文,点一下b-quote按钮,<blockquote>就出现在了编辑器中,引文输入完成,点击Close Tags,blockquote关闭标签就出来了。

    但是quicktag editor的按钮还是太少了。如果要加一些按钮怎么办呢?非常方便,有一个插件叫做WP-AddQuicktag,可以快速地为quicktag editor增加按钮。

    但是这个插件插入的按钮全部是追加在原有按钮的后面,如果你想自已定义按钮的顺序,也不难,打开wp-includes/js/quicktags.js文件,它的顶部就是添加按钮的代码,照葫芦画瓢就可以了。比如要添加一个插入段落标签<p>的按钮,可以在合适的位置加入这样的代码:

    edButtons[edButtons.length] = new edButton('ed_p'
    ,'p'
    ,'<p>'
    ,'</p>'
    ,''
    );

    更多方法可参考WordPress Quicktags Guide。参考quicktags.js中img按钮的做法,应该也可以实现自己的比较复杂的功能。

    对不喜欢默认可视化编辑器的稍微了解HTML的用户,推荐使用这个编辑器。看样子有不少WP用户是这样的,比如那个mimeTex作者就是,他甚至不知道WYSIWYG编辑器会把<tex>这样的标签剔除。

  • 应对垃圾留言的困境

    前阵子pulq的留言总是被Akismet ban,显然是根据IP判断的。我便发邮件给akismet的support,回复说,让朋友在podz.wordpress.com留个言,他会分捡出来。我便让pulq通过代理上那个网址留言。多亏他没留,过了几天我一想,通过代理上去有个P用,IP都变了。

    于是又发邮件给akismet,问他们为什么要根据IP来杀,还有尽量不要误杀,即便有少量的不能抓住。回复说,由于一个IP经常在某段时间用来发送无数的spam comment,他们必须根据IP判断。spammer为了逃避也会经常换IP,这里就解封原来的IP了。嗯,pulq留言已经正常了:smile:。

    Akismet并不是“宁可误杀一千,决不放过一个”,他说误杀的情况很少。不过我已经遇见好几个了,现在每次清空的时候都比较谨慎地浏览一下。该死的垃圾留言现在是越来越长,有的甚至像一篇长长的论文,也够占地方的。

  • The Book of Mozilla, 7:15

    在Firefox的地址栏输入“about:mozilla”就会出来这样一个页面:

    And so at last the beast fell and the unbelievers rejoiced.
    But all was not lost, for from the ash rose a great bird.
    The bird gazed down upon the unbelievers and cast fire
    and thunder upon them. For the beast had been
    reborn with its strength renewed, and the
    followers of Mammon cowered in horror.

    from The Book of Mozilla, 7:15

    2003年7月15日,AOL关闭了它的Netscape部门,Mozilla组织成立。The beast指Mozilla(Netscape)那个怪兽标志,暗指Netscape。Unbelievers,很多人认为AOL并不重视Netscape浏览器,不会把它做好。有了这两点,为什么rejoice,为什么reborn with its strength renewed就容易理解了。财主很可能指的就是M$。

    在IE地址栏里输入“about:mozilla”,看到了什么?Windows经典的死机画面。

    The Book of Mozilla并不是一本真正的书。94年和98年,Netscape分别发布程序和源代码,这两个事件在The Book of Mozilla中也有对应。通过wiki上的这一页,可以了解Mozilla的一些历史。

  • Google Reader Notifier

    前面写过一篇关于Google Reader Toolkit的,不久我推荐itsokbaby用Google Reader的时候他就提醒我有一个新的Firefox插件实现同样的功能的。我看了一下果然这个是专业的,比那个Toolkit要好得多,也不存在跟Gmail Manager的冲突问题。它需要你输入用户名、密码,这样就不用先在网页上登录并保存登录信息了。

    主页是:http://markdbd.com/proyectos/google_reader_notifier/