将puts()的解释/渲染输出解释为HTML

时间:2011-06-08 22:20:03

标签: html ruby notepad++ render

当我运行我的ruby脚本时,我希望输出呈现为HTML ,最好是使用浏览器(例如Chrome)。但是,如果我不需要启动网络服务,我非常喜欢,因为我制作网站。我已经尝试了sinatra,问题是,我每次更改代码时都必须重新启动服务器,还有我的功能请求(如GET / POST参数)真的需要。

我只是喜欢我的Ruby程序的输出显示为HTML而不是控制台文本 - 因为html允许更具创意/表现力的输出。有这么好/简单/有效的方法吗? (我正在使用notepad ++来编辑我的代码,所以如果可以将上面的内容与它结合起来,那就太棒了。)

非常感谢:)

1 个答案:

答案 0 :(得分:1)

使用gem shotgun,您可以运行Sinatra应用程序,自动重新加载更改,而无需重新启动服务器。

或者,使用具有HTML格式的awesome_print库,您可以编写一个获取输出并将其保存到文件的函数。然后在Chrome中打开该文件。

如果您不想在Chrome中手动刷新页面,可以查看将监控的guard-livereload(https://github.com/guard/guard-livereload)使用guard gem的给定文件并重新加载Chrome。 Ryan Bates在这里有一个关于守卫的截图,http://railscasts.com/episodes/264-guard

这是一个覆盖Kernel#puts的函数,用于将字符串打印到STDOUT,并将其HTML格式的版本写入output.html。

require 'awesome_print'

module Kernel
    alias :old_puts :puts
    def puts(string)
        old_puts string
        File.open("output.html", "w") do |file|
            file.puts string.ai(:html => true)
        end
    end
end

puts "test"