本篇是在 开发笔记:rails分页和acts_as_taggable插件的应用 一文的后半部分基础上再整理的。内容上是连贯的。
在 Rails开发中,会用到很多有帮助的插件,A taxonomy of Rails plugins【中文翻译】 里讲到了如何制作插件,并引用了acts_as_taggable的例子进行讲解。
Top 11 Rails Plugins 里面更是讲了很多有帮助的插件。不过我更想细看一下mephisto-0.7.3里面的插件。
MephistoBlog用了哪些插件
看图:


说话:
vender中:
BlueCloth:BlueCloth是一个Markdown的Ruby实现,一个提供给网页文字撰写者将文本转成HTML的工具。Markdown令你可以写出容易阅读、容易撰写的文本格式,然后将它转换成结构化的XHTML(或者HTML)。
RedCloth:RedCloth是一个令你可以在Ruby中使用Textile的模块。Textile是一个文本格式,一个非常简单的文本格式。可以将一个可读的文本转成HTML。
RubyPants:是Ruby实现的“smart-quotes library SmartyPants”。RubyPants使用不同的APIs,它兼容上面两个的APIs,将ASCII的标点转换成 “smart” typographic punctuation HTML entities。参考:RubyPants
RubyZip:rubyzip是一个ruby读写zip文件的类库。RDOC
TZInfo:TZInfo是一个标准tz数据库提供不同时区的daylight savings的Ruby类库。
plugins中:
a_gems:小巧的Ruby Gem管理工具,它在启动时会自动的将gem/lib的路径加载到$LOAD_PATH 中。
它不用介绍,就几行代码。
standard_dirs = ['rails', 'plugins']
gems = Dir[File.join(RAILS_ROOT, "vendor/**")]
if gems.any?
gems.each do |dir|
next if standard_dirs.include?(File.basename(dir))
lib = File.join(dir, 'lib')
$LOAD_PATH.unshift(lib) if File.directory?(lib)
end
end
acts_as_attachment:保存附件文件到数据库或文件系统的插件。
acts_as_paranoid:重写当前model的一些基础方法。当执行destroy时,设置deleted_at为当前时间。里克:意思是说它并不真正删除数据,只是加上了一个删除日期,证明该记录被删除了。它可以使你重新看到已删除的记录。对数据要求高的应用很有帮助。
acts_as_versioned:对一个ActiveRecord module 进行简单的版本标注。可实现值的回滚操作。因为它为每一个create出来的记录都做了版本记录。
dialog_helper:一个简单的脚本,对浏览器的弹出窗口进行“装修”。
filtered_column:README里啥也没写!!看文件里面,是在做格式化文本,可能是在对BlueCloth和RedCloth的一个功能进行改进。代码很多,有用过的朋友请留言。
filtered_column_code_macro:增强ruby代码的高亮显示,使用了CodeRay库,Ruby写的做语法高亮显示的库。
filtered_column_flickr_macro:flickr转换,文本编辑的加强功能。(Author::Scott Raymond)
labeled_form_helper:为表单元素增加label标签。readme里有示例。
Liquid:一个模板引擎。特点:可以编辑应用的外观,而且不会被执行危险代码。直接从数据库渲染模板。里克:看上去有点像django的模板语言。
mephisto_converters:博客搬家程序,将Textpattern,Typo和WordPress转换成mephistoblog。
mocha:Rails的一个测试套件,可以模拟和替换代码中的方法和实例,比如,你可以替换掉ActiveRecord重的实例方法,而避免在单元测试的环节操作数据库。毕竟操作数据库还是慢一些的。
simply_bdd:可以在创建测试用例的时候使用上下文和代码块。
simply_helpful:新增的一些helper。加强功能。 Simply Helpful Rails Plugin里介绍的比较详细,不过一些功能已经放到2.0里面了,对于老版本,尤其是博客里提到的1.2.2的应用,可以考虑安装的。
white_list:一个html安全增强工具,可以过滤掉一些hack代码,是html更安全。
er…
到这里,mephisto blog的第三方代码和插件都写完了。
广告一下:狂喜欢的 Football Manager 2008 已经发了。狂好玩。我的曼城还在煎熬中,不过上个赛季最后一场比赛,客场对阿森纳,竟然无比顽强的2:1获胜。挤掉了曼联排名第四。哇哈哈哈!

参考资料:
MephistoBlog
Ruby Lib中文站
ASCII
用mocha测试rails,mock HTTPResponse

发表留言