文章标签 ‘开发’
一直在非常缓慢的学习RubyOnRails。工欲善其事,必先利其器。程序员的利器之一就是编辑器。所有接触过Rails的人,都会对一个叫做TextMate的编辑器记忆深刻。但是我不是Mac用户,而TextMate又坚持不出Linux和Windows版本。想花钱用都没有机会。(当然,除非先花钱买个MacBook)这就坚定了我继续使用我自己的利器--Vim的决心。
在Ubuntu里面配置Vim非常简单。apt-get吧。然后gem install vim-ruby吧。这样你的Vim就有了最新的对于Ruby的支持。这还不够,因为我要开发Rails应用。要让Vim懂Rails。有个非常帅的Vim插件,rails.vim。它可以让人不离开Vim把Rails的一切都搞定。比如,script/generate model xxx,只需要在Vim里面:Rgenerate model xxx。还可以帮助非常快速的在Rails项目中切换文件。功能很强大,具体看这里吧。
不过,我使用的Rails是2.1+版本,这个rails.vim有一点问题。在:Rgenerate migration xxx的时候,总是打开一个空文件,而不是自动生成的migration文件。经过研究,发现原来是Rails2.1+后,每个migration文件的前缀由原来的序号变成了一个UTC的时间字符串。而rails.vim的策略是先-p执行一下命令,然后分析生成的文件名,再真正执行命令,最后打开文件。这个逻辑对于其他的命令都OK,只有migration不行。就是因为它的命名规则中加入了UTC时间字符串。导致了第一次-p执行和第二次真正执行之间文件名不同(因为时间还是稍微有差别的,比如1秒)。
知道了问题,就可以轻松把它修正。这就是源代码的力量。
在rails.vim中搜索这句话:
1
edit `=RailsRoot().’/’.file`
替换为:
1
2
3
4
5
6
7
if target == "migration"
let suffix = strpart(file, stridx(file, "_"))
let filename = system(’ls ‘.RailsRoot().’/db/migrate/*’.suffix)
edit `=filename`
else
edit `=RailsRoot().’/’.file`
endif
看到很多Blog的评论部分有头像的功能,就像把自己的也加上。大概查了一下,发现Wordpress和Gravatar已经集成了。也就是说,Wordpress已经默认支持Gravatar的头像了。如果没听说过Gravatar,那就去自己看看吧。
真正需要写的代码很少,因为Wordpress已经为我们提供了一个函数:get_avatar()。用这个函数可以轻松的在任何地方插入头像。
1
2
get_avatar($comment, $size=’96′, $default=’the default image link’); // 这个是函数原型。
echo get_avatar($comment); // 在需要的地方把这个函数的返回值echo出来。
$comment是必须的参数,在大多数评论的模板上可以直接写get_avatar($comment)。(当然,前提是你的评论的主循环的变量是$comment,一般都是这样的,除非那个模板作者是个另类。)如果需要改变默认的头像大小,可以修改参数$size,例如$size=’64′。最后一个可选参数是如果评论作者没有头像,使用此图片作为头像。








